| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- 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
- $mod+a focus parent
- # 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 {
- $mod+g exec --no-startup-id gromit-mpx -t 0
- 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
- }
- # 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
- # System services - lxsession includes polkit
- lxsession
- # System tray applets
- blueman-applet
- nm-applet
- # Background services
- easyeffects --gapplication-service
- swaync
- wlsunset -l -34.9 -L -56.2 -t 4500 -g 0.9
- # Applications
- $term --class="uy.com.mzunino"
- slack
- davmail
- betterbird
- legcord
- # Browser - using gtk-launch instead of BROWSER variable
- zen-browser
- # Commented out for reference
- # gtk-launch correo
- swayidle -w
- }
|