|
|
@@ -1,320 +1,11 @@
|
|
|
+# Include system defaults
|
|
|
include /etc/sway/config.d/*
|
|
|
|
|
|
-# Sway Window Manager Configuration
|
|
|
-# ================================
|
|
|
-
|
|
|
-# 1. Variables and General Settings
|
|
|
-# --------------------------------
|
|
|
-set {
|
|
|
- $mod Mod4
|
|
|
- # $term kitty
|
|
|
- $term kitty
|
|
|
- $menu fuzzel
|
|
|
- $left h
|
|
|
- $down j
|
|
|
- $up k
|
|
|
- $right l
|
|
|
-
|
|
|
- # Monitor outputs
|
|
|
- $out1 DP-1
|
|
|
- $out2 HDMI-A-1
|
|
|
-
|
|
|
- # Original Colors
|
|
|
- $focused_border #19141D
|
|
|
- $focused_text #CACACA
|
|
|
-}
|
|
|
-
|
|
|
-# Font configuration
|
|
|
-font pango:monospace 12
|
|
|
-
|
|
|
-# Use Mouse+$mod to drag floating windows
|
|
|
-floating_modifier $mod
|
|
|
-
|
|
|
-# 2. Appearance
|
|
|
-# ------------
|
|
|
-# Window Decoration
|
|
|
-default_border pixel 1
|
|
|
-default_floating_border pixel 1
|
|
|
-smart_borders on
|
|
|
-
|
|
|
-# Window Colors (Preserved from original config)
|
|
|
-client.focused #19141D #19141D #CACACA #19141D #CACACA
|
|
|
-
|
|
|
-# Gaps Configuration
|
|
|
-gaps inner 5
|
|
|
-gaps outer 5
|
|
|
-
|
|
|
-xwayland enable
|
|
|
-
|
|
|
-# Optional SwayFX Settings
|
|
|
-smart_corner_radius on
|
|
|
-corner_radius 10
|
|
|
-
|
|
|
-default_dim_inactive 0.05
|
|
|
-blur enable
|
|
|
-blur_passes 1
|
|
|
-blur_radius 1
|
|
|
-layer_effects "waybar" "blur enable"; shadows enable
|
|
|
-shadows on
|
|
|
-shadow_blur_radius 20
|
|
|
-
|
|
|
-# 3. Workspaces
|
|
|
-# ------------
|
|
|
-set {
|
|
|
- $ws1 "1"
|
|
|
- $ws2 "2"
|
|
|
- $ws3 "3"
|
|
|
- $ws4 "4"
|
|
|
- $ws5 "5"
|
|
|
- $ws6 "6"
|
|
|
- $ws7 "7"
|
|
|
- $ws8 "8"
|
|
|
- $ws9 "9"
|
|
|
- $ws10 "10"
|
|
|
-}
|
|
|
-
|
|
|
-# Workspace Monitor Assignments
|
|
|
-workspace {
|
|
|
- 1 output $out1
|
|
|
- 3 output $out1
|
|
|
- 5 output $out1
|
|
|
- 7 output $out1
|
|
|
- 9 output $out1
|
|
|
- 2 output $out2
|
|
|
- 4 output $out2
|
|
|
- 6 output $out2
|
|
|
- 8 output $out2
|
|
|
- 10 output $out2
|
|
|
-}
|
|
|
-
|
|
|
-# 4. Key Bindings
|
|
|
-# --------------
|
|
|
-# System Controls
|
|
|
-bindsym {
|
|
|
- $mod+Shift+r exec swaymsg reload && notify-send "Reloaded sway config"
|
|
|
- $mod+Shift+e exec --no-startup-id wlogout
|
|
|
-}
|
|
|
-
|
|
|
-bindgesture swipe:right focus right
|
|
|
-bindgesture swipe:left focus left
|
|
|
-bindgesture swipe:up workspace next
|
|
|
-bindgesture swipe:down workspace prev
|
|
|
-
|
|
|
-# Application Launchers
|
|
|
-bindsym {
|
|
|
- $mod+Return exec $term
|
|
|
- # $mod+d exec fuzzel
|
|
|
- $mod+d exec rofi -show combi -combi-modi "window,drun" -modi combi
|
|
|
- $mod+t exec ~/.bin/code.sh -s ~/.bin/fuzzel.lua
|
|
|
- $mod+shift+t exec ~/.bin/present
|
|
|
- $mod+n exec ~/.bin/sdm-ui.sh dmenu
|
|
|
- # $mod+o exec ~/.bin/obsidian-launcher
|
|
|
- # luanch kitty + neovim at ~/Documents/Vault
|
|
|
- $mod+o exec bash -c "cd /home/forbi/Documents/Vault && $term nvim"
|
|
|
- $mod+e exec nemo
|
|
|
-}
|
|
|
-
|
|
|
-# Window Management
|
|
|
-bindsym {
|
|
|
- $mod+c kill
|
|
|
- $mod+f fullscreen toggle
|
|
|
- $mod+space floating toggle
|
|
|
-
|
|
|
- # Layout
|
|
|
- $mod+s layout stacking
|
|
|
- $mod+w layout toggle tabbed split
|
|
|
- $mod+semicolon split h
|
|
|
-
|
|
|
- # Focus
|
|
|
- $mod+$left focus left
|
|
|
- $mod+$down focus down
|
|
|
- $mod+$up focus up
|
|
|
- $mod+$right focus right
|
|
|
-
|
|
|
- $mod+Left focus left
|
|
|
- $mod+Down focus down
|
|
|
- $mod+Up focus up
|
|
|
- $mod+Right focus right
|
|
|
-
|
|
|
- # Move
|
|
|
- $mod+Shift+$left move left
|
|
|
- $mod+Shift+$down move down
|
|
|
- $mod+Shift+$up move up
|
|
|
- $mod+Shift+$right move right
|
|
|
-
|
|
|
- $mod+Shift+Left move left
|
|
|
- $mod+Shift+Down move down
|
|
|
- $mod+Shift+Up move up
|
|
|
- $mod+Shift+Right move right
|
|
|
-}
|
|
|
-
|
|
|
-# Workspace Management
|
|
|
-bindsym {
|
|
|
- $mod+1 workspace $ws1
|
|
|
- $mod+2 workspace $ws2
|
|
|
- $mod+3 workspace $ws3
|
|
|
- $mod+4 workspace $ws4
|
|
|
- $mod+5 workspace $ws5
|
|
|
- $mod+6 workspace $ws6
|
|
|
- $mod+7 workspace $ws7
|
|
|
- $mod+8 workspace $ws8
|
|
|
- $mod+9 workspace $ws9
|
|
|
- $mod+0 workspace $ws10
|
|
|
-
|
|
|
- $mod+Shift+1 move container to workspace $ws1
|
|
|
- $mod+Shift+2 move container to workspace $ws2
|
|
|
- $mod+Shift+3 move container to workspace $ws3
|
|
|
- $mod+Shift+4 move container to workspace $ws4
|
|
|
- $mod+Shift+5 move container to workspace $ws5
|
|
|
- $mod+Shift+6 move container to workspace $ws6
|
|
|
- $mod+Shift+7 move container to workspace $ws7
|
|
|
- $mod+Shift+8 move container to workspace $ws8
|
|
|
- $mod+Shift+9 move container to workspace $ws9
|
|
|
- $mod+Shift+0 move container to workspace $ws10
|
|
|
-
|
|
|
- $mod+bracketright move workspace to output right
|
|
|
- $mod+bracketleft move workspace to output left
|
|
|
-}
|
|
|
-
|
|
|
-# Scratchpad
|
|
|
-bindsym {
|
|
|
- $mod+Shift+minus move scratchpad
|
|
|
- $mod+minus scratchpad show
|
|
|
- $mod+u [app_id="uy.com.mzunino"] scratchpad show, move position center, fullscreen disable, resize set 1366 768
|
|
|
-}
|
|
|
-
|
|
|
-# Floating Terminal
|
|
|
-bindsym $mod+Shift+u exec --no-startup-id $term --class="uy.com.mzunino"
|
|
|
-
|
|
|
-# Other Special Bindings
|
|
|
-bindsym {
|
|
|
- F4 exec switch-windows
|
|
|
- $mod+r exec --no-startup-id ~/.bin/wlrecord.sh
|
|
|
- $mod+p exec --no-startup-id grim -g "$(slurp -d)" - | swappy -f -
|
|
|
- $mod+shift+p exec --no-startup-id ~/.bin/screenshot-upload
|
|
|
- $mod+F5 exec --no-startup-id ~/.bin/pause-notifications
|
|
|
- $mod+Escape exec ~/.bin/lock.sh
|
|
|
- $mod+shift+d exec ~/.local/bin/satty-window
|
|
|
-}
|
|
|
-
|
|
|
-# 5. Multimedia Keys
|
|
|
-bindsym {
|
|
|
- XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +2%
|
|
|
- XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -2%
|
|
|
- XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
|
|
|
- XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
|
|
- XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
|
|
-}
|
|
|
-
|
|
|
-# Mouse Bindings
|
|
|
-bindsym {
|
|
|
- --border button2 kill
|
|
|
- --whole-window $mod+button2 kill
|
|
|
- button3 floating toggle
|
|
|
- $mod+button3 floating toggle
|
|
|
-}
|
|
|
-
|
|
|
-# 6. Window Rules (Preserving original detailed rules)
|
|
|
-for_window [app_id="uy.com.mzunino"] floating enable, move scratchpad
|
|
|
-for_window [app_id="Evolution-alarm-notify"] floating enable
|
|
|
-for_window [app_id="sm"] move to workspace 4, workspace --no-auto-back-and-forth 4
|
|
|
-for_window [title="JetBrains Toolbox"] floating enable
|
|
|
-for_window [app_id="Spotify"] move to workspace 5, workspace --no-auto-back-and-forth 5
|
|
|
-for_window [title="Espanso Sync Tool"] floating enable, move to workspace 10
|
|
|
-for_window [app_id="yad"] floating enable
|
|
|
-for_window [class="Pinentry-gtk"] floating enable
|
|
|
-for_window [app_id="com.github.hluk.copyq"] floating enable
|
|
|
-for_window [app_id="com.github.hluk.copyq"] resize set 1366 768
|
|
|
-for_window [app_id="authenticator"] floating enable
|
|
|
-for_window [app_id="authenticator"] resize set 400 800
|
|
|
-for_window [title="File Operation Progress"] floating enable
|
|
|
-for_window [title="Do Not Panic"] floating enable
|
|
|
-for_window [title="Unlock Keyring"] floating enable
|
|
|
-for_window [title="Confirm to replace files"] floating enable
|
|
|
-for_window [title="Extension: (Bitwarden Password Manager) - Bitwarden — Mozilla Firefox"] floating enable
|
|
|
-for_window [title="Bitwarden - Vivaldi"] floating enable
|
|
|
-
|
|
|
-for_window [title="Write: .*" app_id="eu.betterbird.Betterbird"] floating enable
|
|
|
-for_window [app_id="eu.betterbird.Betterbird"] floating disable
|
|
|
-
|
|
|
-for_window [title="win0"] floating enable border none
|
|
|
-for_window [class=".*"] border pixel 0
|
|
|
-for_window [app_id="org.pulseaudio.pavucontrol"] floating enable, resize set 700 800
|
|
|
-for_window [app_id="pdf_float"] floating enable, resize set width 1366 px height 900 px
|
|
|
-
|
|
|
-# 7. Workspace Assignments (Preserving original detailed assignments)
|
|
|
-assign [class="^discord$"] 10
|
|
|
-assign [app_id="^de.shorsh.discord-screenaudio$"] 10
|
|
|
-assign [class="^WebCord$"] 10
|
|
|
-assign [class="^vesktop$"] 10
|
|
|
-assign [app_id="vesktop"] 10
|
|
|
-assign [app_id="thunderbird"] 7
|
|
|
-assign [app_id="eu.betterbird.Betterbird"] 7
|
|
|
-assign [class="DBeaver"] 4
|
|
|
-assign [app_id="sublime_merge"] 4
|
|
|
-assign [app_id="^jetbrains-idea$"] 3
|
|
|
-assign [title="^win0$"] 3
|
|
|
-assign [title=".*Visual Studio Code*."] 3
|
|
|
-assign [app_id="^nvim ~ "] 3
|
|
|
-assign [title="^nvim ~ "] 3
|
|
|
-assign [app_id="firefox-nightly"] 2
|
|
|
-assign [app_id="firefox"] 2
|
|
|
-assign [app_id="zen"] 2
|
|
|
-assign [instance="vivaldi-stable"] 2
|
|
|
-assign [class="Vivaldi-stable"] 2
|
|
|
-assign [class="Slack"] 1
|
|
|
-assign [app_id="^Chromium"] 1
|
|
|
-
|
|
|
-# 8. Workspace Layouts
|
|
|
-for_window [workspace=$ws1] layout tabbed
|
|
|
-
|
|
|
-# 9. Input Configuration
|
|
|
-input type:keyboard {
|
|
|
- xkb_layout us
|
|
|
- xkb_variant altgr-intl
|
|
|
- xkb_options caps:escape
|
|
|
-}
|
|
|
-
|
|
|
-input type:touchpad {
|
|
|
- dwt enabled
|
|
|
- tap enabled
|
|
|
- accel_profile adaptive
|
|
|
- pointer_accel 0.5
|
|
|
-}
|
|
|
-
|
|
|
-input "2:10:TPPS/2_Elan_TrackPoint" {
|
|
|
- accel_profile "flat"
|
|
|
- pointer_accel 0.7
|
|
|
-}
|
|
|
-
|
|
|
-# # 10. Output Configuration
|
|
|
-output $out1 {
|
|
|
- resolution 1920x1080
|
|
|
- position 0 0
|
|
|
-}
|
|
|
-
|
|
|
-output $out2 {
|
|
|
- resolution 1920x1080
|
|
|
- position 1920 0
|
|
|
-}
|
|
|
-
|
|
|
-output * adaptive_sync off
|
|
|
-
|
|
|
-# 11. Autostart Applications
|
|
|
-exec {
|
|
|
- ~/.bin/randwall
|
|
|
- ~/.bin/waybar.sh
|
|
|
- $term --class="uy.com.mzunino"
|
|
|
- slack
|
|
|
- davmail
|
|
|
- betterbird
|
|
|
- zen-browser
|
|
|
-
|
|
|
- /usr/lib/mate-polkit/polkit-mate-authentication-agent-1
|
|
|
- blueman-applet
|
|
|
- nm-applet
|
|
|
- swaync
|
|
|
- wlsunset -l -34.9 -L -56.2 -t 4500 -g 0.9
|
|
|
- easyeffects --gapplication-service
|
|
|
-}
|
|
|
-
|
|
|
+# Include custom configuration modules
|
|
|
+include ~/.config/sway/config.d/variables
|
|
|
+include ~/.config/sway/config.d/appearance
|
|
|
+include ~/.config/sway/config.d/workspaces
|
|
|
+include ~/.config/sway/config.d/keybindings
|
|
|
+include ~/.config/sway/config.d/window-rules
|
|
|
+include ~/.config/sway/config.d/input-output
|
|
|
+include ~/.config/sway/config.d/autostart
|