aboutsummaryrefslogtreecommitdiffstats
path: root/sway/conf.d
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2024-12-25 14:26:51 +0000
committerLeonardo Bishop <me@leonardobishop.com>2024-12-25 14:26:51 +0000
commitdc41873a79b32ed3d34dd7dac09c081f7472d207 (patch)
treeba3c80c8d137263a8f346cf32853d15f75094fab /sway/conf.d
parentf4c682dc6bdeebe9f0c6a20deb7092cf893791a1 (diff)
Change most things to symlinks instead of hardlinks
Diffstat (limited to 'sway/conf.d')
-rw-r--r--sway/conf.d/00-theme-vars.conf15
-rw-r--r--sway/conf.d/01-system-vars.conf12
-rw-r--r--sway/conf.d/10-environment.conf5
-rw-r--r--sway/conf.d/20-binds.conf154
-rw-r--r--sway/conf.d/21-rules.conf25
-rw-r--r--sway/conf.d/22-theme.conf19
6 files changed, 230 insertions, 0 deletions
diff --git a/sway/conf.d/00-theme-vars.conf b/sway/conf.d/00-theme-vars.conf
new file mode 100644
index 0000000..c8139fa
--- /dev/null
+++ b/sway/conf.d/00-theme-vars.conf
@@ -0,0 +1,15 @@
+set $mod Mod4
+set $left h
+set $down j
+set $up k
+set $right l
+set $term kitty
+set $menu wofi
+
+# Colours
+set $cl_high #434e59
+set $cl_indi #d9d8d8
+set $cl_back #22282e
+set $cl_fore #ffffff
+set $cl_urge #eb4d4b
+
diff --git a/sway/conf.d/01-system-vars.conf b/sway/conf.d/01-system-vars.conf
new file mode 100644
index 0000000..f93a6ac
--- /dev/null
+++ b/sway/conf.d/01-system-vars.conf
@@ -0,0 +1,12 @@
+set $screenshot_area /usr/bin/grimshot --notify save area - | swappy -f -
+set $screenshot_area_clipboard /usr/bin/grimshot --notify copy area
+set $screenshot_screen /usr/bin/grimshot --notify save screen - | swappy -f -
+set $screenshot_screen_clipboard /usr/bin/grimshot --notify copy screen
+
+set $sink_volume pactl get-sink-volume @DEFAULT_SINK@ | grep '^Volume:' | cut -d / -f 2 | tr -d ' ' | sed 's/%//'
+set $sink_volume_mute pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p"
+
+# Brightness
+set $brightness brightnessctl | grep 'Current brightness:' | cut -d "(" -f 2 | cut -d "%" -f 1
+
+set $wob_socket $XDG_RUNTIME_DIR/wob.sock
diff --git a/sway/conf.d/10-environment.conf b/sway/conf.d/10-environment.conf
new file mode 100644
index 0000000..3c97e57
--- /dev/null
+++ b/sway/conf.d/10-environment.conf
@@ -0,0 +1,5 @@
+exec "systemctl --user import-environment {,WAYLAND_}DISPLAY SWAYSOCK; systemctl --user start sway-session.target"
+exec swaymsg -t subscribe '["shutdown"]' && systemctl --user stop sway-session.target
+
+exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
+#exec --no-startup-id /usr/lib/polkit-kde-authentication-agent-1
diff --git a/sway/conf.d/20-binds.conf b/sway/conf.d/20-binds.conf
new file mode 100644
index 0000000..02f032e
--- /dev/null
+++ b/sway/conf.d/20-binds.conf
@@ -0,0 +1,154 @@
+bindsym $mod+Return exec $term
+bindsym $mod+Shift+Return exec $term --class="termfloat"
+bindsym $mod+d exec pgrep -x wofi >/dev/null 2>&1 && killall wofi || $menu
+bindsym $mod+Shift+c reload
+bindsym $mod+Shift+e exec ~/bin/exit-menu-sway.sh
+
+# Politely quit
+bindsym $mod+q kill
+# Rudely kill
+bindsym $mod+Shift+q exec swaymsg -t get_tree | \
+ jq '.. | select(.type?) | select(.focused==true).pid' | \
+ xargs -L 1 kill -9
+
+floating_modifier $mod normal
+
+# Move around
+bindsym $mod+$left focus left
+bindsym $mod+$down focus down
+bindsym $mod+$up focus up
+bindsym $mod+$right focus right
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# Move the focused window
+bindsym $mod+Shift+$left move left
+bindsym $mod+Shift+$down move down
+bindsym $mod+Shift+$up move up
+bindsym $mod+Shift+$right move right
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# Move to workspaces
+bindsym $mod+1 workspace number 1
+bindsym $mod+2 workspace number 2
+bindsym $mod+3 workspace number 3
+bindsym $mod+4 workspace number 4
+bindsym $mod+5 workspace number 5
+bindsym $mod+6 workspace number 6
+bindsym $mod+7 workspace number 7
+bindsym $mod+8 workspace number 8
+bindsym $mod+9 workspace number 9
+bindsym $mod+0 workspace number 10
+
+# Move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+
+# Move workspaces
+bindsym $mod+Control+Right move workspace to output right
+bindsym $mod+Control+Left move workspace to output left
+bindsym $mod+Control+Down move workspace to output down
+bindsym $mod+Control+Up move workspace to output up
+bindsym $mod+Control+l move workspace to output right
+bindsym $mod+Control+h move workspace to output left
+bindsym $mod+Control+j move workspace to output down
+bindsym $mod+Control+k move workspace to output up
+
+# Layout
+bindsym $mod+b splith
+bindsym $mod+v splitv
+
+# Layout styles
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# Fullscreen
+bindsym $mod+f fullscreen
+
+# Toggle to floating windows
+bindsym $mod+space focus mode_toggle
+
+# Toggle current window as floating
+bindsym $mod+Shift+space floating toggle
+
+# Move focus to the parent container
+bindsym $mod+a focus parent
+
+# Scratchpad
+bindsym $mod+Shift+minus move scratchpad
+bindsym $mod+minus scratchpad show
+
+# Screenshot
+bindsym Print exec $screenshot_area
+bindsym Print+Alt exec $screenshot_area_clipboard
+bindsym Print+Shift exec $screenshot_screen
+bindsym Print+Shift+Alt exec $screenshot_screen_clipboard
+
+# Audio
+# bindsym $mod+bracketleft exec pactl set-sink-volume @DEFAULT_SINK@ -5%
+# bindsym $mod+bracketright exec pactl set-sink-volume @DEFAULT_SINK@ +5%
+bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $sink_volume_mute > $wob_socket
+bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && $sink_volume > $wob_socket
+bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume > $wob_socket
+
+# Playback
+# bindsym XF86AudioPrev exec playerctl --player=spotify,%any previous
+# bindsym XF86AudioNext exec playerctl --player=spotify,%any next
+# bindsym XF86AudioPlay exec playerctl --player=spotify,%any play-pause
+# gross workaround
+bindsym XF86AudioPrev exec notify-send "$(playerctl --player=spotify,%any previous)"
+bindsym XF86AudioNext exec notify-send "$(playerctl --player=spotify,%any next)"
+bindsym XF86AudioPlay exec notify-send "$(playerctl --player=spotify,%any play-pause)"
+
+# Brightness
+bindsym XF86MonBrightnessDown exec brightnessctl set 5- && $brightness > $wob_socket
+bindsym XF86MonBrightnessUp exec brightnessctl set +5 && $brightness > $wob_socket
+
+mode "resize" {
+ bindsym $left resize shrink width 10px
+ bindsym $down resize grow height 10px
+ bindsym $up resize shrink height 10px
+ bindsym $right resize grow width 10px
+
+ bindsym Left resize shrink width 10px
+ bindsym Down resize grow height 10px
+ bindsym Up resize shrink height 10px
+ bindsym Right resize grow width 10px
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+bindsym $mod+r mode "resize"
+
+mode "present" {
+ # command starts mirroring
+ bindsym m mode "default"; exec wl-present mirror
+ # these commands modify an already running mirroring window
+ bindsym o mode "default"; exec wl-present set-output
+ bindsym r mode "default"; exec wl-present set-region
+ bindsym Shift+r mode "default"; exec wl-present unset-region
+ bindsym s mode "default"; exec wl-present set-scaling
+ bindsym f mode "default"; exec wl-present toggle-freeze
+ bindsym c mode "default"; exec wl-present custom
+
+ # return to default mode
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+p mode "present"
+
diff --git a/sway/conf.d/21-rules.conf b/sway/conf.d/21-rules.conf
new file mode 100644
index 0000000..93feec7
--- /dev/null
+++ b/sway/conf.d/21-rules.conf
@@ -0,0 +1,25 @@
+for_window [app_id="termfloat"] floating enable
+for_window [app_id="termfloat"] resize set height 500
+for_window [app_id="termfloat"] resize set width 900
+
+for_window [window_role="pop-up"] floating enable
+for_window [window_role="Pop-up"] floating enable
+for_window [window_role="bubble"] floating enable
+for_window [window_role="Bubble"] floating enable
+for_window [window_role="dialog"] floating enable
+for_window [window_role="Dialog"] floating enable
+for_window [window_type="dialog"] floating enable
+for_window [window_type="Dialog"] floating enable
+for_window [class="dialog"] floating enable
+for_window [class="Dialog"] floating enable
+for_window [window_role="task_dialog"] floating enable
+for_window [window_type="menu"] floating enable
+for_window [window_role="About"] floating enable
+
+for_window [app_id="(?i)Thunderbird" title=".*Reminder"] floating enable
+
+for_window [app_id="Zoom Workplace" title="^zoom$"] border none, floating enable
+for_window [app_id="Zoom Workplace" title="^(Zoom|About)$"] border pixel, floating enable
+
+for_window [app_id=".*"] border normal
+for_window [app_id="^chrome-.*-.*$"] shortcuts_inhibitor disable
diff --git a/sway/conf.d/22-theme.conf b/sway/conf.d/22-theme.conf
new file mode 100644
index 0000000..ec55641
--- /dev/null
+++ b/sway/conf.d/22-theme.conf
@@ -0,0 +1,19 @@
+font pango:Iosevka SS08 10
+
+titlebar_padding 4
+
+gaps inner 0
+
+client.focused $cl_high $cl_high $cl_fore $cl_indi $cl_high
+client.focused_tab_title $cl_high $cl_high $cl_fore $cl_indi $cl_high
+client.focused_inactive $cl_back $cl_back $cl_fore $cl_back $cl_back
+client.unfocused $cl_back $cl_back $cl_fore $cl_back $cl_back
+client.urgent $cl_urge $cl_urge $cl_fore $cl_urge $cl_urge
+
+output * background ~/.config/sway/wallpaper.jpg fill
+
+default_border normal 3
+
+hide_edge_borders smart
+
+default_floating_border normal 3