diff options
author | Jacob Janzen <jjanzenn@proton.me> | 2024-08-07 14:58:48 -0500 |
---|---|---|
committer | Jacob Janzen <jjanzenn@proton.me> | 2024-08-07 14:58:48 -0500 |
commit | 341c3be75228dbd23fd05208d148acecf950d573 (patch) | |
tree | ecac1a33408f61c9816c56f97a2b617ab425c68e /config/sway/config.org |
initial commit
Diffstat (limited to 'config/sway/config.org')
-rw-r--r-- | config/sway/config.org | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/config/sway/config.org b/config/sway/config.org new file mode 100644 index 0000000..b4923e6 --- /dev/null +++ b/config/sway/config.org @@ -0,0 +1,269 @@ +#+title: Sway Configuration +* Variables +Use =super= as modifier key. +#+begin_src conf :tangle config + set $mod Mod4 +#+end_src + +Use =vi= motions as directional inputs. +#+begin_src conf :tangle config + set $left h + set $down j + set $up k + set $right l +#+end_src + +Use =foot= as default terminal. +#+begin_src conf :tangle config + set $term foot +#+end_src + +Use =wofi= as app launcher. +#+begin_src conf :tangle config + set $menu wofi --show drun --allow-images +#+end_src + +* Startup Application +Use =dbus= environment. +#+begin_src conf :tangle config + exec --no-startup-id dbus-update-activation-environment --all +#+end_src + +Use =mako= as notification daemon. +#+begin_src conf :tangle config + exec mako +#+end_src + +Launch PipeWire without =systemd=. +#+begin_src conf :tangle config + exec gentoo-pipewire-launcher & +#+end_src + +Launch =blueman-applet= as Bluetooth daemon. +#+begin_src conf :tangle config + exec blueman-applet +#+end_src + +Launch music player daemon. +#+begin_src conf :tangle config + exec mpd +#+end_src + +Launch =mpdscribble= as scrobbler daemon. +#+begin_src conf :tangle config + exec mpdscribble +#+end_src + +* Display +I use a vertical monitor on the left and horizontal monitor on the right. +#+begin_src conf :tangle config + output HDMI-A-1 resolution 1920x1080 position 1080 140 + output HDMI-A-2 resolution 1920x1080 transform 90 position 0 0 +#+end_src + +Use the file at =~/.wallpaper= as my wallpaper. +#+begin_src conf :tangle config + output * bg ~/.wallpaper fill +#+end_src + +Remove borders from windows. +#+begin_src conf :tangle config + default_border none + default_floating_border none + font pango:monospace 1 +#+end_src + +Use 10 pixel gaps. +#+begin_src conf :tangle config + gaps inner 10 +#+end_src + +Use =waybar= as a top bar. +#+begin_src conf :tangle config + bar { + position top + + status_command waybar + mode invisible + } +#+end_src + +* Input +Use pointer acceleration. +#+begin_src conf :tangle config + input * { + accel_profile "adaptive" + pointer_accel -.5 + } +#+end_src + +* Controls +Add ability to lock the screen with =swaylock=. Turn off the screen after 15 seconds on lock screen. +#+begin_src conf :tangle config + bindsym $mod+Control+l exec swaylock --ignore-empty-password --show-failed-attempts --image ~/.wallpaper + exec swayidle -w timeout 15 'if pgrep -x swaylock; then swaymsg "output * power off"; fi' resume 'swaymsg "output * power on"' +#+end_src + +Add keybinding to open a terminal emulator. +#+begin_src conf :tangle config + bindsym $mod+Return exec $term +#+end_src + +Add keybinding for killing a window. +#+begin_src conf :tangle config + bindsym $mod+Shift+q kill +#+end_src + +Add keybinding for opening an app launcher. +#+begin_src conf :tangle config + bindsym $mod+d exec $menu +#+end_src + +Holding the modifier key allows moving a window. +#+begin_src conf :tangle config + floating_modifier $mod normal +#+end_src + +Add keybinding for reloading the configuration. +#+begin_src conf :tangle config + bindsym $mod+Shift+c reload +#+end_src + +Add keybinding to launch logout/power off/restart [[file:powerprompt.org][prompt]] which also activates with the power key. +#+begin_src conf :tangle config + bindsym $mod+Shift+e exec bash ~/.config/sway/powerprompt + bindsym XF86PowerOff exec bash ~/.config/sway/powerprompt +#+end_src + +Change focus keybindings. +#+begin_src conf :tangle config + 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 +#+end_src + +Move window keybindings. +#+begin_src conf :tangle config + 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 +#+end_src + +Change workspace keybindings. +#+begin_src conf :tangle config + 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 +#+end_src + +Move window to workspace keybindings. +#+begin_src conf :tangle config + 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 +#+end_src + +Set split direction keybindings. +#+begin_src conf :tangle config + bindsym $mod+v splith + bindsym $mod+s splitv +#+end_src + +Toggle layout keybindings. +#+begin_src conf :tangle config + bindsym $mod+e layout toggle split +#+end_src + +Define full screen keybinding. +#+begin_src conf :tangle config + bindsym $mod+f fullscreen +#+end_src + +Define toggle floating keybinding. +#+begin_src conf :tangle config + bindsym $mod+Shift+space floating toggle +#+end_src + +Move focus between floating and tiled layer keybinding. +#+begin_src conf :tangle config + bindsym $mod+space focus mode_toggle +#+end_src + +Focus on the parent window keybinding. +#+begin_src conf :tangle config + bindsym $mod+a focus parent +#+end_src + +Keybindings to move a window to the scratchpad and back from it. +#+begin_src conf :tangle config + bindsym $mod+Shift+minus move scratchpad + bindsym $mod+minus scratchpad show +#+end_src + +Add resize keybindings. +#+begin_src conf :tangle config + 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 "resize" +#+end_src + +Add screenshot keybinding. +#+begin_src conf :tangle config + bindsym $mod+Shift+s exec grim -g "$(slurp)" - | wl-copy +#+end_src + +Add volume keybindings. +#+begin_src conf :tangle config + bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ + bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- + bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +#+end_src + +Add pause keybinding. +#+begin_src conf :tangle config + bindsym XF86Eject exec mpc toggle +#+end_src + +* Extras +Load extra configuration. +#+begin_src conf :tangle config + include /etc/sway/config.d/* +#+end_src |