329 lines
8.4 KiB
Text
329 lines
8.4 KiB
Text
# 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
|
|
}
|
|
|
|
# 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
|
|
$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
|
|
|
|
# Environment and system integration
|
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_SESSION_DESKTOP=sway
|
|
systemctl --user import-environment
|
|
|
|
# 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
|
|
vesktop
|
|
|
|
# Browser - using gtk-launch instead of BROWSER variable
|
|
zen-browser
|
|
|
|
# Commented out for reference
|
|
# gtk-launch correo
|
|
swayidle -w
|
|
}
|