115 lines
4 KiB
Text
115 lines
4 KiB
Text
### Variables
|
|
#
|
|
# Logo key. Use Mod1 for Alt.
|
|
set $mod Mod4
|
|
|
|
# Home row direction keys, like vim
|
|
set $left h
|
|
set $down j
|
|
set $up k
|
|
set $right l
|
|
|
|
# Your preferred terminal emulator
|
|
set $term foot
|
|
set $term_cwd $term -D "$(/usr/share/sway/scripts/swaycwd.sh 2>/dev/null || echo $HOME)"
|
|
set $term_server foot --server
|
|
set $term_float footclient -a floating_shell
|
|
|
|
# Your preferred application launcher
|
|
set $menu fuzzel
|
|
|
|
# Add --to-code to bindsym, support for non-latin layouts
|
|
set $bindsym bindsym --to-code
|
|
|
|
# Volume notification
|
|
set $volume_bar /usr/share/sway/scripts/volume-notify.sh
|
|
|
|
# Brightness notification
|
|
set $brightness_bar /usr/share/sway/scripts/brightness-notify.sh
|
|
|
|
# brightness control
|
|
set $brightness_step bash -c 'echo $(( $(light -Mr) / 100 * 5 < 1 ? 1 : $(( $(light -Mr) / 100 * 5 )) ))'
|
|
set $brightness_up light -r -A $($brightness_step) && $brightness_bar
|
|
set $brightness_down light -r -U $($brightness_step) && $brightness_bar
|
|
|
|
# Volume control
|
|
set $volume_down pulsemixer --change-volume -5 && $volume_bar
|
|
set $volume_up pulsemixer --change-volume +5 && $volume_bar
|
|
set $volume_mute pulsemixer --toggle-mute && $volume_bar
|
|
|
|
# clipboard history
|
|
set $clipboard cliphist list | fuzzel --dmenu -p "Select item to copy" --lines 10 --width 35 | cliphist decode | wl-copy
|
|
set $clipboard-del cliphist list | fuzzel --dmenu -p "Select item to delete" --lines 10 --width 35 | cliphist delete
|
|
|
|
# Pulseaudo command
|
|
set $pulseaudio $term_float pulsemixer
|
|
|
|
# calendar application
|
|
set $calendar $term_float calcurse
|
|
|
|
# workspace names
|
|
set $ws1 number 1
|
|
set $ws2 number 2
|
|
set $ws3 number 3
|
|
set $ws4 number 4
|
|
set $ws5 number 5
|
|
set $ws6 number 6
|
|
set $ws7 number 7
|
|
set $ws8 number 8
|
|
set $ws9 number 9
|
|
set $ws10 number 10
|
|
|
|
# screenshot
|
|
set $grimshot /usr/bin/grimshot
|
|
set $pipe_output $grimshot save output -
|
|
set $pipe_selection $grimshot save window -
|
|
set $pipe_active $grimshot save active -
|
|
set $notify_paste bash -c '[[ $(wl-paste -l) == "image/png" ]] && notify-send "Screenshot copied to clipboard"'
|
|
set $swappy swappy -f -
|
|
|
|
set $screenshot_screen $pipe_output | $swappy && $notify_paste
|
|
set $screenshot_selection $pipe_selection | $swappy && $notify_paste
|
|
set $screenshot_active $pipe_active | $swappy && $notify_paste
|
|
|
|
# PolicyKit agent
|
|
set $polkit_agent /usr/bin/mate-polkit &
|
|
|
|
# Night Light
|
|
set $wlsunset '[ -x "$(command -v wlsunset)" ] && /usr/share/sway/scripts/sunset.sh "on"'
|
|
|
|
# Autotiling script
|
|
set $autotiling '[ -x "$(command -v autotiling)" ] && autotiling -w 1 3 5 7 9'
|
|
|
|
# Automatic workspace names
|
|
set $autoname_workspaces '[ -f /usr/share/sway/scripts/autoname-workspaces.py ] && /usr/share/sway/scripts/autoname-workspaces.py'
|
|
|
|
# restart kanshi https://github.com/emersion/kanshi/issues/43#issuecomment-531679213
|
|
set $kanshi '[ -x "$(command -v kanshi)" ] && pkill kanshi; exec kanshi'
|
|
|
|
# Workaround for applying GTK theme
|
|
set $import_gsettings '[ -f /usr/share/sway/scripts/import-gsettings.sh ] && /usr/share/sway/scripts/import-gsettings.sh'
|
|
|
|
# Start PCmanFM as a daemon
|
|
set $pcmanfm_daemon '[ -x "$(command -v pcmanfm)" ] && pcmanfm -d'
|
|
|
|
# Power notifications daemon
|
|
set $poweralertd '[ -x "$(command -v poweralertd)" ] && pkill poweralertd; poweralertd -s -i "line power" &'
|
|
|
|
# Clipboard manager
|
|
set $cliphist_store '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch cliphist store'
|
|
set $cliphist_watch '[ -x "$(command -v wl-paste)" ] && [ -x "$(command -v cliphist)" ] && wl-paste --watch pkill -RTMIN+9 waybar'
|
|
|
|
# Start nwg-drawer as a daemon
|
|
set $nwg_drawer_daemon '[ -x "$(command -v nwg-drawer)" ] && nwg-drawer -r'
|
|
|
|
# SPICE agent
|
|
set $spice_vdagent '[ -x "$(command -v spice-vdagent)" ] && spice-vdagent'
|
|
|
|
# Start playerctl as daemon
|
|
set $watch_playerctl '[ -x "$(command -v playerctl)" ] && pkill playerctl; playerctl -a metadata --format \'{{status}} {{title}}\' --follow | while read line; do pkill -RTMIN+5 waybar; done'
|
|
|
|
# Start Calcurse calendar as a daemon
|
|
set $calendar_daemon 'calcurse --daemon'
|
|
|
|
# Notifications from Swappy
|
|
set $swappy_notify '[ -x "$(command -v swappy)" ] && /usr/share/sway/scripts/screenshot-notify.sh'
|