# Keyboard definition input "type:keyboard" { xkb_layout us xkb_variant intl xkb_options "compose:rwin" } input "19266:13912:You_kbd6x" { xkb_layout us xkb_variant intl xkb_options "compose:rctrl" } input "1:1:AT_Translated_Set_2_keyboard" { xkb_layout us xkb_variant intl 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 DP-1 set $thinkpad eDP-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 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 output $thinkpad 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 ### 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" # Note bindsym $mod+n exec "/home/dbroqua/Softwares/Zettlr" # 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 $thinkstation-work toggle # # Brightness bindsym XF86MonBrightnessDown exec light -U 10 bindsym XF86MonBrightnessUp exec light -A 10 # 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 $thinkstation-work workspace $wksp10 output $thinkstation-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/*