diff --git a/dot_config/sway/config b/dot_config/sway/config
new file mode 100644
index 0000000..2e98c03
--- /dev/null
+++ b/dot_config/sway/config
@@ -0,0 +1,536 @@
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+
+# this sets the mod button -> windows key
+set $mod Mod4
+set $mod1 Mod1
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+# font pango:monospace 8
+# overrides title bars -> makes sure i3-gaps can do its thing
+for_window [class="^.*"] border pixel 2
+
+# for jetbrains windows... focus on dialogs!
+for_window [class="^jetbrains-.+"][window_type=dialog] focus
+# fix citrix windows
+for_window [class="Wfica_Seamless"] floating enable
+
+# border radius for the rounded windows
+# border_radius 0
+
+# Define names for default workspaces for which we configure key bindings later on.
+# We use variables to avoid repeating the names in multiple places.
+# Using the prefix of workspaces in order to be able to define ordering for special workspaces.
+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 "10"
+set $wsleft ""
+set $wsright ""
+
+# automatically assign programs to workspace
+# using workspace names here, otherwise doesn't work as expected
+# assign [class="Chromium"] $ws1
+assign [class="Thunderbird"] $ws2
+
+# workspace 9: chat
+assign [class="Slack"] $ws9
+assign [class="Mattermost"] $ws9
+assign [class="Hamsket"] $ws9
+assign [class="discord"] $ws9
+assign [class="signal"] $ws9
+assign [class="ferdi"] $ws9
+assign [class="microsoft teams - preview"] $ws9
+
+assign [class="obsidian"] $ws8
+
+assign [class="Wfica_Seamless"] $ws10
+#assign [class="jetbrains-idea"] 7
+#assign [class="jetbrains-webstorm"] 8
+#assign [class="jetbrains-datagrip"] 9
+
+#disabled this for now, using Ferdi for socials
+#exec --no-startup-id "i3-msg 'workspace 9:9; append_layout /home/joachim/.config/i3/workspace-9.json'"
+
+# i3-gaps
+# 10
+gaps inner 0
+# 5
+gaps outer 0
+
+# Disallow endless looping of focus: extreme right is extreme right, don't flip to extreme left whenever you want...
+focus_wrapping no
+
+# font pango:DejaVu Sans Mono 8
+# font xft:Fantasque Sans Mono 9
+font xft:FuraCode Nerd Font 8
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec alacritty
+bindsym $mod+Shift+Return exec kitty
+
+# TODO make this help window a bit fancier
+bindsym $mod+F1 exec alacritty -e chezmoi edit ~/.dotfiles/README.md
+
+# screenshotting
+# Desktop screenshot
+#bindsym --release Print exec "scrot ~/Bilder/Bildschirmfotos/$(date --iso-8601='seconds').png -m -e 'xclip -selection c -t image/png < $f'"
+# Choose window
+#bindsym --release Mod1+Sys_Req exec "import -window `xwininfo | awk '/.*Window id:.*/ {print $4}'` ~/Bilder/Bildschirmfotos/$(date --iso-8601='seconds').png"
+# Selection screenshot
+#bindsym --release Shift+Print exec "scrot ~/Bilder/Bildschirmfotos/$(date --iso-8601='seconds').png -s -e 'xclip -selection c -t image/png < $f'"
+bindsym --release Print exec ~/.config/i3/screenshot.sh
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+# bindsym $mod+d exec dmenu_run
+bindsym $mod+d exec ~/.config/rofi/runrofi.sh
+# this uses the output of greenclip (see here https://wiki.archlinux.org/index.php/Greenclip) to show clipboard history in rofi
+bindsym $mod+c exec rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}'
+
+# do a nice menu with mode
+# lock / logout / sleep / hibernate / restart / poweroff
+set $mode_system System l e s鈴 h rﰇ וּsﮤ
+mode "$mode_system" {
+ bindsym l exec --no-startup-id ~/.config/i3/i3exit.sh lock, mode "default"
+ bindsym e exec --no-startup-id ~/.config/i3/i3exit.sh logout, mode "default"
+ bindsym s exec --no-startup-id ~/.config/i3/i3exit.sh suspend, mode "default"
+ bindsym h exec --no-startup-id ~/.config/i3/i3exit.sh hibernate, mode "default"
+ bindsym r exec --no-startup-id ~/.config/i3/i3exit.sh reboot, mode "default"
+ bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit.sh shutdown, mode "default"
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Pause mode "$mode_system"
+bindsym $mod+F12 mode "$mode_system"
+
+# do a nice menu for monitor values
+set $mode_redshift Monitor 2,3,4,5,6,7,8洞 j/k
+mode "$mode_redshift" {
+ bindsym 2 exec --no-startup-id redshift -P -O 2000
+ bindsym 3 exec --no-startup-id redshift -P -O 3000
+ bindsym 4 exec --no-startup-id redshift -P -O 4000
+ bindsym 5 exec --no-startup-id redshift -P -O 5000
+ bindsym 6 exec --no-startup-id redshift -P -O 6000
+ bindsym 7 exec --no-startup-id redshift -P -O 7000
+ bindsym 8 exec --no-startup-id redshift -P -O 8000
+
+ bindsym k exec --no-startup-id "brightnessctl -c backlight s +10%"
+ bindsym j exec --no-startup-id "brightnessctl -c backlight s 10%-"
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+F9 mode "$mode_redshift"
+
+
+# do a nice menu for keyboard layouts
+set $mode_xkbmap Layout aus bus-intl cus-altgr dgb egb-intl fdvorak
+mode "$mode_xkbmap" {
+ bindsym a exec --no-startup-id setxkbmap us, mode "default"
+ bindsym b exec --no-startup-id setxkbmap us intl, mode "default"
+ bindsym c exec --no-startup-id setxkbmap us altgr-intl, mode "default"
+ bindsym d exec --no-startup-id setxkbmap gb, mode "default"
+ bindsym e exec --no-startup-id setxkbmap gb intl, mode "default"
+ bindsym f exec --no-startup-id setxkbmap dvorak, mode "default"
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Ctrl+k mode "$mode_xkbmap"
+
+# this is a menu dedicated to audio stuff
+# some nice symbols to try here: 0| 論b籠i錄
+set $mode_audio Audio - + 0 y
+mode "$mode_audio" {
+ # Pulse Audio controls
+
+ # Increase / decrease volume for the running sink only
+ bindsym k exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
+ bindsym plus exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
+ bindsym bracketleft exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) +2%
+
+ # decrease
+ bindsym j exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
+ bindsym minus exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
+ bindsym bracketright exec --no-startup-id pactl set-sink-volume $(pactl list short sinks | grep RUNNING | cut -f 1) -2%
+
+ # Mute sound
+ bindsym 0 exec --no-startup-id pactl set-sink-mute $(pactl list short sinks | grep RUNNING | cut -f 1) toggle
+
+ # Start mps-youtube
+ bindsym y exec --no-startup-id urxvt -e mpsyt, mode "default"
+
+ # Media player controls
+ # Toggle pause/play
+ bindsym space exec playerctl play-pause
+ #bindsym XF86AudioPause exec playerctl pause
+ #bindsym XF86AudioNext exec playerctl next
+ #bindsym XF86AudioPrev exec playerctl previous
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+F11 mode "$mode_audio"
+
+# do a nice menu for custom launches
+set $mode_launch adefault start-up bnoise-fix cdual dhorizontal etearing
+mode "$mode_launch" {
+ # These are all the default programs launching at startup.
+ bindsym a exec thunderbird, exec signal-desktop, exec ferdi, exec obsidian mode "default", exec teams --no-sandbox, exec slack
+ # This fixes audio noise (lenovo)
+ # bindsym b exec sudo hda-verb /dev/snd/hwC*D0 0x1d SET_PIN_WIDGET_CONTROL 0x0, mode "default"
+ # This bypasses weird xrandr bug, resets to single display, then goes back to triple monitor setup (use autorandr profile here, needs to be set up in advance)
+ #bindsym c exec xrandr --output eDP1 --mode 2560x1440, exec autorandr triple, mode "default"
+ #bindsym c exec autorandr dual2k, mode "default"
+
+ # execute default horizontal layout of monitors
+ bindsym d exec autorandr horizontal, mode "default"
+
+ # this fixes tearing on nvidia
+ # bindsym e exec nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+F10 mode "$mode_launch"
+
+# There also is the (new) i3-dmenu-desktop which only displays applications
+# shipping a .desktop file. It is a wrapper around dmenu, so you need that
+# installed.
+# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+
+# these are shortcuts for programs
+bindsym $mod+Ctrl+t exec urxvt
+bindsym $mod+Ctrl+e exec thunar
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l 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+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# 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
+
+# move workspace to left and right monitors
+bindsym $mod+Shift+bracketleft move workspace to output left
+bindsym $mod+Shift+bracketright move workspace to output right
+
+# explicit bindings for arandr's setups: might not need these anymore... using autorandr now
+# bindsym $mod+Shift+Ctrl+1 exec ~/.screenlayout/laptop-only.sh
+# bindsym $mod+Shift+Ctrl+2 exec ~/.screenlayout/work-desk.sh
+
+
+# split in horizontal orientation
+bindsym $mod+m split h
+
+# split in vertical orientation
+bindsym $mod+n 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+i focus parent
+
+# do some gaps magic: win+shift+g
+set $mode_gaps Gaps: (o) outer, (i) inner
+set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
+set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
+bindsym $mod+Shift+g mode "$mode_gaps"
+
+mode "$mode_gaps" {
+ bindsym o mode "$mode_gaps_outer"
+ bindsym i mode "$mode_gaps_inner"
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+mode "$mode_gaps_inner" {
+ bindsym plus gaps inner current plus 5
+ bindsym minus gaps inner current minus 5
+ bindsym 0 gaps inner current set 0
+ bindsym Shift+plus gaps inner all plus 5
+ bindsym Shift+minus gaps inner all minus 5
+ bindsym Shift+0 gaps inner all set 0
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+mode "$mode_gaps_outer" {
+ bindsym plus gaps outer current plus 5
+ bindsym minus gaps outer current minus 5
+ bindsym 0 gaps outer current set 0
+
+ bindsym Shift+plus gaps outer all plus 5
+ bindsym Shift+minus gaps outer all minus 5
+ bindsym Shift+0 gaps outer all set 0
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+
+# focus the child container
+bindsym $mod+u focus child
+
+# 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
+bindsym $mod+0 workspace $ws10
+bindsym $mod+comma workspace $wsleft
+bindsym $mod+period workspace $wsright
+
+# Scratchpad
+bindsym $mod+Shift+BackSpace move scratchpad
+bindsym $mod+BackSpace scratchpad show
+
+# generic switch
+#bindcode 49+34 workspace $ws9
+#bindsym $mod+grave workspace $ws9
+#bindsym $mod+shift+grave workspace $ws9
+# check this out: https://unix.stackexchange.com/questions/338228/i3wm-more-than-10-workspaces-with-double-modifier-key#339985
+bindsym $mod+grave exec i3-input -F 'workspace %s' -P 'go to workspace: '
+bindsym $mod+shift+grave exec i3-input -F 'move container to workspace %s' -P 'move to workspace: '
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace $ws1
+bindsym $mod+Shift+2 move container to workspace $ws2
+bindsym $mod+Shift+3 move container to workspace $ws3
+bindsym $mod+Shift+4 move container to workspace $ws4
+bindsym $mod+Shift+5 move container to workspace $ws5
+bindsym $mod+Shift+6 move container to workspace $ws6
+bindsym $mod+Shift+7 move container to workspace $ws7
+bindsym $mod+Shift+8 move container to workspace $ws8
+bindsym $mod+Shift+9 move container to workspace $ws9
+bindsym $mod+Shift+0 move container to workspace $ws10
+bindsym $mod+Shift+comma move container to workspace $wsleft
+bindsym $mod+Shift+period move container to workspace $wsright
+
+
+# reload the configuration file
+bindsym $mod+Shift+c exec "i3-msg reload && notify-send ' i3' 'Reloaded config.' -u low"
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+#bindsym $mod+Shift+r exec "i3-msg 'restart' && sleep 3 && notify-send ' i3' 'Restarted.' -u low"
+# 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" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 10 px or 10 ppt
+ bindsym j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ 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
+
+ # back to normal: Enter or Escape or $mod+r
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+bindsym $mod+r mode "resize"
+
+# Edit config files
+bindsym XF86Tools exec --no-startup-id urxvt -e vim ~/.config/i3/config
+
+# Pulse Audio controls
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
+
+bindsym $mod+XF86AudioPlay exec --no-startup-id urxvt -e mpsyt # start terminal youtube player
+#bindsym $mod+F11 exec --no-startup-id urxvt -e mpsyt # start terminal youtube player
+
+# Media player controls
+bindsym XF86AudioPlay exec playerctl play-pause
+#bindsym XF86AudioPause exec playerctl pause
+bindsym XF86AudioNext exec playerctl next
+bindsym XF86AudioPrev exec playerctl previous
+
+# Screen brightness keys
+# (This should work for both acpilight or xbacklight.)
+bindsym XF86MonBrightnessUp exec xbacklight -inc 20
+bindsym XF86MonBrightnessDown exec xbacklight -dec 20
+
+
+# Dunst controls
+bindsym $mod+Ctrl+space exec dunstctl close
+bindsym $mod+Ctrl+Shift+space exec dunstctl close-all
+bindsym $mod+Ctrl+$mod1+space exec dunstctl history-pop
+
+# start multi touch support
+exec --no-startup-id libinput-gestures-setup start
+
+# start polybar
+# exec_always --no-startup-id ~/.config/polybar/launch-multi.sh
+
+# start the network manager applet
+exec --no-startup-id nm-applet
+
+# start bluetooth applet
+exec --no-startup-id blueman-applet
+
+# start the xfce4-power-manager -> helping us do lid / laptop things
+exec --no-startup-id xfce4-power-manager
+
+# load the wallpaper
+exec_always --no-startup-id sh ~/.fehbg
+
+# start picom: compositor that allows, for example, transparency
+exec_always --no-startup-id picom --experimental-backends
+
+# start greenclip, this somehow fails to start at launch (sometimes?)
+# exec --no-startup-id systemctl --user start greenclip
+exec --no-startup-id greenclip daemon>/dev/null
+
+# reload the walpaper / color configuratin using pywal
+# exec --no-startup-id wal -R -q
+# change the wallpaper exec_always feh --bg-scale ~/Documents/private/img/mars-wallpaper-23.jpg
+
+# gruvbox colors
+set $dark0_hard #1d2021
+set $dark0 #282828
+set $dark0_soft #32302f
+set $dark1 #3c3836
+set $dark2 #504945
+set $dark3 #665c54
+set $dark4 #7c6f64
+set $gray_245 #928374
+set $gray_244 #928374
+set $light0_hard #f9f5d7
+set $light0 #fbf1c7
+set $light0_soft #f2e5bc
+set $light1 #ebdbb2
+set $light2 #d5c4a1
+set $light3 #bdae93
+set $light4 #a89984
+set $bright_red #fb4934
+set $bright_green #b8bb26
+set $bright_yellow #fabd2f
+set $bright_blue #83a598
+set $bright_purple #d3869b
+set $bright_aqua #8ec07c
+set $bright_orange #fe8019
+set $neutral_red #cc241d
+set $neutral_green #98971a
+set $neutral_yellow #d79921
+set $neutral_blue #458588
+set $neutral_purple #b16286
+set $neutral_aqua #689d6a
+set $neutral_orange #d65d0e
+set $faded_red #9d0006
+set $faded_green #79740e
+set $faded_yellow #b57614
+set $faded_blue #076678
+set $faded_purple #8f3f71
+set $faded_aqua #427b58
+set $faded_orange #af3a03
+set $transparent #ffffff00
+
+# Current color set
+# This is how you would get a colors from xrdb
+# set_from_resource $color0 i3wm.color0 #000000
+
+# window color class [border| backgr.| text| indicator| child_border]
+client.focused $gray_245 $dark0_hard $light0_hard $bright_orange $bright_green
+client.focused_inactive $dark0_hard $dark0_hard $light0_hard $dark0_hard $dark0_hard
+client.unfocused $dark0_hard $dark0_hard $light0_hard $dark0_hard #FFFFFF00
+client.urgent $dark0_hard $dark0 $light0_hard $dark0_hard $bright_orange
+client.placeholder $dark0_hard $dark0_hard $light0_hard $dark0_hard $dark0_hard
+client.background $dark0_hard
+
+# Took this from the default config
+# 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 %I:%M:%S %p'; do sleep 1; done
+#
+# colors {
+# statusline #ffffff
+# background $dark0_hard
+# inactive_workspace #32323200 #32323200 #5c5c5c
+# }
+# }
+
+# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
+output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+
+# Testing this out
+# dwt - disable while typing
+# middle_emulation - middle click emulation
+input "1267:12590:ELAN0755:00_04F3:312E_Touchpad" {
+ dwt enabled
+ tap enabled
+ natural_scroll enabled
+ middle_emulation enabled
+}
+
+# start waybar
+bar swaybar_command waybar
+
+# pretty important, loads specific fixes, e.g., https://www.reddit.com/r/swaywm/comments/n13tro/problem_with_dbus_auto_activation_in_archsway/
+include /etc/sway/config.d/*
+
diff --git a/dot_config/sway/config.old b/dot_config/sway/config.old
new file mode 100644
index 0000000..da5c88f
--- /dev/null
+++ b/dot_config/sway/config.old
@@ -0,0 +1,218 @@
+# Default config for sway
+#
+# Copy this to ~/.config/sway/config and edit it to your liking.
+#
+# Read `man 5 sway` for a complete reference.
+
+### Variables
+#
+# Logo key. Use Mod1 for Alt.
+set $mod Mod4
+# Home row direction keys, like vim
+set $left h
+set $down j
+set $up k
+set $right l
+# Your preferred terminal emulator
+set $term alacritty
+# Your preferred application launcher
+# Note: pass the final command to swaymsg so that the resulting window can be opened
+# on the original workspace that the command was run on.
+set $menu dmenu_path | dmenu | xargs swaymsg exec --
+
+### Output configuration
+#
+# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
+output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.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:
+#
+# exec swayidle -w \
+# timeout 300 'swaylock -f -c 000000' \
+# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
+# before-sleep 'swaylock -f -c 000000'
+#
+# 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 "2:14:SynPS/2_Synaptics_TouchPad" {
+# dwt enabled
+# tap enabled
+# natural_scroll enabled
+# middle_emulation enabled
+# }
+#
+# You can get the names of your inputs by running: swaymsg -t get_inputs
+# Read `man 5 sway-input` for more information about this section.
+
+### Key bindings
+#
+# Basics:
+#
+ # Start a terminal
+ bindsym $mod+Return exec $term
+
+ # Kill focused window
+ bindsym $mod+Shift+q kill
+
+ # Start your launcher
+ bindsym $mod+d exec $menu
+
+ # 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
+ bindsym $mod+Shift+c reload
+
+ # Exit sway (logs you out of your Wayland session)
+ 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'
+#
+# 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
+ # Or use $mod+[up|down|left|right]
+ 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
+ # Ditto, with arrow 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
+#
+# 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"
+
+#
+# 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 %I:%M:%S %p'; do sleep 1; done
+
+ colors {
+ statusline #ffffff
+ background #323232
+ inactive_workspace #32323200 #32323200 #5c5c5c
+ }
+}
+
+include /etc/sway/config.d/*
+
diff --git a/dot_config/waybar/config b/dot_config/waybar/config
new file mode 100644
index 0000000..7bf3ef5
--- /dev/null
+++ b/dot_config/waybar/config
@@ -0,0 +1,161 @@
+{
+ // "layer": "top", // Waybar at top layer
+ // "position": "bottom", // Waybar position (top|bottom|left|right)
+ "height": 30, // Waybar height (to be removed for auto height)
+ // "width": 1280, // Waybar width
+ "spacing": 4, // Gaps between modules (4px)
+ // Choose the order of the modules
+ "modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
+ "modules-center": ["sway/window"],
+ "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
+ // Modules configuration
+ // "sway/workspaces": {
+ // "disable-scroll": true,
+ // "all-outputs": true,
+ // "format": "{name}: {icon}",
+ // "format-icons": {
+ // "1": "",
+ // "2": "",
+ // "3": "",
+ // "4": "",
+ // "5": "",
+ // "urgent": "",
+ // "focused": "",
+ // "default": ""
+ // }
+ // },
+ "keyboard-state": {
+ "numlock": true,
+ "capslock": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": ""
+ }
+ },
+ "sway/mode": {
+ //"format": "{}"
+ "format": "{}"
+ },
+ "mpd": {
+ "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
+ "format-disconnected": "Disconnected ",
+ "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
+ "unknown-tag": "N/A",
+ "interval": 2,
+ "consume-icons": {
+ "on": " "
+ },
+ "random-icons": {
+ "off": " ",
+ "on": " "
+ },
+ "repeat-icons": {
+ "on": " "
+ },
+ "single-icons": {
+ "on": "1 "
+ },
+ "state-icons": {
+ "paused": "",
+ "playing": ""
+ },
+ "tooltip-format": "MPD (connected)",
+ "tooltip-format-disconnected": "MPD (disconnected)"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+ "tray": {
+ // "icon-size": 21,
+ "spacing": 10
+ },
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+ "cpu": {
+ "format": "{usage}% ",
+ "tooltip": false
+ },
+ "memory": {
+ "format": "{}% "
+ },
+ "temperature": {
+ // "thermal-zone": 2,
+ // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "critical-threshold": 80,
+ // "format-critical": "{temperatureC}°C {icon}",
+ "format": "{temperatureC}°C {icon}",
+ "format-icons": ["", "", ""]
+ },
+ "backlight": {
+ // "device": "acpi_video1",
+ "format": "{percent}% {icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", ""]
+ },
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{time} {icon}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": ["", "", "", "", ""]
+ },
+ "battery#bat2": {
+ "bat": "BAT2"
+ },
+ "network": {
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ({signalStrength}%) ",
+ "format-ethernet": "{ipaddr}/{cidr} ",
+ "tooltip-format": "{ifname} via {gwaddr} ",
+ "format-linked": "{ifname} (No IP) ",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}"
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{volume}% {icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/media": {
+ "format": "{icon} {}",
+ "return-type": "json",
+ "max-length": 40,
+ "format-icons": {
+ "spotify": "",
+ "default": "🎜"
+ },
+ "escape": true,
+ "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
+ // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
+ }
+}
+
+
diff --git a/dot_config/waybar/gruvbox.scss b/dot_config/waybar/gruvbox.scss
new file mode 100644
index 0000000..af57722
--- /dev/null
+++ b/dot_config/waybar/gruvbox.scss
@@ -0,0 +1,87 @@
+// ----------------------------------------------------------------------------
+// Gruvbox scss file
+// June 18 2017
+// Author: Will Tanna
+
+// How to Read:
+// $gb-dm-dark-red = Gruvbox-DarkMode-Dark-Red
+// $gb-lm-dark-red = Gruvbox-LightMode-Dark-Red
+// ----------------------------------------------------------------------------
+
+// ----------------------------------------------------------------------------
+// Dark Mode
+// ----------------------------------------------------------------------------
+
+// Dark Background
+$bg0: #282828;
+$bg0-hard: #1d2021;
+$bg0-soft: #32302f;
+$bg1: #3c3836;
+$bg2: #504945;
+$bg3: #665c54;
+$bg4: #7c6f64;
+
+// Dark Foreground
+$fg0: #fbf1c7;
+$fg1: #ebdbb2;
+$fg2: #d5c4a1;
+$fg3: #bdae93;
+$fg4: #a89984;
+
+// Dark Colors
+$dark-red: #cc241d;
+$dark-green: #98971a;
+$dark-yellow: #d79921;
+$dark-blue: #458588;
+$dark-purple: #b16286;
+$dark-aqua: #689d6a;
+$dark-orange: #d65d0e;
+$dark-gray: #928374;
+
+$light-red: #fb4934;
+$light-green: #b8bb26;
+$light-yellow: #fabd2f;
+$light-blue: #83a598;
+$light-purple: #d3869b;
+$light-aqua: #8ec07c;
+$light-orange: #f38019;
+$light-gray: #a89984;
+
+// ----------------------------------------------------------------------------
+// Light Mode
+// ----------------------------------------------------------------------------
+
+// Light Background
+$gb-lm-bg0: #fbf1c7;
+$gb-lm-bg0-hard: #f9f5d7;
+$gb-lm-bg0-soft: #f2e5bc;
+$gb-lm-bg1: #ebdbb2;
+$gb-lm-bg2: #d5c4a1;
+$gb-lm-bg3: #bdae93;
+$gb-lm-bg4: #a89984;
+
+// Light Foreground
+$gb-lm-fg0: #282828;
+$gb-lm-fg1: #3c3836;
+$gb-lm-fg2: #504945;
+$gb-lm-fg3: #665c54;
+$gb-lm-fg4: #7c6f64;
+
+// Light Colors
+$gb-lm-dark-red: #cc241d;
+$gb-lm-dark-green: #98971a;
+$gb-lm-dark-yellow: #d79921;
+$gb-lm-dark-blue: #458588;
+$gb-lm-dark-purple: #b16286;
+$gb-lm-dark-aqua: #689d6a;
+$gb-lm-dark-orange: #d65d0e;
+$gb-lm-dark-gray: #928374;
+
+$gb-lm-light-red: #9d0006;
+$gb-lm-light-green: #79740e;
+$gb-lm-light-yellow: #b57614;
+$gb-lm-light-blue: #076678;
+$gb-lm-light-purple: #8f3f71;
+$gb-lm-light-aqua: #427b58;
+$gb-lm-light-orange: #af3a03;
+$gb-lm-light-gray: #7c6f64;
diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css
new file mode 100644
index 0000000..6c7f2f2
--- /dev/null
+++ b/dot_config/waybar/style.css
@@ -0,0 +1,238 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ /* font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
+ font-family: FiraCode Nerd Font Mono;
+ font-size: 12px;
+}
+
+window#waybar {
+ background-color: #282828;
+ border-bottom: 3px solid #7c6f64;
+ color: #fbf1c7;
+ transition-property: background-color;
+ transition-duration: 0.5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+ background-color: transparent;
+}
+window#waybar.solo {
+ background-color: #FFFFFF;
+}
+*/
+window#waybar.termite {
+ background-color: #282828;
+}
+
+window#waybar.chromium {
+ background-color: #282828;
+ border: none;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ background-color: transparent;
+ color: #fbf1c7;
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each workspace name */
+ border: none;
+ border-radius: 0;
+ /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+}
+#workspaces button:hover {
+ background: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 -3px #fbf1c7;
+}
+#workspaces button.focused {
+ background-color: #504945;
+ box-shadow: inset 0 -3px #fbf1c7;
+}
+#workspaces button.urgent {
+ background-color: #eb4d4b;
+}
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid #fbf1c7;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#mpd {
+ padding: 0 10px;
+ color: #fbf1c7;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ background-color: #64727D;
+}
+
+@keyframes blink {
+ to {
+ background-color: #fbf1c7;
+ color: #000000;
+ }
+}
+#battery {
+ background-color: #fbf1c7;
+ color: #000000;
+}
+#battery.charging, #battery.plugged {
+ color: #fbf1c7;
+ background-color: #b8bb26;
+}
+#battery.critical:not(.charging) {
+ color: #fbf1c7;
+ background-color: #fb4934;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: #282828;
+}
+
+#cpu {
+ background-color: #b8bb26;
+ color: #000000;
+}
+
+#memory {
+ background-color: #fabd2f;
+}
+
+#disk {
+ background-color: #83a598;
+}
+
+#backlight {
+ background-color: #d3869b;
+}
+
+#network {
+ background-color: #8ec07c;
+}
+
+#network.disconnected {
+ background-color: #cc241d;
+}
+
+#pulseaudio {
+ background-color: #fabd2f;
+ color: #000000;
+}
+#pulseaudio.muted {
+ background-color: #d79921;
+ color: #2a5c45;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: #b8bb26;
+}
+#temperature.critical {
+ background-color: #fb4934;
+}
+
+#tray {
+ background-color: #2980b9;
+}
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+ background-color: #7c6f64;
+}
+#idle_inhibitor.activated {
+ background-color: #a89984;
+ color: #7c6f64;
+}
+
+#mpd {
+ background-color: #b8bb26;
+ color: #2a5c45;
+}
+#mpd.disconnected {
+ background-color: #cc241d;
+}
+#mpd.stopped {
+ background-color: #458588;
+}
+#mpd.paused {
+ background-color: #83a598;
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #689d6a;
+ color: #282828;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+#keyboard-state > label {
+ padding: 0 5px;
+}
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+/*# sourceMappingURL=style.css.map */
diff --git a/dot_config/waybar/style.css.map b/dot_config/waybar/style.css.map
new file mode 100644
index 0000000..a453afe
--- /dev/null
+++ b/dot_config/waybar/style.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["style.scss","gruvbox.scss"],"names":[],"mappings":"AAEA;AACI;AACA;EACA;EACA;;;AAGJ;EACI,kBCKE;EDJF;EACA,OCYE;EDXF;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;EACI,kBChBE;;;ADmBN;EACI,kBCpBE;EDqBF;;;AAGJ;EACI;EACA;EACA,OClBE;ADmBF;EACA;AACA;EACA;EACA;AAEA;;AACA;EACI;EACA;;AAGJ;EACI,kBCrCF;EDsCE;;AAGJ;EACI;;;AAKR;EACI;EACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAcI;EACA,OC9DE;;;ADiEN;AAAA;EAEI;;;AAGJ;AACA;EACI;;;AAGJ;AACA;EACI;;;AAGJ;EACI;;;AAGJ;EACI;IACI,kBCtFF;IDuFE;;;AAIR;EACI,kBC5FE;ED6FF;;AAEA;EACI,OChGF;EDiGE,kBChFM;;ADmFV;EACI,OCrGF;EDsGE,kBCtFI;EDuFJ;EACA;EACA;EACA;EACA;;;AAIR;EACI,kBCzHE;;;AD4HN;EACI,kBCnGU;EDoGV;;;AAGJ;EACI,kBCvGW;;;AD0Gf;EACI,kBC1GS;;;AD6Gb;EACI,kBC7GW;;;ADgHf;EACI,kBChHS;;;ADmHb;EACI,kBClIO;;;ADqIX;EACI,kBC3HW;ED4HX;;AAEA;EACI,kBCxIM;EDyIN;;;AAKR;EACI;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;;AAKR;EACI,kBCtJU;;ADwJV;EACI,kBC1JI;;;AD+JZ;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAKR;EACI,kBCjME;;ADmMF;EACI,kBC7LF;ED8LE,OCrMF;;;AD0MN;EACI,kBCvLU;EDwLV;;AAEA;EACI,kBCrMG;;ADwMP;EACI,kBCtMI;;ADyMR;EACI,kBCjMK;;;ADqMb;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI,YCrNQ;EDsNR,OC3OE;ED4OF;EACA;EACA;;AAEA;EACI;;AAGJ;EACI","file":"style.css"}
\ No newline at end of file
diff --git a/dot_config/waybar/style.scss b/dot_config/waybar/style.scss
new file mode 100644
index 0000000..a4e50d8
--- /dev/null
+++ b/dot_config/waybar/style.scss
@@ -0,0 +1,263 @@
+@import 'gruvbox.scss';
+
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ /* font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */
+ font-family: FiraCode Nerd Font Mono;
+ font-size: 12px;
+}
+
+window#waybar {
+ background-color: $bg0;
+ border-bottom: 3px solid $bg4;
+ color: $fg0;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+ background-color: transparent;
+}
+window#waybar.solo {
+ background-color: #FFFFFF;
+}
+*/
+
+window#waybar.termite {
+ background-color: $bg0;
+}
+
+window#waybar.chromium {
+ background-color: $bg0;
+ border: none;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ background-color: transparent;
+ color: $fg0;
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each workspace name */
+ border: none;
+ border-radius: 0;
+
+ /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+ &:hover {
+ background: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 -3px $fg0;
+ }
+
+ &.focused {
+ background-color: $bg2;
+ box-shadow: inset 0 -3px $fg0;
+ }
+
+ &.urgent {
+ background-color: #eb4d4b;
+ }
+}
+
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid $fg0;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#mpd {
+ padding: 0 10px;
+ color: $fg0;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ background-color: #64727D;
+}
+
+@keyframes blink {
+ to {
+ background-color: $fg0;
+ color: #000000;
+ }
+}
+
+#battery {
+ background-color: $fg0;
+ color: #000000;
+
+ &.charging, &.plugged {
+ color: $fg0;
+ background-color: $light-green;
+ }
+
+ &.critical:not(.charging) {
+ color: $fg0;
+ background-color: $light-red;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ }
+}
+
+label:focus {
+ background-color: $bg0;
+}
+
+#cpu {
+ background-color: $light-green;
+ color: #000000;
+}
+
+#memory {
+ background-color: $light-yellow;
+}
+
+#disk {
+ background-color: $light-blue;
+}
+
+#backlight {
+ background-color: $light-purple;
+}
+
+#network {
+ background-color: $light-aqua;
+}
+
+#network.disconnected {
+ background-color: $dark-red;
+}
+
+#pulseaudio {
+ background-color: $light-yellow;
+ color: #000000;
+
+ &.muted {
+ background-color: $dark-yellow;
+ color: #2a5c45;
+ }
+}
+
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+
+ &.custom-spotify {
+ background-color: #66cc99;
+ }
+
+ &.custom-vlc {
+ background-color: #ffa000;
+ }
+}
+
+
+#temperature {
+ background-color: $light-green;
+
+ &.critical {
+ background-color: $light-red;
+ }
+}
+
+
+#tray {
+ background-color: #2980b9;
+
+ & > .passive {
+ -gtk-icon-effect: dim;
+ }
+
+ & > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+ }
+}
+
+
+#idle_inhibitor {
+ background-color: $bg4;
+
+ &.activated {
+ background-color: $fg4;
+ color: $bg4;
+ }
+}
+
+
+#mpd {
+ background-color: $light-green;
+ color: #2a5c45;
+
+ &.disconnected {
+ background-color: $dark-red;
+ }
+
+ &.stopped {
+ background-color: $dark-blue;
+ }
+
+ &.paused {
+ background-color: $light-blue;
+ }
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: $dark-aqua;
+ color: $bg0;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+
+ & > label {
+ padding: 0 5px;
+ }
+
+ & > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+ }
+}