aboutsummaryrefslogtreecommitdiff
path: root/config/sway/config.org
diff options
context:
space:
mode:
Diffstat (limited to 'config/sway/config.org')
-rw-r--r--config/sway/config.org269
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