2023-12-23 20:13:47 -07:00
|
|
|
|
# Default config for sway
|
|
|
|
|
#
|
|
|
|
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
|
|
|
|
#
|
|
|
|
|
# Read `man 5 sway` for a complete reference.
|
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Sεττiηg ναriαblεs |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
# Linux MacOS Wayland identifier code
|
|
|
|
|
# Alt Opt Alt_{L,R} Mod1 00000008
|
|
|
|
|
# Logo key Command Super_{L,R} Mod4 00000040
|
|
|
|
|
# Control Ctrl Control_{L,R} Control 00000004
|
|
|
|
|
# Shift Shift Shift_{L,R}
|
|
|
|
|
# Fn Fn XF86Fn
|
|
|
|
|
#
|
|
|
|
|
# Arrow keys are Left|Down|Up|Right
|
|
|
|
|
#
|
|
|
|
|
set $mod1 Mod4
|
|
|
|
|
set $mod2 Mod4+Shift
|
|
|
|
|
|
|
|
|
|
# Pane movement keys - vim
|
|
|
|
|
set $pane_left h
|
|
|
|
|
set $pane_down j
|
|
|
|
|
set $pane_up k
|
|
|
|
|
set $pane_right l
|
|
|
|
|
|
|
|
|
|
# Symmetric keys - mpv
|
|
|
|
|
set $left_outer q
|
|
|
|
|
set $left_inner w
|
|
|
|
|
set $right_inner e
|
|
|
|
|
set $right_outer r
|
|
|
|
|
|
|
|
|
|
# Space movement keys - gaming
|
|
|
|
|
set $space_up w
|
|
|
|
|
set $space_left a
|
|
|
|
|
set $space_down s
|
|
|
|
|
set $space_right d
|
|
|
|
|
|
|
|
|
|
# Resize keys - vim windows
|
|
|
|
|
set $size_up comma
|
|
|
|
|
set $size_down period
|
|
|
|
|
|
|
|
|
|
set $term alacritty
|
|
|
|
|
set $menu fuzzel -fmonospace:size=14 -l10 -w40 \
|
|
|
|
|
-b222222e0 -t8ec07cff -mffaf00ff -s222222ff -Sebdbb2ff -Cffaf00ff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Sound effects and additional features
|
|
|
|
|
set $volume_command ~/.config/sway/pulse_audio_volume.sh
|
2023-12-23 20:13:58 -07:00
|
|
|
|
set $volume_change_sound ~/.config/sway/volume_change_sound.mp3
|
2023-12-23 20:13:59 -07:00
|
|
|
|
set $screenshot_sound ffplay -nodisp -autoexit -v error ~/.config/sway/screenshot_sound.mp3
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
2023-12-23 20:13:59 -07:00
|
|
|
|
# Duplicate screenshot path, for quick uploads
|
|
|
|
|
set $screenshot_tmp /dev/shm/screenshot_shm.png
|
2023-12-23 20:14:00 -07:00
|
|
|
|
set $screenshot_script ~/.configs_pointer/bin/screenshot_wayland.py
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Pαηεs αηd cδηταiηεrs |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
# Move focus
|
|
|
|
|
bindsym $mod1+$pane_left focus left
|
|
|
|
|
bindsym $mod1+$pane_down focus down
|
|
|
|
|
bindsym $mod1+$pane_up focus up
|
|
|
|
|
bindsym $mod1+$pane_right focus right
|
|
|
|
|
|
|
|
|
|
# Move focused window
|
|
|
|
|
bindsym $mod2+$pane_left move left
|
|
|
|
|
bindsym $mod2+$pane_down move down
|
|
|
|
|
bindsym $mod2+$pane_up move up
|
|
|
|
|
bindsym $mod2+$pane_right move right
|
|
|
|
|
|
|
|
|
|
# Layout modifiers
|
|
|
|
|
bindsym $mod2+f floating toggle
|
|
|
|
|
bindsym $mod2+s layout stacking
|
|
|
|
|
bindsym $mod2+t layout tabbed
|
|
|
|
|
bindsym $mod2+r layout toggle
|
|
|
|
|
|
|
|
|
|
# Binary split container
|
|
|
|
|
bindsym $mod1+b split toggle
|
|
|
|
|
bindsym $mod1+v split none
|
|
|
|
|
bindsym $mod1+m fullscreen
|
|
|
|
|
|
|
|
|
|
# Switch container layout Stacking|Tabbed|Rotate-bsp
|
|
|
|
|
bindsym $mod1+s layout stacking
|
|
|
|
|
bindsym $mod1+t layout tabbed
|
|
|
|
|
bindsym $mod1+r layout toggle split
|
|
|
|
|
|
|
|
|
|
# Traverse window tree
|
|
|
|
|
bindsym $mod1+u focus parent
|
|
|
|
|
bindsym $mod1+d focus child
|
|
|
|
|
|
|
|
|
|
# Alt-tab cycles windows, like on proprietary systems
|
|
|
|
|
bindsym $mod1+tab exec ~/.config/sway/cycle_windows.py next
|
|
|
|
|
bindsym $mod2+tab exec ~/.config/sway/cycle_windows.py previous
|
|
|
|
|
|
|
|
|
|
# Swap focus between the tiling area and the floating area
|
|
|
|
|
#bindsym $mod+space focus mode_toggle
|
|
|
|
|
|
|
|
|
|
# Important rust jerk
|
|
|
|
|
bindsym $mod1+ctrl+r exec wtype "asExpectedOfRust"
|
|
|
|
|
|
2023-12-23 20:14:08 -07:00
|
|
|
|
# Automatic upload image to discord
|
|
|
|
|
bindsym $mod1+ctrl+u exec sudo -u emiliko ~/.configs_pointer/bin/auto_image_upload_discord.sh
|
2024-02-04 23:35:46 -07:00
|
|
|
|
|
2023-12-23 20:14:08 -07:00
|
|
|
|
# Paste by typing
|
|
|
|
|
bindsym Mod4+Ctrl+v exec ~/.configs_pointer/bin/wpastetype.py
|
|
|
|
|
|
2023-12-23 20:13:47 -07:00
|
|
|
|
# rEsize containers ====
|
|
|
|
|
bindsym $mod1+e mode "resize"
|
|
|
|
|
|
|
|
|
|
mode "resize" {
|
|
|
|
|
# Horizontal, shift for fine adjust
|
|
|
|
|
bindsym $size_up resize grow width 16px
|
|
|
|
|
bindsym $size_down resize shrink width 16px
|
|
|
|
|
bindsym $size_up+Shift resize grow width 4px
|
|
|
|
|
bindsym $size_down+Shift resize shrink width 4px
|
|
|
|
|
|
|
|
|
|
# Vertical, shift for fine adjust
|
|
|
|
|
bindsym $mod1+$size_down resize shrink height 16px
|
|
|
|
|
bindsym $mod1+$size_up resize grow height 16px
|
|
|
|
|
bindsym $mod1+$size_down+Shift resize shrink height 4px
|
|
|
|
|
bindsym $mod1+$size_up+Shift resize grow height 4px
|
|
|
|
|
|
|
|
|
|
# Escaping
|
|
|
|
|
bindsym $mod1+f mode "workspace_tuning"
|
|
|
|
|
|
|
|
|
|
bindsym Shift+end mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
|
|
|
|
bindsym Ctrl+bracketleft mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Gaps ====
|
|
|
|
|
bindsym $mod2+bracketright gaps inner current minus 3
|
|
|
|
|
bindsym $mod2+bracketleft gaps inner current plus 3
|
|
|
|
|
#bindsym $mod2+equal gaps toggle
|
|
|
|
|
# Standard outer gapping for 27" screen
|
|
|
|
|
bindsym $mod2+c gaps vertical current set 100, \
|
|
|
|
|
gaps horizontal current set 200
|
|
|
|
|
# Same as above, shifted left slightly
|
|
|
|
|
bindsym $mod2+g gaps vertical current set 100, \
|
|
|
|
|
gaps left current set 150, \
|
|
|
|
|
gaps right current set 250
|
|
|
|
|
|
|
|
|
|
bindsym $mod1+g mode "gapping"
|
|
|
|
|
mode "gapping" {
|
|
|
|
|
# General resize
|
|
|
|
|
bindsym $mod2+bracketright gaps inner current minus 3
|
|
|
|
|
bindsym $mod2+bracketleft gaps inner current plus 3
|
|
|
|
|
|
|
|
|
|
# Horizontal
|
|
|
|
|
bindsym q gaps left current minus 2
|
|
|
|
|
bindsym w gaps left current plus 2
|
|
|
|
|
bindsym e gaps right current plus 2
|
|
|
|
|
bindsym r gaps right current minus 2
|
|
|
|
|
|
|
|
|
|
# Vertical
|
|
|
|
|
bindsym $mod1+q gaps top current minus 2
|
|
|
|
|
bindsym $mod1+w gaps top current plus 2
|
|
|
|
|
bindsym $mod1+e gaps bottom current plus 2
|
|
|
|
|
bindsym $mod1+r gaps bottom current minus 2
|
|
|
|
|
|
|
|
|
|
# Escaping
|
|
|
|
|
bindsym Shift+end mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
|
|
|
|
bindsym Ctrl+bracketleft mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Wδrksραcεs |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
bindsym $mod1+bracketleft workspace prev
|
|
|
|
|
bindsym $mod1+bracketright workspace next
|
|
|
|
|
|
|
|
|
|
bindsym $mod2+a workspace prev
|
|
|
|
|
bindsym $mod2+d workspace next
|
|
|
|
|
|
|
|
|
|
bindsym $mod1+1 workspace number 1
|
|
|
|
|
bindsym $mod1+2 workspace number 2
|
|
|
|
|
bindsym $mod1+3 workspace number 3
|
|
|
|
|
bindsym $mod1+4 workspace number 4
|
|
|
|
|
bindsym $mod1+5 workspace number 5
|
|
|
|
|
bindsym $mod1+6 workspace number 6
|
|
|
|
|
bindsym $mod1+7 workspace number 7
|
|
|
|
|
bindsym $mod1+8 workspace number 8
|
|
|
|
|
bindsym $mod1+9 workspace number 9
|
|
|
|
|
|
|
|
|
|
# Advanced workspace tuning ====
|
|
|
|
|
bindsym $mod1+f mode "workspace_tuning"
|
|
|
|
|
|
|
|
|
|
mode "workspace_tuning" {
|
|
|
|
|
|
|
|
|
|
# Move focused container to workspace
|
|
|
|
|
bindsym 1 move container to workspace number 1
|
|
|
|
|
bindsym 2 move container to workspace number 2
|
|
|
|
|
bindsym 3 move container to workspace number 3
|
|
|
|
|
bindsym 4 move container to workspace number 4
|
|
|
|
|
bindsym 5 move container to workspace number 5
|
|
|
|
|
bindsym 6 move container to workspace number 6
|
|
|
|
|
bindsym 7 move container to workspace number 7
|
|
|
|
|
bindsym 8 move container to workspace number 8
|
|
|
|
|
bindsym 9 move container to workspace number 9
|
|
|
|
|
|
|
|
|
|
# Swap containers
|
|
|
|
|
bindsym $mod1+$pane_left mark --add "_swap", focus left, swap container with mark "_swap", focus left, unmark "_swap"
|
|
|
|
|
bindsym $mod1+$pane_down mark --add "_swap", focus down, swap container with mark "_swap", focus down, unmark "_swap"
|
|
|
|
|
bindsym $mod1+$pane_up mark --add "_swap", focus up, swap container with mark "_swap", focus up, unmark "_swap"
|
|
|
|
|
bindsym $mod1+$pane_right mark --add "_swap", focus right, swap container with mark "_swap", focus right, unmark "_swap"
|
|
|
|
|
|
|
|
|
|
# Stack, Tab, Rotate
|
|
|
|
|
bindsym s layout stacking
|
|
|
|
|
bindsym t layout tabbed
|
|
|
|
|
bindsym r layout toggle split
|
|
|
|
|
|
|
|
|
|
bindsym f fullscreen
|
|
|
|
|
bindsym Shift+f fullscreen
|
|
|
|
|
|
|
|
|
|
# Escaping
|
|
|
|
|
bindsym $mod1+e mode "resize"
|
|
|
|
|
|
|
|
|
|
bindsym Shift+end mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
|
|
|
|
bindsym Ctrl+bracketleft mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Iηρμτ αηd δμτρμτ αdjμsτmεητs |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
# Trackpad more like MacOS
|
|
|
|
|
input 1452:634:bcm5974 {
|
|
|
|
|
tap enabled
|
|
|
|
|
natural_scroll enabled
|
|
|
|
|
accel_profile adaptive
|
|
|
|
|
pointer_accel 0.36
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
output * background ~/.config/sway/secondary_wallpaper.png fill
|
|
|
|
|
output eDP-1 background ~/.config/sway/default_wallpaper.png fill
|
|
|
|
|
output DP-1 background ~/.config/sway/default_wallpaper.png fill
|
2024-04-16 19:56:46 -06:00
|
|
|
|
output DP-2 background ~/.config/sway/default_wallpaper.png fill
|
2023-12-23 20:13:47 -07:00
|
|
|
|
output DP-3 background ~/.config/sway/default_wallpaper.png fill
|
|
|
|
|
|
|
|
|
|
output DP-1 scale 2
|
2024-04-16 19:56:46 -06:00
|
|
|
|
output DP-2 scale 2
|
2023-12-23 20:13:47 -07:00
|
|
|
|
output DP-3 scale 2
|
|
|
|
|
|
|
|
|
|
default_border pixel 2
|
|
|
|
|
# Adjust gamma. More important for external displays. Laptops are usually fine
|
2023-12-23 20:13:53 -07:00
|
|
|
|
exec wlsunset -t 6499 -T 6500 -g 0.9
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
# Volume controls
|
2024-04-20 12:14:27 -06:00
|
|
|
|
bindsym --locked XF86AudioRaiseVolume exec $volume_command 4 $volume_change_sound
|
|
|
|
|
bindsym --locked XF86AudioLowerVolume exec $volume_command -4 $volume_change_sound
|
|
|
|
|
bindsym --locked shift+XF86AudioRaiseVolume exec $volume_command 1 $volume_change_sound
|
|
|
|
|
bindsym --locked shift+XF86AudioLowerVolume exec $volume_command -1 $volume_change_sound
|
|
|
|
|
bindsym --locked XF86AudioMute exec ~/.config/sway/toggle_mute.sh
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
# External brightness control
|
|
|
|
|
# For laptops
|
|
|
|
|
bindsym XF86MonBrightnessUp exec light -A 1
|
|
|
|
|
bindsym XF86MonBrightnessDown exec light -U 1
|
|
|
|
|
# For external monitors
|
|
|
|
|
bindsym F4 exec ddcutil setvcp 10 - 4
|
|
|
|
|
bindsym F5 exec ddcutil setvcp 10 + 4
|
|
|
|
|
bindsym Shift+F4 exec ddcutil setvcp 10 - 1
|
|
|
|
|
bindsym Shift+F5 exec ddcutil setvcp 10 + 1
|
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Hδτkεy dαεmδη |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
# Terminal
|
|
|
|
|
bindsym $mod2+Return exec $term
|
|
|
|
|
# Chromium
|
|
|
|
|
bindsym $mod2+n exec chromium
|
|
|
|
|
# Firefox
|
|
|
|
|
bindsym $mod2+p exec MOZ_ENABLE_WAYLAND=1 firefox --private-window
|
|
|
|
|
# App launcher, like spotlight
|
|
|
|
|
bindsym $mod1+space exec $menu
|
|
|
|
|
# Reload sway config
|
|
|
|
|
bindsym $mod1+ctrl+s reload
|
|
|
|
|
# Close window
|
|
|
|
|
bindsym $mod2+q kill
|
|
|
|
|
# Dragging windows
|
|
|
|
|
floating_modifier $mod1 normal
|
|
|
|
|
# Screenlock
|
|
|
|
|
bindsym $mod2+i exec ~/.config/sway/brightness_lock.sh
|
2024-04-20 12:14:27 -06:00
|
|
|
|
# Screen kill (turns off display output, but keeps virtual display active)
|
|
|
|
|
bindsym --locked $mod2+u output * power toggle
|
2023-12-23 20:13:47 -07:00
|
|
|
|
# Scratchpad
|
|
|
|
|
bindsym $mod1+Shift+minus move scratchpad
|
|
|
|
|
bindsym $mod1+minus scratchpad show
|
|
|
|
|
# Warpd - Keyboard-driven mouse
|
|
|
|
|
bindsym Mod4+Control+j exec warpd --hint
|
|
|
|
|
bindsym Mod4+Control+n exec warpd --normal
|
|
|
|
|
# Xremap
|
|
|
|
|
exec sudo ~/.configs_pointer/bin/switch_keyboard.sh pc
|
|
|
|
|
# IME Module
|
|
|
|
|
bindsym $mod1+i exec ~/.config/sway/toggle_fcitx.sh
|
|
|
|
|
# Mako notifications
|
|
|
|
|
exec mako
|
2023-12-23 20:13:54 -07:00
|
|
|
|
# Exit sway (hit 3 times repeatedly to force exit)
|
|
|
|
|
bindsym $mod2+Escape exec ~/.config/sway/sway_exit.sh
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
# Screenshots ====
|
|
|
|
|
bindsym $mod2+6 mode "screenshots"
|
2023-12-23 20:14:00 -07:00
|
|
|
|
bindsym $mod2+5 mode "screenshots"; exec $screenshot_script take select -c $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym $mod2+4 mode "screenshots"; exec $screenshot_script take exact "$(~/.config/sway/window_dimensions.py)" && \
|
2023-12-23 20:14:01 -07:00
|
|
|
|
$screenshot_script edit -c -q 100 -d "$(colo.sh -t)" -e png --overwrite $screenshot_tmp && $screenshot_sound
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
mode "screenshots" {
|
|
|
|
|
# Screenshooting in processing "steps"
|
|
|
|
|
# 1. Get screenshot
|
2023-12-23 20:14:00 -07:00
|
|
|
|
bindsym a exec $screenshot_script take select -c $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym f exec $screenshot_script take full -c $screenshot_tmp && $screenshot_sound
|
2023-12-23 20:14:03 -07:00
|
|
|
|
bindsym m mode "default"; exec $screenshot_script markup -c $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym g mode "default"; exec gimp $($screenshot_script markup --show-latest)
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
# 2. Downsize the screenshot, since 4k is too big
|
2023-12-23 20:14:02 -07:00
|
|
|
|
bindsym 1 exec $screenshot_script edit -c -e png -q '40%' -r '50%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 2 exec $screenshot_script edit -c -e png -q '40%' -r '60%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 3 exec $screenshot_script edit -c -e png -q '40%' -r '70%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 4 exec $screenshot_script edit -c -e png -q '40%' -r '80%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 5 exec $screenshot_script edit -c -e png -q '80%' -r '50%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 6 exec $screenshot_script edit -c -e png -q '80%' -r '60%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 7 exec $screenshot_script edit -c -e png -q '80%' -r '70%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 8 exec $screenshot_script edit -c -e png -q '80%' -r '80%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 9 exec $screenshot_script edit -c -e png -q '80%' -r '90%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 0 exec $screenshot_script edit -c -e png -q '80%' -r '100%' $screenshot_tmp && $screenshot_sound
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
# OR compress image
|
|
|
|
|
bindsym space mode "shrink_screenshots"
|
|
|
|
|
|
|
|
|
|
# 3. Copy the smaller image back to clipboard and return to default
|
|
|
|
|
bindsym return mode "default"
|
|
|
|
|
bindsym Shift+end mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
|
|
|
|
bindsym Ctrl+bracketleft mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mode "shrink_screenshots" {
|
|
|
|
|
# 2. Compress the screenshot, hard
|
2023-12-23 20:14:02 -07:00
|
|
|
|
bindsym 1 exec $screenshot_script edit -c -e webp -q '40%' -r '50%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 2 exec $screenshot_script edit -c -e webp -q '40%' -r '60%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 3 exec $screenshot_script edit -c -e webp -q '40%' -r '70%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 4 exec $screenshot_script edit -c -e webp -q '40%' -r '80%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 5 exec $screenshot_script edit -c -e webp -q '80%' -r '50%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 6 exec $screenshot_script edit -c -e webp -q '80%' -r '60%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 7 exec $screenshot_script edit -c -e webp -q '80%' -r '70%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 8 exec $screenshot_script edit -c -e webp -q '80%' -r '80%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 9 exec $screenshot_script edit -c -e webp -q '80%' -r '90%' $screenshot_tmp && $screenshot_sound
|
|
|
|
|
bindsym 0 exec $screenshot_script edit -c -e webp -q '80%' -r '100%' $screenshot_tmp && $screenshot_sound
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
|
|
|
|
bindsym space mode "screenshots"
|
|
|
|
|
|
|
|
|
|
# 3. Back out
|
|
|
|
|
bindsym return mode "default"
|
|
|
|
|
bindsym Shift+end mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
|
|
|
|
bindsym Ctrl+bracketleft mode "default"
|
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-23 20:13:53 -07:00
|
|
|
|
# Global mpv ====
|
|
|
|
|
bindsym $mod2+m mode "mpv_global"
|
|
|
|
|
|
|
|
|
|
mode "mpv_global" {
|
|
|
|
|
bindsym j exec ~/.config/sway/mpv_keys.sh 'j'
|
|
|
|
|
bindsym k exec ~/.config/sway/mpv_keys.sh 'k'
|
|
|
|
|
bindsym l exec ~/.config/sway/mpv_keys.sh 'l'
|
2023-12-23 20:14:04 -07:00
|
|
|
|
bindsym Left exec ~/.config/sway/mpv_keys.sh 'LEFT'
|
|
|
|
|
bindsym Right exec ~/.config/sway/mpv_keys.sh 'RIGHT'
|
2023-12-23 20:13:54 -07:00
|
|
|
|
bindsym space exec ~/.config/sway/mpv_keys.sh 'SPACE'
|
|
|
|
|
bindsym bracketleft exec ~/.config/sway/mpv_keys.sh '['
|
|
|
|
|
bindsym bracketright exec ~/.config/sway/mpv_keys.sh ']'
|
2023-12-23 20:13:53 -07:00
|
|
|
|
bindsym minus exec ~/.config/sway/mpv_keys.sh '-'
|
|
|
|
|
bindsym equal exec ~/.config/sway/mpv_keys.sh '='
|
2023-12-23 20:13:54 -07:00
|
|
|
|
bindsym m exec ~/.config/sway/mpv_keys.sh 'm'
|
2023-12-23 20:14:04 -07:00
|
|
|
|
bindsym A exec ~/.config/sway/mpv_keys.sh 'A'
|
2024-02-04 23:35:46 -07:00
|
|
|
|
bindsym 0 exec ~/.config/sway/mpv_keys.sh '0'
|
|
|
|
|
bindsym 1 exec ~/.config/sway/mpv_keys.sh '1'
|
|
|
|
|
bindsym 2 exec ~/.config/sway/mpv_keys.sh '2'
|
|
|
|
|
bindsym 3 exec ~/.config/sway/mpv_keys.sh '3'
|
|
|
|
|
bindsym 4 exec ~/.config/sway/mpv_keys.sh '4'
|
|
|
|
|
bindsym 5 exec ~/.config/sway/mpv_keys.sh '5'
|
|
|
|
|
bindsym 6 exec ~/.config/sway/mpv_keys.sh '6'
|
|
|
|
|
bindsym 7 exec ~/.config/sway/mpv_keys.sh '7'
|
|
|
|
|
bindsym 8 exec ~/.config/sway/mpv_keys.sh '8'
|
|
|
|
|
bindsym 9 exec ~/.config/sway/mpv_keys.sh '9'
|
2023-12-23 20:13:53 -07:00
|
|
|
|
|
|
|
|
|
bindsym return mode "default"
|
|
|
|
|
bindsym Ctrl+k mode "default"
|
2023-12-23 20:13:58 -07:00
|
|
|
|
bindsym Shift+End mode "default"
|
2023-12-23 20:13:53 -07:00
|
|
|
|
bindsym Escape mode "default"
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-23 20:13:47 -07:00
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Sτylεs |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
bar {
|
|
|
|
|
position bottom
|
|
|
|
|
|
|
|
|
|
binding_mode_indicator yes
|
|
|
|
|
|
|
|
|
|
# Vertical horizontal
|
|
|
|
|
gaps 0 10
|
|
|
|
|
|
|
|
|
|
mode dock
|
|
|
|
|
|
|
|
|
|
status_command while ~/.config/sway/swaybar_status.sh; do sleep 60; done
|
|
|
|
|
|
|
|
|
|
colors {
|
|
|
|
|
# Foreground color
|
|
|
|
|
statusline #e7d6ad
|
|
|
|
|
background #22222200
|
|
|
|
|
|
|
|
|
|
# border background text
|
|
|
|
|
focused_workspace #F4B36Eff #F4B36Eff #000000
|
|
|
|
|
inactive_workspace #00000000 #444444 #e7d6ad
|
|
|
|
|
urgent_workspace #fadb2f #fadb2f #000000
|
|
|
|
|
|
|
|
|
|
#binding_mode #8ec07c #8ec07c #000000
|
|
|
|
|
#binding_mode #8ec07c #d3869b #000000
|
|
|
|
|
binding_mode #fadb2f #fadb2f #000000
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Colors
|
|
|
|
|
client.focused #F4A66E #F4A66E #000000 #F4A66E #F4A66E
|
|
|
|
|
#client.focused #FFFFFF #FFFFFF #000000 #ffffff #ffffff
|
|
|
|
|
|
|
|
|
|
#╔─────────────────────────────────────────────────────────────────────────────╗
|
|
|
|
|
#│ Oτhεr |
|
|
|
|
|
#╚─────────────────────────────────────────────────────────────────────────────╝
|
|
|
|
|
# Sleep settings for laptops TODO: systemctl suspend?
|
|
|
|
|
set $laptop 'eDP-1'
|
|
|
|
|
set $sleep sleep 3 && swaylock
|
|
|
|
|
|
|
|
|
|
bindswitch --reload --locked lid:on exec \
|
2024-04-20 12:14:27 -06:00
|
|
|
|
swaymsg output $laptop power off && swaylock
|
2023-12-23 20:13:47 -07:00
|
|
|
|
bindswitch --reload --locked lid:off exec \
|
2024-04-20 12:14:27 -06:00
|
|
|
|
swaymsg output $laptop power on
|
2023-12-23 20:13:47 -07:00
|
|
|
|
|
2023-12-23 20:14:10 -07:00
|
|
|
|
exec swayidle -w timeout 1200 '~/.config/sway/suspend_system.sh'
|
|
|
|
|
|
2023-12-23 20:13:47 -07:00
|
|
|
|
#bindswitch --reload --locked lid:on exec swaymsg output $laptop_screen disable
|
|
|
|
|
|
|
|
|
|
#bindswitch --reload --locked lid:on exec '[ $(swaymsg -t get_outputs | grep name | wc -l) == 1 ] && ($sleep) || ($notify "Clamshell mode" "Laptop screen off" && swaymsg output $laptop_screen disable)'
|
|
|
|
|
#
|
|
|
|
|
#bindswitch --reload --locked lid:off output $laptop_screen enable
|
|
|
|
|
|
|
|
|
|
include /etc/sway/config.d/*
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Example configuration:
|
|
|
|
|
#
|
|
|
|
|
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
|
|
|
|
#
|
|
|
|
|
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
#exec swayidle -w \
|
|
|
|
|
# timeout 101 'swaylock' \
|
2024-04-20 12:14:27 -06:00
|
|
|
|
# timeout 314 'swaymsg "output * power off"' \
|
|
|
|
|
# resume 'swaymsg "output * power on"' \
|
2023-12-23 20:13:47 -07:00
|
|
|
|
# timeout 626 'systemctl suspend ' \
|
|
|
|
|
# before-sleep 'swaylock'
|
|
|
|
|
|
|
|
|
|
### Idle configuration
|
|
|
|
|
#
|
|
|
|
|
# Example configuration:
|
|
|
|
|
#
|
|
|
|
|
# exec swayidle -w \
|
|
|
|
|
# timeout 300 'swaylock -f -c 000000' \
|
2024-04-20 12:14:27 -06:00
|
|
|
|
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
2023-12-23 20:13:47 -07:00
|
|
|
|
# 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
|
|
|
|
|
# resumed. It will also lock your screen before your computer goes to sleep.
|