changes from desktop

This commit is contained in:
2025-11-03 14:41:43 +00:00
parent e1e4f6ae51
commit c374923ae2
78 changed files with 374 additions and 2933 deletions
+134 -167
View File
@@ -1,85 +1,97 @@
# === General Settings ===
### Basic Settings
set $mod Mod4
set $alt Mod1
set $myTerm alacritty
font pango:MesloLGS NF 11
set $term alacritty
floating_modifier $mod
#hide_edge_borders none
default_border none
# === Monitor related ===
font pango:MesloLGS Nerd Font 11
# === Terminal ===
bindsym $mod+Return exec $myTerm --command tmux
bindsym $mod+Ctrl+Return exec $myTerm
### Startup Applications
exec --no-startup-id blueman-applet
exec --no-startup-id mullvad-vpn
exec --no-startup-id gammastep
exec --no-startup-id swaymsg workspace 1
exec --no-startup-id waybar
exec --no-startup-id thunderbird
exec --no-startup-id nextcloud
exec --no-startup-id spotify
exec --no-startup-id brave
exec --no-startup-id alacritty
# === Program Launcher & Utilities ===
#bindsym $mod+Shift+Return exec wofi --show drun --style ~/.config/wofi/style.css
### output config
output HDMI-A-1 resolution 3840x2160@119.88Hz
bar {
swaybar_command waybar
mode hide
hidden_state hide
position top
}
### Input
input "type:touchpad" {
tap enabled
dwt enabled
click_method clickfinger
natural_scroll enabled
tap_button_map lrm
}
input "*" {
xkb_layout us
xkb_variant intl
}
### Gaps
gaps inner 8
gaps outer -4
smart_gaps on
smart_borders on
### Default workspace behavior
workspace_auto_back_and_forth yes
### Keybindings
# Terminal and Rofi
bindsym $mod+Return exec alacritty
bindsym $mod+Ctrl+Return exec alacritty zellij
bindsym $mod+Shift+Return exec rofi -show combi
bindsym $mod+Print exec "flameshot full -c"
bindsym $mod+Shift+Print exec "flameshot gui"
bindsym $mod+Ctrl+Shift+Print exec --no-startup-id simplescreenrecorder --start-hidden --start-recording
# === input devices ===
input type:touchpad {
tap enabled
natural_scroll enabled
tap_button_map lrm # tap with 1 finger = left click, 2 fingers = right click, 3 fingers = middle click
}
input type:keyboard {
xkb_layout us
xkb_variant intl
}
# === Volume & Media Keys ===
bindsym XF86AudioLowerVolume exec pamixer --decrease 5
bindsym XF86AudioRaiseVolume exec pamixer --increase 5
bindsym XF86AudioMute exec pamixer -t
bindsym $mod+XF86AudioMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
# System
bindsym $mod+Ctrl+l exec swaylock
bindsym $mod+Shift+r reload
bindsym $mod+Ctrl+Shift+Alt+s exec systemctl suspend
bindsym $mod+Ctrl+Shift+Alt+h exec systemctl hibernate
# Audio
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindsym $mod+XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym $mod+XF86AudioRaiseVolume exec playerctl next
bindsym $mod+XF86AudioLowerVolume exec playerctl previous
# === Brightness Keys ===
bindsym XF86MonBrightnessUp exec "light -A 5; notify-send 'Brightness set to $(light)'"
bindsym XF86MonBrightnessDown exec "light -U 5; notify-send 'Brightness set to $(light)'"
bindsym $mod+XF86MonBrightnessDown exec "light -S 0.2; notify-send 'Brightness set to min'"
bindsym $mod+XF86MonBrightnessUp exec "light -S 100; notify-send 'Brightness set to max'"
# Brightness
bindsym XF86MonBrightnessUp exec light -A 5; notify-send "Brightness set to $(light)"
bindsym XF86MonBrightnessDown exec light -U 5; notify-send "Brightness set to $(light)"
bindsym $mod+XF86MonBrightnessDown exec light -S 0.2; notify-send "Brightness set to min"
bindsym $mod+XF86MonBrightnessUp exec light -S 100; notify-send "Brightness set to max"
# === Calculator ===
bindsym XF86Calculator exec --no-startup-id qalculate-gtk
# === Kill Window ===
# Misc
bindsym XF86Calculator exec qalculate-gtk
bindsym $mod+Shift+c kill
# === Autostart ===
exec waybar -c ~/.config/waybar/config.jsonc
exec --no-startup-id nextcloud
exec mako
exec --no-startup-id mullvad-vpn
exec --no-startup-id redshift ~/.config/redshift/redshift.conf
exec --no-startup-id blueman-applet
exec --no-startup-id flameshot
# === Idle / Lock ===
exec swayidle -w \
timeout 1800 'swaylock -f' \
timeout 1860 'systemctl suspend' \
resume 'notify-send "Welcome back!"' \
before-sleep 'swaylock -f'
# === Borders ===
# Borders
default_border pixel 2
bindsym $mod+u border none
bindsym $mod+y border pixel 1
bindsym $mod+n border normal
bindsym $mod+Shift+n border none
# === Focus Movement ===
# Focus movement
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
@@ -89,7 +101,7 @@ bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# === Move Windows ===
# Move containers
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
@@ -99,75 +111,21 @@ bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# === Workspace Management ===
workspace_auto_back_and_forth yes
# Workspaces
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9
# Scratchpad
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
# Move to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
# Move and switch
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
# === Monitor Output Control ===
bindsym $mod+greater focus output right
bindsym $mod+less focus output left
bindsym $mod+Ctrl+greater move container to output right; focus output right
bindsym $mod+Ctrl+less move container to output left; focus output left
bindsym $mod+Ctrl+Shift+greater move workspace to output right
bindsym $mod+Ctrl+Shift+less move workspace to output left
bindsym $mod+Ctrl+Shift+h move workspace to output left
bindsym $mod+Ctrl+Shift+l move workspace to output right
bindsym $mod+Ctrl+Shift+k move workspace to output up
bindsym $mod+Ctrl+Shift+j move workspace to output down
# === Layout and Modes ===
# Layout
bindsym $mod+z split h; exec notify-send 'Tile horizontally'
bindsym $mod+v split v; exec notify-send 'Tile vertically'
bindsym $mod+q split toggle
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+y fullscreen disable; floating enable; resize set 640 480; sticky enable; move window to position 1270 590
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
@@ -176,34 +134,59 @@ bindsym $mod+space focus mode_toggle
bindsym $mod+Shift+s sticky toggle
bindsym $mod+a focus parent
# === Scratchpad ===
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# Workspace keybindings 1-9
bindsym $mod+1 workspace 1
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Ctrl+1 move container to workspace 1; workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Ctrl+2 move container to workspace 2; workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Ctrl+3 move container to workspace 3; workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Ctrl+4 move container to workspace 4; workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Ctrl+5 move container to workspace 5; workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Ctrl+6 move container to workspace 6; workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Ctrl+7 move container to workspace 7; workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Ctrl+8 move container to workspace 8; workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Ctrl+9 move container to workspace 9; workspace 9
# === Resize Mode ===
bindsym $mod+r mode "resize"
### Assignments
assign [app_id="thunderbird"] workspace "9: mail"
### Resize mode
mode "resize" {
bindsym h resize shrink width 4 px or 4 ppt
bindsym j resize grow height 4 px or 4 ppt
bindsym k resize shrink height 4 px or 4 ppt
bindsym l resize grow width 4 px or 4 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym h resize shrink width 4px or 4ppt
bindsym j resize grow height 4px or 4ppt
bindsym k resize shrink height 4px or 4ppt
bindsym l resize grow width 4px or 4ppt
bindsym Left resize shrink width 10px or 10ppt
bindsym Down resize grow height 10px or 10ppt
bindsym Up resize shrink height 10px or 10ppt
bindsym Right resize grow width 10px or 10ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
# === System Actions ===
bindsym $mod+Ctrl+l exec --no-startup-id i3lock -c 000000
bindsym $mod+Ctrl+Shift+$alt+l exec --no-startup-id light-locker-command -l
bindsym $mod+Shift+Ctrl+$alt+h exec --no-startup-id systemctl hibernate
bindsym $mod+Shift+Ctrl+$alt+s exec --no-startup-id systemctl suspend
# === Assign Applications ===
assign [class="Thunderbird"] $ws9
assign [class="Spotify"] $ws9
### Colors
client.focused #ff8800 #2F3D44 #FF8800 #FDF6E3 #ff8800
client.focused_inactive #333333 #222222 #444444 #454948 #222222
client.unfocused #2F3D44 #2F3D44 #FF8800 #454948 #222222
client.urgent #CB4B16 #FDF6E3 #FF8800 #268BD2 #222222
client.placeholder #000000 #0c0c0c #ffffff #000000 #222222
client.background #2B2C2B
# === Floating Windows ===
for_window [title="alsamixer"] floating enable border pixel 1
@@ -213,27 +196,11 @@ for_window [title="lxrandr"] floating enable border normal
for_window [class="Blueman-manager"] floating enable border normal
for_window [class="GParted"] floating enable border normal
for_window [class="pavucontrol"] floating enable
for_window [class="Volume Control"] floating enable
for_window [class="(?i)VirtualBox"] floating enable border normal
# Focus urgent windows
for_window [urgent=latest] focus
# === Reload / Restart sway ===
bindsym $mod+Shift+r reload
#bindsym $mod+Shift+r restart
# === Colors ===
client.focused #ff8800 #2F3D44 #FF8800 #FDF6E3 #ff8800
client.focused_inactive #333333 #222222 #444444 #454948 #222222
client.unfocused #2F3D44 #2F3D44 #FF8800 #454948
client.urgent #CB4B16 #FDF6E3 #FF8800 #268BD2
client.placeholder #000000 #0c0c0c #ffffff #000000
client.background #2B2C2B
# === Gaps ===
gaps inner 8
gaps outer -4
smart_gaps on
smart_borders on
for_window [title="Volume Control"] floating enable
for_window [class="Spotify"] move scratchpad
# Float all windows with "VirtualBox" in the title
for_window [class=".*VirtualBox.*"] floating enable
# EXCEPT: unfloat those that also contain "Manager" or "Machine"
for_window [class=".*VirtualBox Manager.*"] floating disable
for_window [class=".*VirtualBox Machine"] floating disable