372 lines
9.5 KiB
Text
372 lines
9.5 KiB
Text
# Keyboard definition
|
|
input "type:keyboard" {
|
|
xkb_layout us
|
|
xkb_variant intl
|
|
xkb_options "compose:rwin"
|
|
}
|
|
input "19266:13912:You_kbd6x" {
|
|
xkb_options "compose:rctrl"
|
|
}
|
|
input "1:1:AT_Translated_Set_2_keyboard" {
|
|
xkb_options "compose:rctrl"
|
|
}
|
|
|
|
# Touchpad definition
|
|
input type:touchpad {
|
|
tap enabled
|
|
}
|
|
|
|
|
|
### Variables
|
|
#
|
|
|
|
# Logo key. Use Mod1 for Alt.
|
|
set $mod Mod4
|
|
|
|
# Displays
|
|
set $thinkstation HDMI-A-3
|
|
set $thinkstation-work "Iiyama North America PL2483H 1173700204528"
|
|
set $thinkpad eDP-1
|
|
set $thinkpad-work "Samsung Electric Company SMS24A450/460 HTMC807749"
|
|
set $work DP-1
|
|
|
|
# Workspaces
|
|
set $wksp1 "1: Main"
|
|
set $wksp2 "2: Dev"
|
|
set $wksp3 "3: Social"
|
|
set $wksp4 "4: Music"
|
|
set $wksp5 "5: Graphics"
|
|
set $wksp6 "6: Games"
|
|
set $wksp7 "7: Remote"
|
|
set $wksp8 "8: -"
|
|
set $wksp9 "9: Databases"
|
|
set $wksp10 "10: Debugger"
|
|
|
|
# Colors
|
|
set $nord0 #2E3440
|
|
set $nord1 #3B4252
|
|
set $nord2 #434C5E
|
|
set $nord3 #4C566A
|
|
set $nord4 #D8DEE9
|
|
set $nord5 #E5E9F0
|
|
set $nord6 #ECEFF4
|
|
set $nord7 #8FBCBB
|
|
set $nord8 #88C0D0
|
|
set $nord9 #81A1C1
|
|
set $nord10 #5E81AC
|
|
set $nord11 #BF616A
|
|
set $nord12 #D08770
|
|
set $nord13 #EBCB8B
|
|
set $nord14 #A3BE8C
|
|
set $nord15 #B48EAD
|
|
|
|
# Your preferred terminal emulator
|
|
set $term /usr/bin/alacritty
|
|
|
|
# Your preferred application launcher
|
|
set $menu wofi -c ~/.config/wofi/config -s ~/.config/wofi/style.css -I
|
|
|
|
# Screen capture
|
|
set $ps1 Print
|
|
set $ps2 Control+Print
|
|
|
|
# Modals
|
|
set $modalWidth 1280
|
|
set $modalHeight 800
|
|
|
|
|
|
### Screens definitions
|
|
#
|
|
|
|
# Thinkstation
|
|
output $thinkstation resolution 3440x1440@100Hz position 0 0 adaptive_sync on
|
|
output $thinkstation-work resolution 1920x1080@60Hz position 3440 0 transform 270 adaptive_sync on
|
|
|
|
# Thinkpad
|
|
output $thinkpad resolution 1920x1080 position 1920 785
|
|
output $thinkpad-work resolution 1920x1080 position 0 0
|
|
|
|
|
|
### Gnome settings
|
|
#
|
|
|
|
set $gnome-schema org.gnome.desktop.interface
|
|
exec_always {
|
|
gsettings set $gnome-schema gtk-theme 'Nordic'
|
|
gsettings set $gnome-schema icon-theme 'NordArc-Icons'
|
|
gsettings set $gnome-schema cursor-theme 'ComixCursors-Opaque-White'
|
|
gsettings set $gnome-schema font-name 'Source Code Pro for Powerline 9'
|
|
gsettings set $gnome-schema monospace-font-name 'Source Code Pro for Powerline 9'
|
|
gsettings set $gnome-schema document-font-name 'Source Code Pro for Powerline 9'
|
|
gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Source Code Pro for Powerline 9'
|
|
gsettings set org.gnome.desktop.wm.preferences button-layout ''
|
|
gsettings set org.gnome.desktop.default-applications.terminal exec $term
|
|
gsettings set org.gnome.desktop.default-applications.terminal exec-arg ''
|
|
}
|
|
|
|
|
|
### Idle configuration
|
|
#
|
|
|
|
exec swayidle -w \
|
|
timeout 300 'swaylock -f' \
|
|
timeout 305 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
|
before-sleep 'swaylock -f'
|
|
|
|
|
|
### Autostart
|
|
#
|
|
|
|
exec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
|
|
exec gnome-keyring-daemon
|
|
#exec /usr/bin/libinput-gestures
|
|
#exec nm-applet --indicator
|
|
exec kdeconnect-indicator
|
|
exec mako
|
|
exec nextcloud --background
|
|
exec remmina -i
|
|
exec $term
|
|
exec firefox
|
|
exec spotify
|
|
exec signal-desktop --use-tray-icon
|
|
exec teams
|
|
exec mpd
|
|
exec libinput-gestures-setup start
|
|
# Set focus on main screen
|
|
exec ~/bin/autoFocus.sh
|
|
|
|
|
|
### Window config
|
|
#
|
|
|
|
for_window [app_id=".*"] border pixel 4
|
|
|
|
# Auto move on Workspace
|
|
for_window [class="Signal"] move container to workspace $wksp3
|
|
for_window [class="Teams"] move container to workspace $wksp3
|
|
for_window [class="Slack"] move container to workspace $wksp3
|
|
for_window [class="Spotify"] move container to workspace $wksp4
|
|
|
|
# Open as floating
|
|
for_window [class="Geeqie"] floating enable
|
|
for_window [class="com-sun-javaws-Main"] floating enable
|
|
for_window [app_id="Alacritty" title="Pulse Mixer"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="Calendar"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="File Browser"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="Ncdu"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="Top"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="Audio Visualizer"] floating enable, resize set $modalWidth $modalHeight
|
|
for_window [app_id="Alacritty" title="Music Player Client"] floating enable, resize set $modalWidth $modalHeight
|
|
|
|
|
|
### Key bindings
|
|
#
|
|
|
|
# Start a terminal
|
|
bindsym $mod+Return exec $term
|
|
|
|
# Kill focused window
|
|
bindsym control+q kill
|
|
|
|
# Start your launcher
|
|
bindsym Alt+space exec $menu
|
|
|
|
# lock screen
|
|
bindsym $mod+Alt+l exec swaylock -f
|
|
|
|
# Reload the configuration file
|
|
bindsym $mod+Shift+r reload
|
|
|
|
# Exit sway (logs you out of your Wayland session)
|
|
bindsym $mod+Shift+x exec swaynag -t warning -m 'End session?' -b 'Yes, exit sway' 'swaymsg exit'
|
|
|
|
# File Browser
|
|
bindsym $mod+f exec "$term -t 'File Browser' -e ranger"
|
|
|
|
# Disk Usage
|
|
bindsym $mod+Shift+f exec "$term -t 'Ncdu' -e 'ncdu --color=dark'"
|
|
|
|
# Top
|
|
bindsym $mod+t exec "$term -t 'Top' -e bpytop"
|
|
|
|
# Calendar
|
|
bindsym $mod+c exec "$term -t 'Calendar' -e khal interactive"
|
|
|
|
# Dismiss last notification
|
|
bindsym $mod+n exec makoctl dismiss
|
|
# Do not disturb
|
|
bindsym $mod+d exec makoctl set-mode do-not-disturb
|
|
bindsym $mod+Shift+d exec "makoctl set-mode default && makoctl restore"
|
|
|
|
# Multimedia keys
|
|
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
|
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
|
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
bindsym XF86AudioPlay exec mpc toggle
|
|
bindsym XF86AudioPrev exec mpc prev
|
|
bindsym XF86AudioNext exec mpc next
|
|
bindsym $mod+shift+p exec "$term -t 'Pulse Mixer' -e pulsemixer"
|
|
bindsym $mod+shift+m exec "$term -t 'Music Player Client' -e ncmpcpp"
|
|
bindsym $mod+shift+v exec "$term -t 'Audio Visualizer' -e cava"
|
|
|
|
# Screen
|
|
bindsym $mod+p exec "swaymsg output $work toggle"
|
|
|
|
#
|
|
# Brightness
|
|
bindsym XF86MonBrightnessDown exec brightnessctl s 64-
|
|
bindsym XF86MonBrightnessUp exec brightnessctl s 64+
|
|
|
|
# Screenshots
|
|
bindsym $ps1 exec grim ~/Pictures/Screenshots/ps_$(date +"%Y%m%d%H%M%S").png
|
|
bindsym $ps2 exec grim -g "$(slurp)" ~/Pictures/Screenshots/ps_selection_$(date +"%Y%m%d%H%M%S").png
|
|
|
|
# Moving around:
|
|
bindsym $mod+h focus left
|
|
bindsym $mod+j focus down
|
|
bindsym $mod+k focus up
|
|
bindsym $mod+l focus right
|
|
|
|
# Move focussed workspace
|
|
bindsym $mod+Shift+h move left
|
|
bindsym $mod+Shift+j move down
|
|
bindsym $mod+Shift+k move up
|
|
bindsym $mod+Shift+l move right
|
|
|
|
# Workspaces:
|
|
bindsym $mod+1 workspace $wksp1
|
|
bindsym $mod+2 workspace $wksp2
|
|
bindsym $mod+3 workspace $wksp3
|
|
bindsym $mod+4 workspace $wksp4
|
|
bindsym $mod+5 workspace $wksp5
|
|
bindsym $mod+6 workspace $wksp6
|
|
bindsym $mod+7 workspace $wksp7
|
|
bindsym $mod+8 workspace $wksp8
|
|
bindsym $mod+9 workspace $wksp9
|
|
bindsym $mod+0 workspace $wksp10
|
|
|
|
# switch to previous/next workspace
|
|
bindsym Mod1+Control+a workspace prev_on_output
|
|
bindsym Mod1+Control+d workspace next_on_output
|
|
|
|
# Move focused container to workspace
|
|
bindsym $mod+Shift+1 move container to workspace $wksp1
|
|
bindsym $mod+Shift+2 move container to workspace $wksp2
|
|
bindsym $mod+Shift+3 move container to workspace $wksp3
|
|
bindsym $mod+Shift+4 move container to workspace $wksp4
|
|
bindsym $mod+Shift+5 move container to workspace $wksp5
|
|
bindsym $mod+Shift+6 move container to workspace $wksp6
|
|
bindsym $mod+Shift+7 move container to workspace $wksp7
|
|
bindsym $mod+Shift+8 move container to workspace $wksp8
|
|
bindsym $mod+Shift+9 move container to workspace $wksp9
|
|
bindsym $mod+Shift+0 move container to workspace $wksp10
|
|
|
|
# Layout stuff:
|
|
bindsym $mod+backslash splith
|
|
bindsym $mod+minus splitv
|
|
|
|
# Switch the current container between different layout styles
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# Make the current focus fullscreen
|
|
bindsym $mod+Mod1+f fullscreen
|
|
|
|
# Toggle the current focus between tiling and floating mode
|
|
bindsym $mod+Shift+space floating toggle
|
|
|
|
# Swap focus between the tiling area and the floating area
|
|
bindsym $mod+space focus mode_toggle
|
|
|
|
# Resizing containers
|
|
bindsym $mod+r mode "resize"
|
|
mode "resize" {
|
|
bindsym h resize shrink width 10px
|
|
bindsym j resize grow height 10px
|
|
bindsym k resize shrink height 10px
|
|
bindsym l resize grow width 10px
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
# Mode containers
|
|
bindsym $mod+m mode "move"
|
|
mode "move" {
|
|
bindsym h move left 10px
|
|
bindsym j move down 10px
|
|
bindsym k move up 10px
|
|
bindsym l move right 10px
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
|
|
### Default placement
|
|
#
|
|
|
|
workspace $wksp1 output $thinkstation
|
|
workspace $wksp2 output $thinkstation
|
|
workspace $wksp3 output $thinkstation
|
|
workspace $wksp4 output $thinkstation
|
|
workspace $wksp5 output $thinkstation
|
|
workspace $wksp6 output $thinkstation
|
|
workspace $wksp7 output $thinkstation
|
|
workspace $wksp8 output $thinkstation
|
|
workspace $wksp9 output $work
|
|
workspace $wksp10 output $work
|
|
|
|
|
|
|
|
### Default workspace layout
|
|
#
|
|
|
|
workspace_layout tabbed
|
|
|
|
|
|
### Status Bar:
|
|
#
|
|
|
|
bar {
|
|
swaybar_command waybar
|
|
}
|
|
|
|
|
|
### gaps
|
|
#
|
|
|
|
gaps inner 10
|
|
gaps outer -5
|
|
smart_gaps off
|
|
|
|
|
|
### Titlebars
|
|
#
|
|
|
|
default_border pixel 4
|
|
default_floating_border normal
|
|
hide_edge_borders smart
|
|
titlebar_padding 5 2
|
|
|
|
|
|
### Colors
|
|
#
|
|
|
|
client.focused $nord10 $nord0 $nord4 $nord10 $nord10
|
|
client.focused_inactive $nord1 $nord1 $nord4 $nord3 $nord3
|
|
client.unfocused $nord2 $nord2 $nord4 $nord3 $nord3
|
|
client.urgent $nord11 $nord11 $nord4 $nord12 $nord12
|
|
|
|
|
|
### Background
|
|
#
|
|
|
|
output * bg /home/dbroqua/.wallpaper fill
|
|
|
|
|
|
### Include other
|
|
#
|
|
|
|
include /etc/sway/config.d/*
|