356 lines
12 KiB
Text
356 lines
12 KiB
Text
# Default
|
|
set $mod Mod1
|
|
set $terminal_path /home/don/bin/mynewterm
|
|
set $snd_sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo
|
|
|
|
set $lock /home/don/bin/lock.sh
|
|
exec swayidle -w \
|
|
timeout 300 $lock \
|
|
timeout 360 'swaymsg "output * dpms off"' \
|
|
resume 'swaymsg "output * dpms on"' \
|
|
before-sleep $lock
|
|
|
|
floating_modifier $mod
|
|
|
|
hide_edge_borders both
|
|
titlebar_border_thickness 0
|
|
titlebar_padding 5 0
|
|
font pango:JetBrains Mono 8
|
|
|
|
workspace_auto_back_and_forth yes
|
|
|
|
set $laptop eDP-1
|
|
output $laptop scale 1.1
|
|
output * bg /home/don/nixos/hosts/fan-table-device-box-wallpaper.jpg fill
|
|
bindswitch --reload --locked lid:on output $laptop disable
|
|
bindswitch --reload --locked lid:off output $laptop enable
|
|
|
|
title_align center
|
|
# Music control
|
|
bindsym XF86AudioPlay exec --no-startup-id control-music --pause
|
|
bindsym Control+Shift+F7 exec --no-startup-id control-music --pause
|
|
bindsym XF86AudioNext exec --no-startup-id control-music --next
|
|
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
|
|
bindsym XF86AudioStop exec --no-startup-id control-music --stop
|
|
|
|
# change volume or toggle mute
|
|
#bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
|
|
#bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
|
|
#bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks
|
|
|
|
#bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set 10%+
|
|
#bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 10%-
|
|
# Brightness
|
|
bindsym XF86MonBrightnessDown exec light -U 10
|
|
bindsym XF86MonBrightnessUp exec light -A 10
|
|
|
|
# Volume
|
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
|
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
bindsym Control+Shift+F10 exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
|
bindsym Control+Shift+F9 exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
|
bindsym Control+Shift+F8 exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
|
|
# start a terminal
|
|
bindsym $mod+Return exec --no-startup-id $HOME/bin/mynewterm
|
|
|
|
# kill focused window
|
|
bindsym $mod+Shift+q kill
|
|
|
|
# start dmenu (a program launcher)
|
|
set $menu_command fuzzel
|
|
set $bemenu_options -i --nb "#3f3f3f" --nf "#dcdccc" -fn "pango:JetBrains Mono 8"
|
|
set $menu dmenu-wl_path | bemenu $bemenu_options| xargs swaymsg exec --
|
|
bindsym $mod+Shift+d exec $menu
|
|
|
|
# rofi app and window launchers
|
|
bindsym $mod+p exec $menu_command
|
|
bindsym menu exec $menu_command
|
|
bindsym $mod+Shift+w exec dwifi
|
|
bindsym $mod+d exec --no-startup-id $menu
|
|
bindsym $mod+t exec --no-startup-id $HOME/bin/mynewterm -e ttmenu
|
|
|
|
# change focus
|
|
bindsym $mod+j focus left
|
|
bindsym $mod+k focus down
|
|
bindsym $mod+l focus up
|
|
bindsym $mod+semicolon focus right
|
|
|
|
# alternatively, you can use the cursor keys:
|
|
bindsym $mod+Left focus left
|
|
bindsym $mod+Down focus down
|
|
bindsym $mod+Up focus up
|
|
bindsym $mod+Right focus right
|
|
|
|
# move focused window
|
|
bindsym $mod+Shift+j move left
|
|
bindsym $mod+Shift+k move down
|
|
bindsym $mod+Shift+l move up
|
|
bindsym $mod+Shift+semicolon move right
|
|
|
|
# alternatively, you can use the cursor 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
|
|
|
|
# split in horizontal orientation
|
|
bindsym $mod+Shift+h split h
|
|
# split in vertical orientation
|
|
bindsym $mod+Shift+v split v
|
|
|
|
# enter fullscreen mode for the focused container
|
|
bindsym $mod+f fullscreen toggle
|
|
|
|
# change gaps interactively
|
|
bindsym $mod+minus gaps inner current minus 2
|
|
bindsym $mod+plus gaps inner current plus 2
|
|
|
|
# change container layout (stacked, tabbed, toggle split)
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# toggle tiling / floating
|
|
bindsym $mod+Shift+space floating toggle
|
|
|
|
# change focus between tiling / floating windows
|
|
#bindsym $mod+Shift+f focus mode_toggle
|
|
bindsym $mod+Shift+F floating enable; resize set 590 px 333 px; sticky enable; move window to position 1330 px 745 px
|
|
|
|
# switch to workspace
|
|
bindsym $mod+F1 workspace 1
|
|
bindsym $mod+F2 workspace 2
|
|
bindsym $mod+F3 workspace 3
|
|
bindsym $mod+F4 workspace 4
|
|
bindsym $mod+F5 workspace 5
|
|
bindsym $mod+F6 workspace 6
|
|
bindsym $mod+F7 workspace 7
|
|
bindsym $mod+F8 workspace 8
|
|
bindsym $mod+F9 workspace 9
|
|
bindsym $mod+F10 workspace 10
|
|
|
|
# move focused container to workspace
|
|
bindsym $mod+Shift+F1 move container to workspace 1
|
|
bindsym $mod+Shift+F2 move container to workspace 2
|
|
bindsym $mod+Shift+F3 move container to workspace 3
|
|
bindsym $mod+Shift+F4 move container to workspace 4
|
|
bindsym $mod+Shift+F5 move container to workspace 5
|
|
bindsym $mod+Shift+F6 move container to workspace 6
|
|
bindsym $mod+Shift+F7 move container to workspace 7
|
|
bindsym $mod+Shift+F8 move container to workspace 8
|
|
bindsym $mod+Shift+F9 move container to workspace 9
|
|
bindsym $mod+Shift+F10 move container to workspace 10
|
|
|
|
# reload the configuration file
|
|
bindsym $mod+Shift+c reload
|
|
# restart sway inplace (preserves your layout/session, can be used to upgrade sway)
|
|
bindsym $mod+Shift+r reload
|
|
# exit sway (logs you out of your sway 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'
|
|
|
|
# shortcuts for common system configuration tasks
|
|
bindsym $mod+Shift+s exec mate-control-center
|
|
|
|
# Fancy logout
|
|
set $mode_system System (l) lock, (e) logout, (a) goaway, (s) suspend, (h) hibernate, (r) reboot, (CTRL+s) shutdown
|
|
|
|
mode "$mode_system" {
|
|
bindsym l exec --no-startup-id $lock, mode "default"
|
|
bindsym e exec --no-startup-id swaymsg exit, mode "default"
|
|
bindsym a exec --no-startup-id $HOME/bin/goaway, mode "default"
|
|
bindsym s exec --no-startup-id systemctl suspend, mode "default"
|
|
bindsym h exec --no-startup-id systemctl hibernate, mode "default"
|
|
bindsym r exec --no-startup-id systemctl reboot, mode "default"
|
|
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
|
|
|
# back to normal: Enter or Escape
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
bindsym $mod+BackSpace mode "$mode_system"
|
|
# resize window (you can also use the mouse for that)
|
|
mode "Resize Mode" {
|
|
# These bindings trigger as soon as you enter the resize mode
|
|
bindsym Left resize shrink width 6 px or 6 ppt
|
|
bindsym Down resize grow height 6 px or 6 ppt
|
|
bindsym Up resize shrink height 6 px or 6 ppt
|
|
bindsym Right resize grow width 6 px or 6 ppt
|
|
|
|
bindsym Shift+Left resize shrink width 12 px or 12 ppt
|
|
bindsym Shift+Down resize grow height 12 px or 12 ppt
|
|
bindsym Shift+Up resize shrink height 12 px or 12 ppt
|
|
bindsym Shift+Right resize grow width 12 px or 12 ppt
|
|
|
|
bindsym h resize shrink width 6 px or 6 ppt
|
|
bindsym k resize grow height 6 px or 6 ppt
|
|
bindsym j resize shrink height 6 px or 6 ppt
|
|
bindsym l resize grow width 6 px or 6 ppt
|
|
|
|
bindsym Shift+h resize shrink width 12 px or 12 ppt
|
|
bindsym Shift+k resize grow height 12 px or 12 ppt
|
|
bindsym Shift+j resize shrink height 12 px or 12 ppt
|
|
bindsym Shift+l resize grow width 12 px or 12 ppt
|
|
|
|
# back to normal: Enter or Escape
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
bindsym $mod+r mode "default"
|
|
}
|
|
bindsym $mod+r mode "Resize Mode"
|
|
|
|
# Disable titlebar
|
|
default_border none
|
|
default_floating_border pixel 1
|
|
|
|
# Only enable gaps on a workspace when there is at least one container
|
|
smart_gaps on
|
|
|
|
# Enable popup during fullscreen
|
|
popup_during_fullscreen smart
|
|
|
|
# window focus follows your mouse movements as the mouse crosses window borders
|
|
focus_follows_mouse yes
|
|
|
|
# Configure the bar
|
|
bar {
|
|
swaybar_command waybar
|
|
position bottom
|
|
hidden_state hide
|
|
mode dock
|
|
modifier Mod4
|
|
}
|
|
|
|
# To get the app_id of the focused window use:
|
|
# $ sleep 2 ; swaymsg -t get_tree | jq -r '..|try select(.focused == true)'
|
|
assign [class="^Wfica$"] 3
|
|
assign [class="zoom"] 5
|
|
assign [title="^Zoom"] 5
|
|
assign [class="^mpv$"] 9
|
|
assign [app_id="^mpv$"] 9
|
|
assign [app_id="sublime-music"] 9
|
|
assign [app_id="Supersonic"] 9
|
|
assign [class="Supersonic"] 9
|
|
assign [class="Sonixd"] 9
|
|
assign [app_id="firefox"] 2
|
|
assign [app_id="org.qutebrowser.qutebrowser"] 2
|
|
assign [class="^darktable$"] 4
|
|
assign [class="^Darktable$"] 4
|
|
assign [app_id="^org.telegram.desktop"] 6
|
|
assign [title="^Signal"] 6
|
|
assign [title="^Tootle"] 6
|
|
assign [title="^Element"] 6
|
|
assign [app_id="thunderbird" instance="eminder"] floating enable
|
|
assign [class="^Slack$"] 6
|
|
assign [class="^gotktrik$"] 6
|
|
assign [app_id="org.jellyfin."] 8
|
|
assign [title="Jellyfin Media Player"] 8
|
|
|
|
for_window {
|
|
#[class="^Authy Desktop$"] floating enable
|
|
[title="ttmenu"] move scratchpad
|
|
#[class="^Slack$"] floating enable
|
|
#[class="^Slack$"] move scratchpad
|
|
[class="evolution-alarm-notify"] sticky enable
|
|
[class="KTimer"] floating enable sticky enable
|
|
[class="feh"] floating enable sticky enable
|
|
#[class="obsidian"] floating enable
|
|
#[class="obsidian"] move scratchpad
|
|
[title="Reminders"] floating enable
|
|
[title="Reminders"] sticky enable
|
|
[title="^Print$"] floating disable
|
|
}
|
|
|
|
input type:touchpad {
|
|
tap enabled
|
|
click_method clickfinger
|
|
middle_emulation enabled
|
|
dwt enabled
|
|
tap_button_map lrm
|
|
}
|
|
# Custom keys
|
|
bindsym $mod+Shift+n exec swaync-client -t -sw
|
|
bindsym $mod+m move scratchpad
|
|
bindsym $mod+Shift+m exec --no-startup-id "mua"
|
|
bindsym $mod+o scratchpad show
|
|
bindsym Mod4+l exec --no-startup-id "~/bin/lock.sh -m"
|
|
bindsym Mod4+Shift+l exec --no-startup-id "~/bin/lock.sh -m -t"
|
|
bindsym Mod4+w exec --no-startup-id "randbg-1"
|
|
bindsym $mod+Control+d exec --no-startup-id "dovideo.sh"
|
|
bindsym Mod4+Tab focus right
|
|
bindsym Mod4+Shift+Tab focus left
|
|
|
|
bindsym $mod+Control+h move workspace to output left
|
|
bindsym $mod+Control+j move workspace to output down
|
|
bindsym $mod+Control+k move workspace to output up
|
|
bindsym $mod+Control+l move workspace to output right
|
|
bindsym $mod+Shift+Control+h move container to output left
|
|
bindsym $mod+Shift+Control+j move container to output down
|
|
bindsym $mod+Shift+Control+k move container to output up
|
|
bindsym $mod+Shift+Control+l move container to output right
|
|
|
|
bindsym $mod+Shift+x floating enable, sticky enable, resize set 50 ppt 50 ppt, move position 0 px 0 px
|
|
|
|
bindsym $mod+Shift+Return exec --no-startup-id $HOME/bin/myterm
|
|
bindsym $mod+x [urgent=latest] focus
|
|
|
|
##-## # class border bground text indicator child_border
|
|
##-## client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
|
|
##-## client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
|
##-## client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
|
##-## client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
|
##-## client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
|
|
|
# Set inner/outer gaps
|
|
gaps inner 0
|
|
gaps outer 0
|
|
|
|
# Hide titlebar on windows:
|
|
default_border pixel 1
|
|
|
|
# Default Font
|
|
font pango:Noto Sans Regular 10
|
|
|
|
# Thin borders:
|
|
smart_borders on
|
|
|
|
# Title format for windows
|
|
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
|
|
for_window [shell="x_wayland"] title_format "%class - %title"
|
|
|
|
# class border bground text indicator child_border
|
|
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
|
|
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
|
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
|
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
|
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
|
client.background #F8F8F2
|
|
|
|
exec pasystray
|
|
exec_always keyctl link @u @s
|
|
exec shikane
|
|
exec wayland-pipewire-idle-inhibit
|
|
exec_always shikanectl reload
|
|
exec kitty --title ttmenu -e ttmenu-loop
|
|
seat * hide_cursor 8000
|
|
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
|
exec dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
|
exec udiskie --tray
|
|
exec dbus-send --session --print-reply=literal --dest=org.gnome.SessionManager "/org/gnome/SessionManager" org.gnome.SessionManager.RegisterClient "string:sway" "string:$DESKTOP_AUTOSTART_ID"
|
|
exec wl-paste -t text --watch clipman store
|
|
exec configure-gtk
|
|
exec sonixd
|
|
exec dovideo.sh
|
|
exec auto-start
|
|
exec swaync
|
|
exec nm-applet
|
|
exec randbg
|
|
exec kdeconnect-indicator
|
|
exec myweb
|
|
exec myterm
|
|
exec headset-charge-indicator.py
|
|
exec blueberry-tray
|
|
exec ktimer
|
|
exec wlsunset -l 29.74 -L -95.77
|