This commit is contained in:
2025-09-27 01:01:01 +04:00
parent 959300bc41
commit 4dc5660e60
51 changed files with 2502 additions and 0 deletions

162
config/sway/modes/default Normal file
View File

@@ -0,0 +1,162 @@
### Key bindings
#
# Basics:
#
## Launch // Terminal ##
$bindsym $mod+Return exec $term
## Action // Kill focused window ##
$bindsym $mod+Shift+c kill
## Launch // Open launcher ##
$bindsym $alt_mod+space exec $menu
$bindsym $mod+F2 exec $menu
## Launch // Open clipboard ##
$bindsym $mod+Shift+p exec $clipboard
# 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
## Action // Reload Sway Configuration ##
$bindsym $mod+Shift+r reload
$bindsym $mod+F12 restart
## Action // Toggle Waybar ##
$bindsym $mod+Shift+b exec pkill -U $USER -x -SIGUSR1 waybar
# --locked flags allow the buttons to be used whilst the screen is locked.
$bindsym --locked XF86AudioRaiseVolume exec $volume_up
$bindsym --locked XF86AudioLowerVolume exec $volume_down
$bindsym --locked XF86AudioMute exec $volume_mute
$bindsym XF86AudioMicMute exec $mic_mute
$bindsym --locked XF86MonBrightnessUp exec $brightness_up
$bindsym --locked XF86MonBrightnessDown exec $brightness_down
$bindsym --locked XF86AudioPlay exec playerctl play-pause
$bindsym XF86AudioNext exec playerctl next
$bindsym XF86AudioPrev exec playerctl previous
$bindsym XF86PowerOff exec $shutdown
$bindsym XF86TouchpadToggle input type:touchpad events toggle enabled disabled
# Moving around:
#
# Move your focus around
## Navigation // Move focus // $mod + ↑ ↓ ← → ##
$bindsym $mod+$left focus left
$bindsym $mod+$down focus down
$bindsym $mod+$up focus up
$bindsym $mod+$right focus right
## Navigation // Move focused window // $mod + 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
## Navigation // Move focused workspace // $mod + Alt + ↑ ↓ ← → ##
$bindsym $mod+$alt_mod+$right move workspace to output right
$bindsym $mod+$alt_mod+$left move workspace to output left
$bindsym $mod+$alt_mod+$down move workspace to output down
$bindsym $mod+$alt_mod+$up move workspace to output up
## Navigation // List all open windows in last-recently-used order ##
$bindsym $mod+p exec env RUST_BACKTRACE=1 swayr switch-window &>> /tmp/swayr.log
## Navigation // Switch to the last recently used window ##
$bindsym $alt_mod+Tab exec env RUST_BACKTRACE=1 swayr switch-to-urgent-or-lru-window &>> /tmp/swayr.log
## Navigation // Switch to the last recently used workspace ##
$bindsym $mod+Tab workspace back_and_forth
#
# Workspaces:
#
## Navigation // Switch workspace // $mod + [number] ##
$bindsym $mod+1 workspace $ws1
$bindsym $mod+2 workspace $ws2
$bindsym $mod+3 workspace $ws3
$bindsym $mod+4 workspace $ws4
$bindsym $mod+5 workspace $ws5
$bindsym $mod+6 workspace $ws6
$bindsym $mod+7 workspace $ws7
$bindsym $mod+8 workspace $ws8
$bindsym $mod+9 workspace $ws9
$bindsym $mod+0 workspace $ws10
set $focus_ws [ "$focus_after_move" == 'true' ] && swaymsg workspace
## Action // Move focused window to workspace // $mod + Shift + [number] ##
$bindsym $mod+Shift+1 move container to workspace $ws1, exec $focus_ws $ws1
$bindsym $mod+Shift+2 move container to workspace $ws2, exec $focus_ws $ws2
$bindsym $mod+Shift+3 move container to workspace $ws3, exec $focus_ws $ws3
$bindsym $mod+Shift+4 move container to workspace $ws4, exec $focus_ws $ws4
$bindsym $mod+Shift+5 move container to workspace $ws5, exec $focus_ws $ws5
$bindsym $mod+Shift+6 move container to workspace $ws6, exec $focus_ws $ws6
$bindsym $mod+Shift+7 move container to workspace $ws7, exec $focus_ws $ws7
$bindsym $mod+Shift+8 move container to workspace $ws8, exec $focus_ws $ws8
$bindsym $mod+Shift+9 move container to workspace $ws9, exec $focus_ws $ws9
$bindsym $mod+Shift+0 move container to workspace $ws10, exec $focus_ws $ws10
#
# Layout stuff:
#
# change container layout (stacked, tabbed, toggle split)
$bindsym $mod+Shift+q layout stacking
$bindsym $mod+Shift+t layout tabbed
$bindsym $mod+Shift+w layout toggle split
# enter fullscreen mode for the focused container
$bindsym $mod+f fullscreen toggle
## Action // Toggle global fullscreen ##
$bindsym $mod+Shift+f fullscreen global
## Action // Scale up  ##
$bindsym $alt_mod+plus exec $scale_up
## Action // Scale down  ##
$bindsym $alt_mod+minus exec $scale_down
## Action // Scale default  ##
$bindsym $alt_mod+equal exec $scale_default
## Action // Toggle floating ##
$bindsym $mod+Shift+space floating toggle
$bindsym $mod+Shift+equal sticky toggle
## Navigation // Toggle focus between tiling and floating ##
# $bindsym $mod+space focus mode_toggle
## Navigation // Swap focus to the parent window ##
$bindsym $mod+a focus parent
## Launch // Toggle Help ##
$bindsym $mod+question exec $help
## Launch // Inhibit Idle ##
$bindsym $mod+Shift+i exec inhibit-idle interactive
default_border pixel 1
hide_edge_borders smart
# allow to kill focused floating shell windows using Esc
$bindsym --release Escape [app_id="floating_shell" con_id=__focused__] kill
## Launch // Task Manager ##
$bindsym Ctrl+$alt_mod+Delete exec $task_manager
## Launch // Emoji Picker ##
$bindsym $alt_mod+Shift+e exec $emoji_picker

View File

@@ -0,0 +1,19 @@
# set $mode_recording "<span foreground='$color10'></span> \
# <span foreground='$color5'><b>Record</b></span> <span foreground='$color10'>(<b>r</b>)</span> \
# <span foreground='$color5'>+ [<span foreground='$color10'><b>Shift</b></span> for 󰍮]</span>"
#
# set $recorder /usr/share/sway/scripts/recorder.sh
#
# mode --pango_markup $mode_recording {
# $bindsym r exec $recorder, mode "default"
# $bindsym Shift+r exec $recorder -a, mode "default"
#
# # Return to default mode.
# $bindsym Escape mode "default"
# }
#
## Launch // Recording Mode ##
# $bindsym $mod+Shift+r mode $mode_recording
#
## Launch // Stop Recording Mode ##
# $bindsym $mod+Escape exec killall -s SIGINT wf-recorder

25
config/sway/modes/resize Normal file
View File

@@ -0,0 +1,25 @@
set $mode_resize "<span foreground='$color10'>󰉸</span> \
<span foreground='$color5'><b>Resize</b></span> <span foreground='$color10'>(<b>↑ ↓ ← →</b>)</span> \
<span foreground='$color5'><b>Increase Gaps</b></span> <span foreground='$color10'>(<b>+</b>)</span> \
<span foreground='$color5'><b>Decrease Gaps</b></span> <span foreground='$color10'>(<b>-</b>)</span>"
mode --pango_markup $mode_resize {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
$bindsym $left resize shrink width 10px
$bindsym $down resize grow height 10px
$bindsym $up resize shrink height 10px
$bindsym $right resize grow width 10px
## Resize // Window Gaps // + - ##
$bindsym minus gaps inner current minus 5px
$bindsym plus gaps inner current plus 5px
# Return to default mode
$bindsym Return mode "default"
$bindsym Escape mode "default"
}
## Launch // Resize Mode ##
$bindsym $mod+r mode $mode_resize

View File

@@ -0,0 +1,12 @@
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
## Action // Move window to scratchpad ##
$bindsym $mod+Shift+minus move scratchpad, exec "waybar-signal scratchpad"
# If there are multiple scratchpad windows, this command cycles through them.
## Action // Toggle scratchpad ##
$bindsym $mod+space scratchpad show, exec "waybar-signal scratchpad"

View File

@@ -0,0 +1,20 @@
set $mode_screenshot "<span foreground='$color10'>󰄄</span> \
<span foreground='$color5'><b>Pick</b></span> <span foreground='$color10'>(<b>p</b>)</span> \
<span foreground='$color5'><b>Output</b></span> <span foreground='$color10'>(<b>o</b>)</span> \
<span foreground='$color7'>+ <span foreground='$color10'><b>Shift</b></span> for </span>"
mode --pango_markup $mode_screenshot {
# output = currently active output
$bindsym o mode "default", exec $screenshot_screen
$bindsym Shift+o mode "default", exec $screenshot_screen_upload
# pick the region to screenshot
$bindsym p mode "default", exec $screenshot_selection
$bindsym Shift+p mode "default", exec $screenshot_selection_upload
# Return to default mode.
$bindsym Escape mode "default"
}
## Launch // Screenshot Mode ##
$bindsym Print mode $mode_screenshot

View File

@@ -0,0 +1,30 @@
set $mode_shutdown "\
<span foreground='$color10'></span> \
<span foreground='$color5'> \
<span foreground='$color10'>(<b>l</b>)</span>lock \
<span foreground='$color10'>(<b>e</b>)</span>logout \
<span foreground='$color10'>(<b>r</b>)</span>reboot \
<span foreground='$color10'>(<b>s</b>)</span>shutdown \
</span>"
set $purge_cliphist [ $purge_cliphist_logout == 'true' ] && rm -f $HOME/.cache/cliphist/db || exit 0
mode --pango_markup $mode_shutdown {
# lock
$bindsym l mode "default", exec $locking
# logout
$bindsym e exec $purge_cliphist; exec swaymsg exit
# shutdown
$bindsym s exec $purge_cliphist; exec sudo /sbin/poweroff
# reboot
$bindsym r exec $purge_cliphist; exec sudo /sbin/reboot
# Return to default mode.
$bindsym Escape mode "default"
}
## Launch // Exit Menu ##
$bindsym $mod+Shift+e mode $mode_shutdown

15
config/sway/modes/split Normal file
View File

@@ -0,0 +1,15 @@
set $mode_split "<span foreground='$color10'>󰉸</span> \
<span foreground='$color5'><b>Horizontal</b></span> <span foreground='$color10'>(<b>h</b>)</span> \
<span foreground='$color5'><b>Vertical</b></span> <span foreground='$color10'>(<b>v</b>)</span>"
mode --pango_markup $mode_split {
$bindsym h splith, mode "default"
$bindsym $mod+h splith, mode "default"
$bindsym v splitv, mode "default"
$bindsym $mod+v splitv, mode "default"
$bindsym Escape mode "default"
$bindsym Return mode "default"
}
## Launch // Resize Mode ##
$bindsym $mod+s mode $mode_split