diff options
Diffstat (limited to 'dotfiles/system/.config')
| -rw-r--r-- | dotfiles/system/.config/sway/config | 306 |
1 files changed, 163 insertions, 143 deletions
diff --git a/dotfiles/system/.config/sway/config b/dotfiles/system/.config/sway/config index f23db98..bbd8785 100644 --- a/dotfiles/system/.config/sway/config +++ b/dotfiles/system/.config/sway/config @@ -2,14 +2,14 @@ # Craig Jennings <c@cjennings.net> input * xkb_rules evdev - + ### Variables set $mod Mod4 -set $term foot -set $menu fuzzel -set $browser chrome -set $altbrowser firefox +set $term foot +set $menu fuzzel +set $browser chrome +set $altbrowser firefox # vim keybindings set $left h @@ -17,10 +17,10 @@ set $down j set $up k set $right l -# default layout (monocle) +# default layout (monocle) workspace_layout stacking -focus_follows_mouse no +focus_follows_mouse no ### Output configuration output * bg /home/cjennings/pictures/wallpaper/it.saves.more.than.text.png fill @@ -36,9 +36,9 @@ output eDP-1 scale 1.8 # Example configuration: # # exec swayidle -w \ -# timeout 300 'swaylock -f -c 000000' \ -# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ -# before-sleep 'swaylock -f -c 000000' + # timeout 300 'swaylock -f -c 000000' \ + # timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + # before-sleep 'swaylock -f -c 000000' # # This will lock your screen after 300 seconds of inactivity, then turn off # your displays after another 300 seconds, and turn your screens back on when @@ -47,150 +47,169 @@ output eDP-1 scale 1.8 ### Input configuration input 2362:628:PIXA3854:06_093A:0274_TouchPad { - events disabled_on_external_mouse - clickfinger_button_map lrm - tap disabled - tap_button_map lrm - drag disabled - natural_scroll disabled - scroll_method two_finger - dwt enabled + events disabled_on_external_mouse + clickfinger_button_map lrm + tap disabled + tap_button_map lrm + drag disabled + natural_scroll disabled + scroll_method two_finger + dwt enabled } input type:mouse { - events enabled - natural_scroll disabled - dwt enabled + events enabled + natural_scroll disabled + dwt enabled } input "type:keyboard" { - # replace caps lock with escape - xkb_options caps:escape -} + # replace caps lock with escape + xkb_options caps:escape +} ### Key bindings # # Basics: # - #### - #### Application Bindings - #### - bindsym $mod+Shift+w exec $altbrowser - bindsym $mod+a exec pavucontrol - bindsym $mod+b exec calibre - bindsym $mod+e exec emacsclient -c -a "" - bindsym $mod+f exec thunar - bindsym $mod+w exec $browser - bindsym $mod+Shift+Return exec $term - - # Kill focused window - bindsym $mod+Shift+c kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+r reload - - # Exit sway (logs you out of your Wayland session) - # bindsym $mod+Shift+q exec swaynag -t warning -m 'Exit?' -B 'Yes' 'swaymsg exit' - bindsym $mod+Shift+q exec sway exit +#### +#### Application Bindings +#### + +bindsym $mod+a exec foot --title=mixertui mixertui +for_window [title="mixertui"] { + floating enable + resize set 600 400, + move position center + border normal +} + +bindsym $mod+Shift+Return exec foot --title=terminal tmux +for_window [title="terminal"] { + floating enable + resize set 800 600, + move position center + border normal +} + + + +bindsym $mod+w exec $browser +bindsym $mod+Shift+w exec $altbrowser +bindsym $mod+b exec calibre +bindsym $mod+e exec emacsclient -c -a "" +bindsym $mod+f exec thunar + +# Kill focused window +bindsym $mod+Shift+c kill + +# Start your launcher +bindsym $mod+d exec $menu + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+r reload + +# Exit sway (logs you out of your Wayland session) +# bindsym $mod+Shift+q exec swaynag -t warning -m 'Exit?' -B 'Yes' 'swaymsg exit' +bindsym $mod+Shift+q exec sway exit # # Moving around: # - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|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 with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - 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 your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|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 with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right # # Workspaces: # - # Switch to workspace - 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 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. +# Switch to workspace +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 +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. # # Layout stuff: # - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+Shift+b splith - bindsym $mod++Shift+v splitv +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+Shift+b splith +bindsym $mod++Shift+v splitv + +# Switch the current container between different layout styles +bindsym $mod+Shift+m layout stacking # (monacle-view) +bindsym $mod+Shift+t layout toggle split +# bindsym $mod+Shift+i layout toggle split - # Switch the current container between different layout styles - bindsym $mod+Shift+m layout stacking # (monacle-view) - bindsym $mod+Shift+t layout toggle split - # bindsym $mod+Shift+i layout toggle split +# Make the current focus fullscreen +bindsym $mod+Shift+f fullscreen - # Make the current focus fullscreen - bindsym $mod+Shift+f fullscreen +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+Shift+a focus parent - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - # Move focus to the parent container - bindsym $mod+Shift+a focus parent # # Scratchpad: # - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show # # Resizing containers: # @@ -220,38 +239,38 @@ bindsym $mod+r mode "resize" # Utilities: # - # Brightness Controls - bindsym XF86MonBrightnessUp exec backlight incr 5 - bindsym XF86MonBrightnessDown exec backlight decr 5 - - # Audio Controls - bindsym XF86AudioMute exec mixer vol.mute=^ - bindsym XF86AudioLowerVolume exec mixer vol=-0.1 - bindsym XF86AudioRaiseVolume exec mixer vol=+0.1 +# Brightness Controls +bindsym XF86MonBrightnessUp exec backlight incr 5 +bindsym XF86MonBrightnessDown exec backlight decr 5 + +# Audio Controls +bindsym XF86AudioMute exec mixer vol.mute=^ +bindsym XF86AudioLowerVolume exec mixer vol=-0.1 +bindsym XF86AudioRaiseVolume exec mixer vol=+0.1 - # # Special key to take a screenshot with grim - bindsym Print exec grim +# # Special key to take a screenshot with grim +bindsym Print exec grim -# Disable display when lid is closed (and vice versa) +# Disable display when lid is closed (and vice versa) set $disp_laptop "eDP-1" -bindswitch --reload --locked lid:on output $disp_laptop disable +bindswitch --reload --locked lid:on output $disp_laptop disable bindswitch --reload --locked lid:off output $disp_laptop enable # -# Window Title Bar -# +# Window Title Bar +# - # don't display titlebar unless > 1 window in monocle mode - default_border none - hide_edge_borders --i3 smart - smart_borders smart - titlebar_border_thickness 0 +# don't display titlebar unless > 1 window in monocle mode +default_border none +hide_edge_borders --i3 smart +smart_borders smart +titlebar_border_thickness 0 # # Swaybar Contents -# +# bar { swaybar_command swaybar @@ -266,4 +285,5 @@ bar { } } + include /usr/local/etc/sway/config.d/* |
