home/sway | cleanup

This commit is contained in:
Don Harper 2025-07-30 23:47:28 -05:00
parent cd46a439c0
commit 1e00f83210
10 changed files with 6 additions and 3003 deletions

View file

@ -1,373 +0,0 @@
# For ace
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_always sway-audio-idle-inhibit
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 0.75
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# For book
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_always sway-audio-idle-inhibit
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.5
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# 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_always sway-audio-idle-inhibit
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# For Eve
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_always sway-audio-idle-inhibit
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.7
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# For Loki, FTW
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_always sway-audio-idle-inhibit
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# POCKET2
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_always sway-audio-idle-inhibit
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.7
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,373 +0,0 @@
# For Smaug
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_always sway-audio-idle-inhibit
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 0.75
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 Control+Shift+F2 exec --no-startup-id control-music --next
bindsym XF86AudioPrev exec --no-startup-id control-music --prev
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
bindsym XF86MonBrightnessUp exec light -A 10
bindsym Control+Shift+F6 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
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
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 [class="feishin"] 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="com.github.iwalton3.jellyfin-media-player"] 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 --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec --no-startup-id udiskie --tray
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

View file

@ -1,4 +0,0 @@
lat=29.749
lon=-95.773
units=imperial
appid=0ea01c37da47559728248e3be2872b20

View file

@ -1,329 +0,0 @@
#!/usr/bin/env python3
import re
import os
import sys
import subprocess
import json
import urllib.request
import datetime
import math
import random
def decode_icon(code, is_day):
icons = {
"sun": "",
"moon": "",
"cloud": "",
"cloud-bolt": "",
"snowflake": "",
"wind": "",
"tornado": "",
"temperature-low": "",
"temperature-high": "",
"smog": "",
"cloud-sun-rain": "",
"cloud-sun": "",
"cloud-showers-water": "",
"cloud-showers-heavy": "",
"cloud-rain": "",
"cloud-moon-rain": "",
"cloud-moon": "",
"default": " "
}
match code:
case 200:
icon_status = "cloud-bolt"
case 201:
icon_status = "cloud-bolt"
case 202:
icon_status = "cloud-bolt"
case 210:
icon_status = "cloud-bolt"
case 211:
icon_status = "cloud-bolt"
case 212:
icon_status = "cloud-bolt"
case 221:
icon_status = "cloud-bolt"
case 230:
icon_status = "cloud-bolt"
case 231:
icon_status = "cloud-bolt"
case 232:
icon_status = "cloud-bolt"
case 500:
icon_status = "cloud-sun-rain" if is_day else "cloud-moon-rain"
case 501:
icon_status = "cloud-sun-rain" if is_day else "cloud-moon-rain"
case 502:
icon_status = "cloud-sun-rain" if is_day else "cloud-moon-rain"
case 503:
icon_status = "cloud-sun-rain" if is_day else "cloud-moon-rain"
case 504:
icon_status = "cloud-sun-rain" if is_day else "cloud-moon-rain"
case 511:
icon_status = "snowflake"
case 520:
icon_status = "cloud-rain"
case 521:
icon_status = "cloud-rain"
case 522:
icon_status = "cloud-showers-heavy"
case 531:
icon_status = "cloud-rain"
case 600:
icon_status = "snowflake"
case 601:
icon_status = "snowflake"
case 602:
icon_status = "snowflake"
case 611:
icon_status = "snowflake"
case 612:
icon_status = "snowflake"
case 613:
icon_status = "snowflake"
case 615:
icon_status = "snowflake"
case 616:
icon_status = "snowflake"
case 620:
icon_status = "snowflake"
case 621:
icon_status = "snowflake"
case 622:
icon_status = "snowflake"
case 800:
icon_status = "sun" if is_day else "moon"
case 801:
icon_status = "cloud-sun" if is_day else "cloud-moon"
case 802:
icon_status = "cloud"
case 803:
icon_status = "cloud"
case 804:
icon_status = "cloud"
case 10001:
icon_status = "temperature-low"
case 10002:
icon_status = "temperature-high"
case _:
icon_status = "default"
icon = (
icons[icon_status]
if icon_status in icons
else icons["default"]
)
return icon
def is_daytime(dt, resp):
events = []
for day in range(8):
events.append(resp['daily'][day]['sunrise'])
events.append(resp['daily'][day]['sunset'])
events.append(dt)
events.sort()
return events.index(dt) % 2 == 1
def format_temp(temp):
rounded_temp = round(temp)
return f"{rounded_temp: >3}°"
def render_minutely_precip_chart(resp):
chart = ""
icons = [" ", "", "", "", "", "", "", "", ""]
for minute in range(60):
precip = resp['minutely'][minute]['precipitation']
precip = math.ceil(precip)
precip = 8 if precip > 8 else precip
# precip = random.randint(0, 8)
chart = chart + icons[precip]
return chart
def format_precip_chart_string(chart, resp):
total_precip = 0
for minute in range(60):
total_precip = total_precip + resp['minutely'][minute]['precipitation']
# total_precip = 1
if total_precip == 0:
return ""
else:
first_minute = resp['minutely'][minute]['dt']
first_minute = datetime.datetime.fromtimestamp(first_minute).minute
seq = ["15", "30", "45", " 0"]
first_target = seq[int(first_minute / 15)]
init_spaces = int(first_target) - first_minute
timelabel = " "
for i in range(init_spaces):
timelabel = timelabel + " "
for i in range(4):
timelabel = timelabel + seq[(int(first_minute / 15) + i) % 4]
if i < 3:
timelabel = timelabel + " "
chart_string = f"<span font_family=\"Fantasque Sans Mono\"> {chart} </span>\n"
chart_string = chart_string + f"<span font_family=\"Fantasque Sans Mono\">{timelabel}</span>\n\n"
return chart_string
def get_hourly_hours(hours, resp):
hour_string = ""
for hour in range(hours):
dt = resp['hourly'][hour]['dt']
dt = datetime.datetime.fromtimestamp(dt).hour
hour_string = hour_string + " " + f"{dt:2}" + " "
return hour_string
def get_hourly_icons(hours, resp):
icon_string = ""
for hour in range(hours):
status_code = resp['hourly'][hour]['weather'][0]['id']
dt = resp['hourly'][hour]['dt']
hour_is_daytime = is_daytime(dt, resp)
icon_string = icon_string + " " + decode_icon(status_code, hour_is_daytime) + " "
return icon_string
def get_hourly_temps(hours, resp):
temp_string = ""
for hour in range(hours):
temp_string = temp_string + format_temp(resp['hourly'][hour]['temp'])
return temp_string
def compute_daily_minmax(days, resp):
dmin = 100
dmax = -100
for day in range(days):
day_min = resp['daily'][day]['temp']['min']
day_max = resp['daily'][day]['temp']['max']
if day_min < dmin: dmin = day_min
if day_max > dmax: dmax = day_max
return dmin, dmax
def format_percentage(num):
num = str(int(100 * num))
for i in range(3 - len(num)):
num = " " + num
num = num + "%"
return num
def get_daily(days, resp, dlow, dhigh):
delta = dhigh - dlow
steps = 20
incr = delta / steps
if days == 0:
return ""
daily_string = "\n"
for day in range(days):
dt = resp['daily'][day]['dt']
dt = datetime.datetime.fromtimestamp(dt)
dt = dt.strftime('%a %b %e')
code = resp['daily'][day]['weather'][0]['id']
icon = decode_icon(code, True)
day_min = resp['daily'][day]['temp']['min']
day_max = resp['daily'][day]['temp']['max']
lt = format_temp(day_min)
ht = format_temp(day_max)
pop = format_percentage(resp['daily'][day]['pop'])
daily_string = daily_string + "\n<span font_family=\"Fantasque Sans Mono\" size=\"large\">" + dt \
+ " " + icon + " " + pop + " " + lt + " "
day_tempc_startc = int((day_min - dlow) / incr)
day_tempc_stopc = int((day_max - dlow) / incr)
for character in range(steps):
if character < day_tempc_startc:
daily_string = daily_string + " "
elif character > day_tempc_stopc:
daily_string = daily_string + " "
else:
daily_string = daily_string + ""
daily_string = daily_string + ht + "</span>"
return daily_string
def validate_latitude(lat):
try:
lat = float(lat)
return -90 <= lat <= 90
except ValueError:
return False
def validate_longitude(lon):
try:
lon = float(lon)
return -180 <= lon <= 180
except ValueError:
return False
def validate_units(units):
valid_units = ['metric', 'standard', 'imperial']
return units.lower() in valid_units
URL = "https://api.openweathermap.org/data/3.0/onecall?"
try:
config_file = os.path.expanduser("~/.config/waybar/weather.conf")
with open(config_file, "r") as file:
for line in file:
key, value = line.strip().replace(" ", "").split("=")
if key == "lat":
if not validate_latitude(value):
print("Error: Invalid latitude")
sys.exit(1)
elif key == "lon":
if not validate_longitude(value):
print("Error: Invalid longitude")
sys.exit(1)
elif key == "units":
if not validate_units(value):
print("Error: Invalid units")
sys.exit(1)
elif key == "appid":
pass
else:
print("Error: Unknown key '{}'".format(key))
sys.exit(1)
URL = URL + "&" + key + "=" + value
except FileNotFoundError:
print("Error: File '{}' not found".format(config_file))
sys.exit(1)
with urllib.request.urlopen(URL) as url:
resp = json.load(url)
current_status_code = resp['current']['weather'][0]['id']
current_temp = round(resp['current']['temp'])
current_desc = resp['current']['weather'][0]['description']
current_dt = resp['current']['dt']
current_is_daytime = is_daytime(current_dt, resp)
current_icon = decode_icon(current_status_code, current_is_daytime)
precipitation_chart = render_minutely_precip_chart(resp)
precip_chart_string = format_precip_chart_string(precipitation_chart, resp)
hours_to_show = 16
hourly_hours = get_hourly_hours(hours_to_show, resp)
hourly_icons = get_hourly_icons(hours_to_show, resp)
hourly_temps = get_hourly_temps(hours_to_show, resp)
days_to_show = 8
dlow, dhigh = compute_daily_minmax(days_to_show, resp)
daily_forecast = get_daily(days_to_show, resp, dlow, dhigh)
tooltip_text = f"<span font_family=\"Fantasque Sans Mono\" size=\"xx-large\">{current_icon} {current_desc}</span>\n\n" \
+ precip_chart_string \
+ f"<span font_family=\"Fantasque Sans Mono\">{hourly_hours}</span>\n" \
+ f"<span font_family=\"Fantasque Sans Mono\">{hourly_icons}</span>\n" \
+ f"<span font_family=\"Fantasque Sans Mono\">{hourly_temps}</span>" \
+ daily_forecast
out_data = {
"text": f"{current_icon} {current_temp} °F",
"class": current_status_code,
"alt": current_desc,
"tooltip": tooltip_text
}
print(json.dumps(out_data))

View file

@ -38,13 +38,6 @@
bindsym Control+Shift+F1 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 Control+Shift+F5 exec light -U 10
@ -72,15 +65,10 @@
bindsym $mod+Shift+d exec $menu
# Screenshots:
# Super+P: Current window
# Super+Shift+p: Select area
# Super+Alt+p Current output
# Super+Ctrl+p Select a window
bindsym Mod4+p exec grimshot --notify save active
bindsym Mod4+Shift+p exec grimshot --notify save area
bindsym Mod4+Mod1+p exec grimshot --notify save output
bindsym Mod4+Ctrl+p exec grimshot --notify save window
bindsym Mod4+p exec grimshot --notify save active # Current window
bindsym Mod4+Shift+p exec grimshot --notify save area # Select area
bindsym Mod4+Mod1+p exec grimshot --notify save output # Current output
bindsym Mod4+Ctrl+p exec grimshot --notify save window # Select a window
# rofi app and window launchers
bindsym $mod+p exec --no-startup-id $menu
@ -121,10 +109,6 @@
# 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
@ -134,8 +118,7 @@
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
bindsym $mod+Shift+f focus mode_toggle
# switch to workspace
bindsym $mod+F1 workspace 1
@ -162,18 +145,11 @@
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"
@ -182,7 +158,6 @@
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"
@ -248,11 +223,6 @@
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 [class="feishin"] 9
assign [app_id="firefox"] 2
assign [app_id="org.qutebrowser.qutebrowser"] 2
assign [class="^darktable$"] 4
@ -261,22 +231,11 @@
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="com.github.iwalton3.jellyfin-media-player"] 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
@ -292,12 +251,9 @@
# 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
@ -315,13 +271,6 @@
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
@ -337,7 +286,7 @@
# Title format for windows
for_window [shell="xdg_shell"] title_format "%title (%app_id)"
for_window [shell="x_wayland"] title_format "%class - %title"
for_window [shell="x_wayland"] title_format "-X- %class - %title"
# class border bground text indicator child_border
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
@ -359,12 +308,10 @@
exec --no-startup-id udiskie
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