diff --git a/sway/config b/sway/config index 6e945e6..fc86187 100644 --- a/sway/config +++ b/sway/config @@ -1,210 +1,2 @@ include config.d/* - -### Output configuration -# -# Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/) -output * bg ~/.assets/wallpaper.png fill -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs - -### Idle configuration -# -# Example configuration: -# - -for_window [app_id="org.jellyfin.JellyfinDesktop"] inhibit_idle fullscreen -exec wlsunset -l 46.1 -L 14.5 - -set $wobs /tmp/wob.sock -exec rm -f $wobs && mkfifo $wobs && tail -f $wobs | wob - -exec swayidle -w -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. - -### Input configuration -# -# Example configuration: -# -# input type:touchpad { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# input type:keyboard { -# xkb_layout "eu" -# } -# -# You can also configure each device individually. -# Read `man 5 sway-input` for more information about this section. -default_border pixel 3 - -for_window [class="net-runelite.*"] floating enable -for_window [class="net-runelite-client-RuneLite"] move scratchpad, scratchpad show - -### Key bindings -# -# Basics: -# - # Start a terminal - - # Kill focused window - - # Start your launcher - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - - # Exit sway (logs you out of your Wayland session) -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" -# -# Utilities: -# - # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle - bindsym --locked XF86AudioLowerVolume exec pamixer -d 5 && pamixer --get-volume > $wobs - bindsym --locked XF86AudioRaiseVolume exec pamixer -i 5 && pamixer --get-volume > $wobs - bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle - # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - # Special key to take a screenshot with grim - - bindsym --locked XF86AudioNext exec playerctl next - bindsym --locked XF86AudioPause exec playerctl play-pause - bindsym --locked XF86AudioPlay exec playerctl play-pause - bindsym --locked XF86AudioPrev exec playerctl previous - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position top - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - status_command while date +'%Y-%m-%d %X'; do sleep 1; done - - colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c - } -} - include /etc/sway/config.d/* diff --git a/sway/config.d/00-var.conf b/sway/config.d/00-var.conf deleted file mode 100644 index 6466cc2..0000000 --- a/sway/config.d/00-var.conf +++ /dev/null @@ -1,11 +0,0 @@ -set $mod Mod4 - -# vim style -set $left h -set $down j -set $up k -set $right l - -# programs -set $term ghostty -set $menu wofi --show drun -iIG -w 2 diff --git a/sway/config.d/10-input.conf b/sway/config.d/10-input.conf deleted file mode 100644 index 38c2e0f..0000000 --- a/sway/config.d/10-input.conf +++ /dev/null @@ -1,4 +0,0 @@ -input "type:keyboard" { - repeat_delay 150 - repeat_rate 35 -} diff --git a/sway/config.d/10-variables.conf b/sway/config.d/10-variables.conf new file mode 100644 index 0000000..c4dac11 --- /dev/null +++ b/sway/config.d/10-variables.conf @@ -0,0 +1,24 @@ +set $mod Mod4 + +# vim style +set $left h +set $down j +set $up k +set $right l + +# programs +set $term ghostty +set $menu wofi --show drun -iIG -w 2 +set $browser google-chrome-stable +set $lockscreen swaylock + +# other +set $wobs /tmp/wob.sock + +# colors +set $bg0 #32302f +set $bg1 #252423 +set $bg_overlay #45403d +set $fg #d4be98 +set $red #ea6962 +set $gray #928374 diff --git a/sway/config.d/20-output.conf b/sway/config.d/20-output.conf new file mode 100644 index 0000000..7c3186c --- /dev/null +++ b/sway/config.d/20-output.conf @@ -0,0 +1 @@ +output * bg ~/.assets/wallpaper.png fill diff --git a/sway/config.d/30-input.conf b/sway/config.d/30-input.conf new file mode 100644 index 0000000..666d5a6 --- /dev/null +++ b/sway/config.d/30-input.conf @@ -0,0 +1,4 @@ +input "type:keyboard" { + repeat_delay 150 + repeat_rate 35 +} diff --git a/sway/config.d/30-keybind.conf b/sway/config.d/30-keybind.conf deleted file mode 100644 index 93cfcc5..0000000 --- a/sway/config.d/30-keybind.conf +++ /dev/null @@ -1,15 +0,0 @@ -bindsym $mod+Return exec $term - -bindsym $mod+Shift+q kill - -bindsym $mod+d exec $menu - -bindsym $mod+Shift+c reload - -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - -bindsym $mod+Shift+Ctrl+Alt+space exec 1password --quick-access - -bindsym $mod+u exec swaylock - -bindsym Print exec flameshot gui diff --git a/sway/config.d/40-autostart.conf b/sway/config.d/40-autostart.conf deleted file mode 100644 index 4c7ef0b..0000000 --- a/sway/config.d/40-autostart.conf +++ /dev/null @@ -1,31 +0,0 @@ -exec $term - -exec google-chrome-stable - -exec protonmail-bridge -n -exec thunderbird - -exec cider-2 - -exec TZ="Europe/Ljubljana" bolt-launcher - -exec vesktop -exec slack -exec Telegram -exec rocketchat-desktop - -# for_window [app_id="discord"] mark discord -# for_window [app_id="telegram-desktop"] mark telegram -# for_window [app_id="Slack"] mark slack -# for_window [app_id="rocketchat"] mark rocketchat -# -# workspace 8 layout splith -# -# exec_always { -# swaymsg '[con_mark="discord"] focus' -# swaymsg '[con_mark="telegram"] move right' -# swaymsg '[con_mark="slack"] move right' -# swaymsg '[con_mark="rocketchat"] move right' -# } - -exec 1password --silent diff --git a/sway/config.d/40-theme.conf b/sway/config.d/40-theme.conf new file mode 100644 index 0000000..bf02e8f --- /dev/null +++ b/sway/config.d/40-theme.conf @@ -0,0 +1,11 @@ +default_floating_border pixel 1 +default_border normal 1 + +# class border bground text indicator child_border +client.focused $fg $bg0 $fg $fg $fg +client.focused_inactive $bg1 $bg1 $gray $bg1 $bg1 +client.unfocused $bg1 $bg1 $gray $bg1 $bg1 +client.urgent $red $red $bg0 $red $red +client.placeholder $bg1 $bg1 $fg $bg1 $bg1 + +font pango:JetBrains Mono Nerd Font 10 diff --git a/sway/config.d/50-keybind.conf b/sway/config.d/50-keybind.conf new file mode 100644 index 0000000..2cd84dc --- /dev/null +++ b/sway/config.d/50-keybind.conf @@ -0,0 +1,106 @@ +# sway +bindsym $mod+Shift+c reload +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +floating_modifier $mod normal + +# programs +bindsym $mod+Return exec $term +bindsym $mod+d exec $menu +bindsym $mod+u exec $lockscreen +bindsym $mod+Shift+Ctrl+Alt+space exec 1password --quick-access +bindsym Print exec flameshot gui + +# programs' +bindsym $mod+Shift+q kill + +# move focus +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right + +# move focused window +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +# switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 + +# move to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 + +# layout +bindsym $mod+b splith +bindsym $mod+v splitv +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# fullscreen +bindsym $mod+f fullscreen + +# focus +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+a focus parent + +# scratchpad +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+minus scratchpad show + +# xf86-volume +bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle +bindsym --locked XF86AudioLowerVolume exec pamixer -d 5 && pamixer --get-volume > $wobs +bindsym --locked XF86AudioRaiseVolume exec pamixer -i 5 && pamixer --get-volume > $wobs +bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle +# xf86-brightnes +bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ +# xf86-audio +bindsym --locked XF86AudioNext exec playerctl next +bindsym --locked XF86AudioPause exec playerctl play-pause +bindsym --locked XF86AudioPlay exec playerctl play-pause +bindsym --locked XF86AudioPrev exec playerctl previous + +# resize +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" diff --git a/sway/config.d/20-workspace.conf b/sway/config.d/60-window-rule.conf similarity index 63% rename from sway/config.d/20-workspace.conf rename to sway/config.d/60-window-rule.conf index 74c5fbd..a66693f 100644 --- a/sway/config.d/20-workspace.conf +++ b/sway/config.d/60-window-rule.conf @@ -1,26 +1,19 @@ -# ws2 +# additional theming +for_window [app_id="1password"] border pixel 1 + +# workspace assignment assign [app_id="google-chrome"] workspace 2 - -# ws3 assign [app_id="thunderbird"] workspace 3 - -# ws4 assign [app_id="Cider"] workspace 4 - -# ws5 assign [class=".*BoltLauncher.*"] workspace 5 -# assign [class="net-runelite.*"] workspace 5 - -for_window [class="net-runelite.*"] floating enable -for_window [class="net-runelite-client-RuneLite"] move scratchpad, scratchpad show -no_focus [class="net-runelite.*"] - -# ws8 +assign [class="net-runelite.*"] workspace 5 assign [app_id="vesktop"] workspace 8 assign [app_id="Slack"] workspace 8 assign [app_id="org.telegram.desktop"] workspace 8 assign [class="Rocket.Chat"] workspace 8 +# rules +for_window [class="net-runelite.*"] floating enable +no_focus [class="net-runelite.*"] -# i also had these in hyprland -# for_window [class=".*"] fullscreen disable +for_window [app_id="org.jellyfin.JellyfinDesktop"] inhibit_idle fullscreen diff --git a/sway/config.d/70-bar.conf b/sway/config.d/70-bar.conf new file mode 100644 index 0000000..0dc0f77 --- /dev/null +++ b/sway/config.d/70-bar.conf @@ -0,0 +1,3 @@ +bar { + swaybar_command waybar +} diff --git a/sway/config.d/80-autostart.conf b/sway/config.d/80-autostart.conf new file mode 100644 index 0000000..ad4bb0f --- /dev/null +++ b/sway/config.d/80-autostart.conf @@ -0,0 +1,21 @@ +# background programs + # auto blue light filter + exec wlsunset -l 46.1 -L 14.5 + # sound/brightness bar + exec rm -f $wobs && mkfifo $wobs && tail -f $wobs | wob + # idle deamon + exec swayidle -w + # protonmail bridge + exec protonmail-bridge -n + + # traditional "start when os starts" programs + exec $term + exec $browser + exec thunderbird + exec cider-2 + exec bolt-launcher + exec vesktop + exec slack + exec Telegram + exec rocketchat-desktop + exec 1password --silent