diff --git a/dot_config/sway/config b/dot_config/sway/config index d3ca2fa..b58c62a 100644 --- a/dot_config/sway/config +++ b/dot_config/sway/config @@ -112,140 +112,15 @@ input "1267:12590:ELAN0755:00_04F3:312E_Touchpad" { # Disallow endless looping of focus: extreme right is extreme right, don't flip to extreme left whenever you want... focus_wrapping no -### Key bindings -# Start a terminal -bindsym $mod+Return exec $term +# include all the keybindings +include $HOME/.config/sway/keybinding.conf -# Kill focused window -bindsym $mod+Shift+q kill - -# Launchers -bindsym $mod+d exec ~/.config/rofi/runrofi.sh -bindsym $mod+Shift+d exec "albert show" -bindsym $mod+c exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' - -# Screenshot -bindsym --release Print exec ~/.config/i3/screenshot.sh - -# Custom 'help' screen -bindsym $mod+F1 exec $term -e chezmoi edit ~/.dotfiles/README.md - -# 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+c reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg 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 workspace to left and right monitors -bindsym $mod+Shift+bracketleft move workspace to output left -bindsym $mod+Shift+bracketright move workspace to output right - -############# -# WORKSPACES -############# -# Special workspaces names -set $ws11 "" -set $ws12 "" -# 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 -bindsym $mod+comma workspace $ws11 -bindsym $mod+period workspace $ws12 -# 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 -bindsym $mod+Shift+comma move container to workspace $ws11 -bindsym $mod+Shift+period move container to workspace $ws12 ########## # PROGRAMS ########## assign [class="Thunderbird"] $ws2 -############### -# 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+b splith -bindsym $mod+v splitv -# Switch the current container between different layout styles -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split -# Make the current focus fullscreen -bindsym $mod+f fullscreen -# 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+a focus parent -# focus the child container -bindsym $mod+z focus child -# Dunst controls -# TODO moved these over to mako -#bindsym $mod+Ctrl+space exec dunstctl close -#bindsym $mod+Ctrl+Shift+space exec dunstctl close-all -#bindsym $mod+Ctrl+$mod1+space exec dunstctl history-pop - -############# -# SCRATCHPAD -############# -# 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+BackSpace 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+BackSpace scratchpad show ###################### # MODES @@ -368,4 +243,5 @@ exec --no-startup-id greenclip daemon>/dev/null # SOURCE OTHER FILES #################### # pretty important, loads specific fixes, e.g., https://www.reddit.com/r/swaywm/comments/n13tro/problem_with_dbus_auto_activation_in_archsway/ +# managed directoryw include /etc/sway/config.d/* diff --git a/dot_config/sway/keybinding.conf b/dot_config/sway/keybinding.conf new file mode 100644 index 0000000..908dfbf --- /dev/null +++ b/dot_config/sway/keybinding.conf @@ -0,0 +1,129 @@ +### Key bindings +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Launchers +bindsym $mod+d exec ~/.config/rofi/runrofi.sh +#bindsym $mod+Shift+d exec "albert show" +bindsym $mod+c exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' + +# Screenshot +bindsym --release Print exec ~/.config/i3/screenshot.sh + +# Custom 'help' screen +bindsym $mod+F1 exec $term -e chezmoi edit ~/.dotfiles/README.md + +# 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+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg 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 workspace to left and right monitors +bindsym $mod+Shift+bracketleft move workspace to output left +bindsym $mod+Shift+bracketright move workspace to output right + +############# +# WORKSPACES +############# +# Special workspaces names +set $ws11 "" +set $ws12 "" +# 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 +bindsym $mod+comma workspace $ws11 +bindsym $mod+period workspace $ws12 +# 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 +bindsym $mod+Shift+comma move container to workspace $ws11 +bindsym $mod+Shift+period move container to workspace $ws12 + +############### +# 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+b splith +bindsym $mod+v splitv +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split +# Make the current focus fullscreen +bindsym $mod+f fullscreen +# 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+a focus parent +# focus the child container +bindsym $mod+z focus child +# Dunst controls +# TODO moved these over to mako +#bindsym $mod+Ctrl+space exec dunstctl close +#bindsym $mod+Ctrl+Shift+space exec dunstctl close-all +#bindsym $mod+Ctrl+$mod1+space exec dunstctl history-pop + +############# +# SCRATCHPAD +############# +# 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+BackSpace 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+BackSpace scratchpad show