From b9a0aa07f41362c91bf8b81f581eb2cd78edd533 Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Sun, 21 Jul 2024 09:48:08 +0200 Subject: [PATCH] friendship with hyprland over, now sway is my best friend --- .config/sway/config | 185 ++++++++++++++++++++++++++++++++++++++++++ .config/waybar/config | 16 +++- 2 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 .config/sway/config diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..0f4bf3d --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,185 @@ +# Set variables +include "$HOME/.cache/wal/colors-sway" +set $mod Mod4 +set $left h +set $down j +set $up k +set $right l +set $term kitty + +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 +set $ws10 0 + +# Input/output configuration +input "*" { + xkb_layout "us" + xkb_variant "intl" + xkb_options caps:escape + xkb_numlock enable +} +output * bg $color0 solid_color +output * bg $wallpaper fill +#exec wal -c +#exec wal -i $wallpaper +exec autotiling +exec --no-startup-id fcitx -d + + +include workspaces +include display +include input + +set $launcher bemenu-run + +floating_modifier Mod4 +tiling_drag enable + +# Window settings and layout +for_window [class=".*"] border pixel 3 +for_window [app_id=".*"] border pixel 3 +for_window [app_id="$term"] opacity 0.9 +gaps inner 6 +gaps outer 0 +mouse_warping none +focus_follows_mouse no + +# Idle +exec swayidle -w timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' + +# Status Bar +bar { + swaybar_command waybar +} + +# Notification daemon +exec_always ~/.config/mako/launch.sh + +# Window border colors. Transparent borders on unfocused windows +client.focused $color0 $color0 $color0 $color4 $color4 +client.focused_inactive $color0 $color0 $color0 $color0 $color0 + +# Wallpaper script +include wallpaper + +# General bindings +bindsym $mod+Return exec $term +bindsym $mod+q kill +bindsym $mod+d exec $launcher +bindsym $mod+Ctrl+d exec $launcher +bindsym $mod+Shift+c reload +bindsym $mod+f fullscreen +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+minus scratchpad show +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+dead_grave scratchpad show +bindsym $mod+Shift+dead_grave move scratchpad +bindsym $mod+s gaps inner current plus 5 +bindsym $mod+Shift+s gaps inner current minus 5 +bindsym $mod+Ctrl+s gaps outer current plus 5 +bindsym $mod+Ctrl+Shift+s gaps outer current minus 5 +bindsym $mod+Shift+backspace exec wlogout +bindsym $mod+v layout toggle split + +# Application bindings +bindsym $mod+Shift+w exec firefox +bindsym $mod+Shift+Ctrl+w exec firefox -P Shinobi +bindsym $mod+Shift+e exec steam +bindsym $mod+e exec thunar +bindsym $mod+a exec $term -e cava +bindsym $mod+Shift+a exec $term -e pulsemixer +bindsym $mod+i exec $term -e htop --user mark +bindsym $mod+Shift+i exec $term -e btop +bindsym $mod+Shift+d exec discord --enable-features=UseOzonePlatform --ozone-platform=wayland +bindsym $mod+Shift+m exec $term -e ncmpcpp +bindsym $mod+Ctrl+m exec catia +bindsym $mod+m exec spotify +bindsym $mod+p exec pass clip -r +bindsym $mod+Shift+Return exec $term -e python +bindsym $mod+Shift+t exec teams + +# Screenshotting +bindsym Print exec grim -g "$(slurp)" - | wl-copy +bindsym Ctrl+Print exec grim -g "$(slurp)" ~/screenshot.png && notify-send -i ~/screenshot.png "Screenshot saved" +bindsym Shift+Ctrl+Print exec grim ~/screenshot.png +bindsym Shift+Print exec grim -g "$(slurp)" - | swappy -f - + +# Spotify control +bindsym $mod+Ctrl+$right exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next +bindsym $mod+Ctrl+$left exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next +bindsym $mod+Ctrl+space exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause + +# Moving around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +bindsym $mod+g focus output left +bindsym $mod+semicolon focus output right +bindsym $mod+Shift+g move workspace to output left +bindsym $mod+Shift+semicolon move workspace to output right + +bindsym $mod+$ws1 workspace $ws1 +bindsym $mod+$ws2 workspace $ws2 +bindsym $mod+$ws3 workspace $ws3 +bindsym $mod+$ws4 workspace $ws4 +bindsym $mod+$ws5 workspace $ws5 +bindsym $mod+$ws6 workspace $ws6 +bindsym $mod+$ws7 workspace $ws7 +bindsym $mod+$ws8 workspace $ws8 +bindsym $mod+$ws9 workspace $ws9 +bindsym $mod+$ws10 workspace $ws10 + +bindsym $mod+Shift+$ws1 move workspace $ws1 +bindsym $mod+Shift+$ws2 move workspace $ws2 +bindsym $mod+Shift+$ws3 move workspace $ws3 +bindsym $mod+Shift+$ws4 move workspace $ws4 +bindsym $mod+Shift+$ws5 move workspace $ws5 +bindsym $mod+Shift+$ws6 move workspace $ws6 +bindsym $mod+Shift+$ws7 move workspace $ws7 +bindsym $mod+Shift+$ws8 move workspace $ws8 +bindsym $mod+Shift+$ws9 move workspace $ws9 +bindsym $mod+Shift+$ws10 move workspace $ws10 + +set $scr_smol DP-3 +set $scr_bige DP-2 + +output $scr_bige resolution 2560x1440 position 0 0 +#output $scr_bige scale 1.5 +output $scr_smol mode --custom 1920x1080 position 2560 0 +output $scr_smol adaptive_sync off + +# Bind workspaces to output +workspace $ws3 output $scr_smol +workspace $ws2 output $scr_bige +workspace $ws1 output $scr_bige +workspace $ws4 output $scr_bige +workspace $ws9 output $scr_bige +workspace $ws10 output $scr_smol + +# App fixes +assign [class="discord"] $ws3 +assign [app_id="discord"] $ws3 +assign [class="lightcord"] $ws3 +for_window [class="discord"] move workspace $ws3 +for_window [app_id="discord"] move workspace $ws3 +for_window [class="lightcord"] move workspace $ws3 +assign [class="Steam"] $ws4 +for_window [class="Steam"] move workspace $ws4 +for_window [title="Firefox — Sharing Indicator"] floating enable +for_window [title="Firefox — Sharing Indicator"] nofocus + + +include /etc/sway/config.d/* diff --git a/.config/waybar/config b/.config/waybar/config index d704aa7..f53b8b4 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -2,9 +2,15 @@ "layer": "top", "position": "top", "spacing": 0, - "modules-left": ["hyprland/workspaces"], + "modules-left": ["sway/workspaces", "hyprland/workspaces"], "modules-center": ["clock"], - "modules-right": ["custom/recording", "cpu", "disk", "disk#sda", "idle_inhibitor", "tray", "custom/transmission", "network"], + "modules-right": ["custom/recording", "cpu", "disk", "disk#sda", "disk#mount", "idle_inhibitor", "tray", "custom/transmission", "network"], + "sway/workspaces": { + "format": "{name}", + "all-outputs": false, + "on-click": "activate", + "sort-by-number": true + }, "hyprland/workspaces": { "format": "{name}", "all-outputs": false, @@ -51,6 +57,12 @@ "interval": 5, "tooltip-format": "{free} available on {path}" }, + "disk#mount": { + "path": "/home/mark/Files/Downloads/mount", + "format": "{free}", + "interval": 5, + "tooltip-format": "{free} available on {path}" + }, "idle_inhibitor": { "format": "{icon}", "format-icons": {