diff --git a/.config/sway/autostart b/.config/sway/autostart new file mode 100644 index 0000000..6e15529 --- /dev/null +++ b/.config/sway/autostart @@ -0,0 +1,15 @@ +# Autostart +## Screen configuration +exec_always export hostname="$(cat /etc/hostname)" && ~/.config/screenlayout/apply-screen-layout.sh +## Applications +exec --no-startup-id blueman-applet +exec --no-startup-id bitwarden-desktop +exec --no-startup-id sunshine +## Lock screen when idle, also shut down screens +exec swayidle -w \ + timeout 600 $swaylock \ + timeout 630 'swaymsg "output * power off"' \ + resume 'swaymsg "output * power on"' +## Start XDG autostart .desktop files using dex. See also +### https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 diff --git a/.config/sway/bar b/.config/sway/bar new file mode 100644 index 0000000..e3c1838 --- /dev/null +++ b/.config/sway/bar @@ -0,0 +1,16 @@ +# BAR +bar { + swaybar_command waybar + colors { + background $base + statusline $text + focused_statusline $text + focused_separator $base + + # target border bg text + focused_workspace $base $mauve $crust + active_workspace $base $surface2 $text + inactive_workspace $base $base $text + urgent_workspace $base $red $crust + } +} diff --git a/.config/sway/catppuccin-mocha b/.config/sway/catppuccin-mocha-colors similarity index 100% rename from .config/sway/catppuccin-mocha rename to .config/sway/catppuccin-mocha-colors diff --git a/.config/sway/config b/.config/sway/config index 3238ef2..eeb662a 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,213 +1,21 @@ -include catppuccin-mocha -#USER-SET VARIABLES -#Wallpaper path -set $wallpaper_path '/home/wholteza/.config/feh/wallpaper.png' +# Imports +## Color varibles for theme +include variables +include catppuccin-mocha-colors +include autostart +include keybinds +include bar +include window +include workspaces +include input -set $nord-aurora-red #bf616a -set $nord-aurora-orange #d08770 -set $nord-aurora-yellow #ebcb8b -set $nord-aurora-green #a3be8c -set $nord-aurora-purple #b48ead - -set $nord-frost-1 #8fbcbb -set $nord-frost-2 #88c0d0 -set $nord-frost-3 #81a1c1 -set $nord-frost-4 #5e81ac - -set $nord-snow-1 #d8dee9 -set $nord-snow-2 #e5e9f0 -set $nord-snow-3 #eceff4 - -set $nord-polar-1 #2e3440 -set $nord-polar-2 #3b4252 -set $nord-polar-3 #434c5e -set $nord-polar-4 #4c566a - -#i3-bar colors -set $bg-color #2f343f -set $inactive-bg-color #2f343f -set $text-color #0DA321 -set $inactive-text-color #505254 -set $urgent-bg-color #E53935 - -exec_always export hostname="$(cat /etc/hostname)" && ~/.config/screenlayout/apply-screen-layout.sh -exec_always export hostname="$(cat /etc/hostname)" && ~/.config/keyboard/apply-keyboard-layout.sh - -set $mod Mod4 +# Settings that are either too small to have their own file, or that i cannot think of a name for. +## FONT font pango:JetBrainsMono Nerd Font 14 -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -# Start XDG autostart .desktop files using dex. See also -# https://wiki.archlinux.org/index.php/XDG_Autostart -exec --no-startup-id dex --autostart --environment i3 - -# The combination of xss-lock, nm-applet and pactl is a popular choice, so -# they are included here as an example. Modify as you see fit. - -# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the -# screen before suspend. Use loginctl lock-session to lock your screen. -exec --no-startup-id xss-lock --transfer-sleep-lock -- swaylock -fkL -s stretch -i /home/wholteza/.config/feh/wallpaper.png - -# NetworkManager is the most popular way to manage wireless networks on Linux, -# and nm-applet is a desktop environment-independent system tray GUI for it. -# exec --no-startup-id nm-applet - -# Use pactl to adjust volume in PulseAudio. -# bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status -# bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status -# bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status -# bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# move tiling windows via drag & drop by left-clicking into the title bar, -# or left-clicking anywhere into the window while holding the floating modifier. -#tiling_drag modifier titlebar - -# start a terminal -bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id "rofi -theme catppuccin-default -combi-modi window,drun,ssh -font 'pango:monospace 18' -show combi" -# A more modern dmenu replacement is rofi: -# bindcode $mod+40 exec "rofi -modi drun,run -show drun" -# There also is i3-dmenu-desktop which only displays applications shipping a -# .desktop file. It is a wrapper around dmenu, so you need that installed. -# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop - -# change focus -bindsym $mod+j focus left -bindsym $mod+k focus down -bindsym $mod+l focus up -bindsym $mod+odiaeresis focus right - -# alternatively, you can use the cursor keys: -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+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+odiaeresis move right - -# move focused workspace between monitors -bindsym $mod+Ctrl+greater move workspace to output right -bindsym $mod+Ctrl+less move workspace to output left - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - -# split in horizontal orientation -bindsym $mod+v split h - -# split in vertical orientation -bindsym $mod+h split v - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# toggle tiling / floating -bindsym $mod+Shift+space floating toggle - -# change focus between tiling / floating windows -bindsym $mod+space focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent - -# focus the child container -#bindsym $mod+d focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1: Whatever" -set $ws2 "2: Social" -set $ws3 "3: Development" -set $ws4 "4: Browsing" -set $ws5 "5: Games" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9: VPN" -set $ws10 "10: Terminals" - -# switch to workspace -bindsym $mod+1 workspace number $ws1 -bindsym $mod+2 workspace number $ws2 -bindsym $mod+3 workspace number $ws3 -bindsym $mod+4 workspace number $ws4 -bindsym $mod+5 workspace number $ws5 -bindsym $mod+6 workspace number $ws6 -bindsym $mod+7 workspace number $ws7 -bindsym $mod+8 workspace number $ws8 -bindsym $mod+9 workspace number $ws9 -bindsym $mod+0 workspace number $ws10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number $ws1 -bindsym $mod+Shift+2 move container to workspace number $ws2 -bindsym $mod+Shift+3 move container to workspace number $ws3 -bindsym $mod+Shift+4 move container to workspace number $ws4 -bindsym $mod+Shift+5 move container to workspace number $ws5 -bindsym $mod+Shift+6 move container to workspace number $ws6 -bindsym $mod+Shift+7 move container to workspace number $ws7 -bindsym $mod+Shift+8 move container to workspace number $ws8 -bindsym $mod+Shift+9 move container to workspace number $ws9 -bindsym $mod+Shift+0 move container to workspace number $ws10 - -# Brightness -bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5% -bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%- - -# Volume -bindsym XF86AudioMute exec amixer sset 'Master' toggle -bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%- -bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+ - -# Reload sway (reload configuration file) -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart -# exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" - -# resize window (you can also use the mouse for that) -mode "resize" { - bindsym j resize shrink width 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym odiaeresis resize grow width 10 px or 10 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 $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - -# target title bg text indicator border +## Sway colors +### target title bg text indicator border client.focused $lavender $base $text $rosewater $lavender client.focused_inactive $overlay0 $base $text $rosewater $overlay0 client.unfocused $overlay0 $base $text $rosewater $overlay0 @@ -215,121 +23,4 @@ client.urgent $peach $base $peach $overlay0 $peach client.placeholder $overlay0 $base $text $overlay0 $overlay0 client.background $base -# bar -bar { - swaybar_command waybar - colors { - background $base - statusline $text - focused_statusline $text - focused_separator $base - - # target border bg text - focused_workspace $base $mauve $crust - active_workspace $base $surface2 $text - inactive_workspace $base $base $text - urgent_workspace $base $red $crust - } -} - - -#KEYBINDS -bindsym $mod+Shift+z exec swaylock -fkL -s stretch -i /home/wholteza/.config/feh/wallpaper.png -bindsym Control+Mod1+s exec /home/wholteza/.config/passmenu/passmenu -bindsym $mod+Shift+p exec arandr -bindsym $mod+p exec /home/wholteza/.config/screenlayout/screenmenu.sh -bindsym --release Print exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_fullscreen.png" -bindsym --release $mod+Shift+s exec grim -g "$(slurp -d)" - | wl-copy -t image/png -bindsym --release $mod+Ctrl+s exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png" -bindsym --release Control+Mod1+i exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png" - - -title_align center -default_border normal - -# hide_edge_borders vertical -bindsym Control+Shift+x [class="^.*"] border toggle -for_window [class="plasma.emojier"] floating enable -for_window [class="Solaar"] floating enable -for_window [class="Arandr"] floating enable -for_window [class="OVPN"] floating enable - -for_window [title="Bitwarden"] floating enable -for_window [title="Bitwarden"] resize set width 500 px height 700 px - -for_window [title="Extension.*"] floating enable -for_window [title="Extension.*"] resize set width 500 px height 700 px - -for_window [title="Alacritty"] border none -for_window [title=".*Mozilla Firefox"] border none -for_window [title=".*LibreWolf"] border none - -for_window [title="Bolt Launcher"] floating enable -for_window [title="Bolt Launcher"] border none -for_window [title="RuneLite.*"] floating enable -for_window [title="RuneLite.*"] border none -for_window [title="RuneLite.*"] resize set width 2440 px height 1420 px - -for_window [class="steam"] \ - fullscreen disable; \ - floating enable; \ - border pixel 0; \ - resize set $display_w $display_h; \ - move absolute position 0 0; \ - -# Assigning application to workspaces -## 1: is reserved for whatever -## 2: Social -assign [class="TelegramDesktop"] $ws2 -assign [class="Caprine"] $ws2 -assign [class="discord"] $ws2 -assign [class="Signal"] $ws2 -## 3: Development -assign [class="Code"] $ws3 -## 4: Browsing -assign [class="firefox"] $ws4 -assign [class="Firefox"] $ws4 -## 5: Games -assign [class="Moonlight"] $ws5 -assign [class="steam"] $ws5 -assign [class="dota2"] $ws5 - - -## Set keyboard layout -input * { - xkb_layout "se" -} -## Bind backspace to capslock -input "*" xkb_options caps:backspace - -## Remove pointer acceleration -input "type:pointer" { - accel_profile "flat" - pointer_accel 0 -} - -## Set colemak layout on surface laptop -input 1118:2478:Microsoft_Surface_045E:09AE_Keyboard xkb_layout colemak-se -## Set colemak layout on printer desktop -input 9494:26:CM_Storm_Keyboard_--_QuickFire_XT xkb_layout colemak-se -# NOTE: Screens are managed by apply-screen-layout.sh - -## Run secondary sceen in 1080p -# output HDMI-A-3 mode 3440x1440@99.99Hz pos 1080 237 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 -# output DP-2 mode 1920x1080 pos 0 0 transform 270 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 - -## Run only primary screen in 2k not sure if this actually works with 99.99Hz -#output HDMI-A-3 mode 2560x1440@99.99Hz pos 1440 475 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 - -## Main setup with ultrawide and portrait secondary screen -#output HDMI-A-3 mode 3440x1440@99.99Hz pos 1440 475 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 -#output DP-2 mode 2560x1440 pos 0 0 transform 270 bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 - -## Main -##output HDMI-A-3 mode 3440x1440@99.99Hz bg /home/wholteza/.config/feh/wallpaper.png fit #1b1f28 - -# Autostart applications -exec --no-startup-id blueman-applet -exec --no-startup-id bitwarden-desktop -exec --no-startup-id sunshine diff --git a/.config/sway/input b/.config/sway/input new file mode 100644 index 0000000..c71a376 --- /dev/null +++ b/.config/sway/input @@ -0,0 +1,17 @@ +# Input configuration +## Default to swedish qwerty +input * { + xkb_layout "se" +} +## Bind backspace to capslock +input "*" xkb_options caps:backspace +## Set colemak layout on surface laptop +input 1118:2478:Microsoft_Surface_045E:09AE_Keyboard xkb_layout colemak-se +## Set colemak layout on printer desktop +input 9494:26:CM_Storm_Keyboard_--_QuickFire_XT xkb_layout colemak-se +## Remove pointer acceleration +input "type:pointer" { + accel_profile "flat" + pointer_accel 0 +} + diff --git a/.config/sway/keybinds b/.config/sway/keybinds new file mode 100644 index 0000000..33b0c98 --- /dev/null +++ b/.config/sway/keybinds @@ -0,0 +1,144 @@ +# KEYBINDS +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +## Start a terminal +bindsym $mod+Return exec alacritty --config-file /home/wholteza/.config/alacritty/alacritty.toml + +## Kill focused window +bindsym $mod+Shift+q kill + +## Start program launcher +bindsym $mod+d exec --no-startup-id "rofi -theme catppuccin-default -combi-modi window,drun,ssh -font 'pango:monospace 18' -show combi" + +## Change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+odiaeresis focus right + +## Alternatively, you can use the cursor keys: +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+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+odiaeresis move right + +## Move focused workspace between monitors +bindsym $mod+Ctrl+greater move workspace to output right +bindsym $mod+Ctrl+less move workspace to output left + +## Alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +## Split in horizontal orientation +bindsym $mod+v split h + +## Split in vertical orientation +bindsym $mod+h split v + +## Enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +## Change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +## Toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +## Change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +## Focus the parent container +bindsym $mod+a focus parent + +## Focus the child container +# bindsym $mod+d focus child + +## Lock session +bindsym $mod+Shift+z exec $swaylock + +## Open passmenu password manager (deprecated) +bindsym Control+Mod1+s exec /home/wholteza/.config/passmenu/passmenu + +## Open screenmenu to manually apply a screen layout +bindsym $mod+p exec /home/wholteza/.config/screenlayout/screenmenu.sh + +## Printscreen binds (requires grim, slurp and wl-copy) +bindsym --release Print exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_fullscreen.png" +bindsym --release $mod+Shift+s exec grim -g "$(slurp -d)" - | wl-copy -t image/png +bindsym --release $mod+Ctrl+s exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png" +bindsym --release Control+Mod1+i exec grim -g "$(slurp -d)" "/home/wholteza/Pictures/$(date)_selection.png" + +## hide_edge_borders vertical +bindsym Control+Shift+x [class="^.*"] border toggle + +## resize window (you can also use the mouse for that) +mode "resize" { + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym h resize grow width 10 px or 10 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 $mod+r mode "default" +} +bindsym $mod+r mode "resize" + +## switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +## move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +## Brightness +bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5% +bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%- + +## Volume +bindsym XF86AudioMute exec amixer sset 'Master' toggle +bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%- +bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+ + +## Reload sway (reload configuration file) +bindsym $mod+Shift+c reload + +## restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +## exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" diff --git a/.config/sway/variables b/.config/sway/variables new file mode 100644 index 0000000..7fe7f3f --- /dev/null +++ b/.config/sway/variables @@ -0,0 +1,18 @@ +# Variables +set $mod Mod4 + +set $wallpaper_path '/home/wholteza/.config/feh/wallpaper.png' +set $swaylock 'swaylock -fkL -s stretch -i /home/wholteza/.config/feh/wallpaper.png' + +## Define names for default workspaces for which we configure key bindings later on. +### Search up nerd font icons to get more icons +set $ws1 "1:  Term" +set $ws2 "2: 󰭹 Social" +set $ws3 "3:  Dev" +set $ws4 "4: 󰈹 Browse" +set $ws5 "5: 󰓓 Games" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9: " +set $ws10 "10: " diff --git a/.config/sway/window b/.config/sway/window new file mode 100644 index 0000000..0c3ed35 --- /dev/null +++ b/.config/sway/window @@ -0,0 +1,29 @@ +# Default window settings +title_align center +default_border normal + + +# Application specific window settings +for_window [class="plasma.emojier"] floating enable +for_window [class="Solaar"] floating enable +for_window [class="Arandr"] floating enable +for_window [class="OVPN"] floating enable +for_window [title="Bitwarden"] floating enable +for_window [title="Bitwarden"] resize set width 500 px height 700 px +for_window [title="Extension.*"] floating enable +for_window [title="Extension.*"] resize set width 500 px height 700 px +for_window [title="Alacritty"] border none +for_window [title=".*Mozilla Firefox"] border none +for_window [title=".*LibreWolf"] border none +for_window [title="Bolt Launcher"] floating enable +for_window [title="Bolt Launcher"] border none +for_window [title="RuneLite.*"] floating enable +for_window [title="RuneLite.*"] border none +for_window [title="RuneLite.*"] resize set width 2440 px height 1420 px +for_window [class="steam"] \ + fullscreen disable; \ + floating enable; \ + border pixel 0; \ + resize set $display_w $display_h; \ + move absolute position 0 0; \ + diff --git a/.config/sway/workspaces b/.config/sway/workspaces new file mode 100644 index 0000000..733d82e --- /dev/null +++ b/.config/sway/workspaces @@ -0,0 +1,14 @@ +# Assigning application to workspaces +assign [class="TelegramDesktop"] $ws2 +assign [class="Caprine"] $ws2 +assign [class="discord"] $ws2 +assign [class="Signal"] $ws2 +## 3: Development +assign [class="Code"] $ws3 +## 4: Browsing +assign [class="firefox"] $ws4 +assign [class="Firefox"] $ws4 +## 5: Games +assign [class="Moonlight"] $ws5 +assign [class="steam"] $ws5 +assign [class="dota2"] $ws5