diff --git a/.zshrc b/.zshrc
index 642e2eb..56f09ef 100644
--- a/.zshrc
+++ b/.zshrc
@@ -181,3 +181,23 @@ else
fi
source ~/.env.secrets
+# Pfad zu fpath hinzufügen
+fpath=(~/.zsh/completions $fpath)
+
+# Completions initialisieren
+autoload -U compinit && compinit
+
+export FZF_DEFAULT_OPTS='
+ --layout=reverse
+ --info=inline
+ --height=80%
+ --multi
+ --preview-window=right:60%
+ --border="rounded"
+ --margin=1
+ --padding=1
+ --prompt="🔭 "
+ --pointer="▶"
+ --marker="✓"
+ --color="bg+:-1,gutter:-1,prompt:#7aa2f7,pointer:#7aa2f7,marker:#9ece6a,hl:#ff9e64,hl+:#ff9e64"
+'
diff --git a/ghostty/config.ghostty b/ghostty/config.ghostty
index aaf88c7..6eba74c 100644
--- a/ghostty/config.ghostty
+++ b/ghostty/config.ghostty
@@ -10,3 +10,5 @@ confirm-close-surface = false
# Maus-Support für Neovim
mouse-hide-while-typing = true
+
+shell-integration = zsh
diff --git a/hypr/config.d/autostart.conf b/hypr/config.d/autostart.conf
new file mode 100644
index 0000000..e99acf4
--- /dev/null
+++ b/hypr/config.d/autostart.conf
@@ -0,0 +1,18 @@
+#################
+### AUTOSTART ###
+#################
+
+# Autostart necessary processes (like notifications daemons, status bars, etc.)
+# Or execute your favorite apps at launch like this:
+
+exec-once = $terminal
+# exec-once = waybar
+exec-once = ironbar
+exec-once = gsettings set org.gnome.desktop.interface icon-theme 'candy-icons-master'
+exec-once = hypridle
+# exec-once = nm-applet &
+# exec-once = waybar & hyprpaper & firefox
+# exec-once = qs -c noctalia-shell
+#
+exec = ~/.config/hypr/scripts/clamshell.sh
+exec-once = awww-daemon
diff --git a/hypr/config.d/bindings.conf b/hypr/config.d/bindings.conf
new file mode 100644
index 0000000..57dceb5
--- /dev/null
+++ b/hypr/config.d/bindings.conf
@@ -0,0 +1,75 @@
+###################
+### KEYBINDINGS ###
+###################
+
+# See https://wiki.hypr.land/Configuring/Keywords/
+$mainMod = SUPER # Sets "Windows" key as main modifier
+$mainShiftMod = SUPER_SHIFT
+
+# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
+bind = $mainMod, Return, exec, $terminal
+bind = $mainShiftMod, X, killactive,
+bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
+bind = $mainMod, e, exec, $fileManager
+bind = $mainShiftMod, f, togglefloating,
+bind = $mainMod, a, exec, $menu
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod, J, layoutmsg, togglesplit # dwindle
+bind = $mainMod, L, exec, loginctl lock-session
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+
+bind = $mainMod SHIFT, C, exec, hyprctl reload && pkill ironbar; ironbar &
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Example special workspace (scratchpad)
+bind = $mainMod, S, togglespecialworkspace, magic
+bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# Laptop multimedia keys for volume and LCD brightness
+bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
+bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
+bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
+
+# Requires playerctl
+bindl = , XF86AudioNext, exec, playerctl next
+bindl = , XF86AudioPause, exec, playerctl play-pause
+bindl = , XF86AudioPlay, exec, playerctl play-pause
+bindl = , XF86AudioPrev, exec, playerctl previous
diff --git a/hypr/config.d/env.conf b/hypr/config.d/env.conf
new file mode 100644
index 0000000..dd2b551
--- /dev/null
+++ b/hypr/config.d/env.conf
@@ -0,0 +1,15 @@
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+# See https://wiki.hypr.land/Configuring/Environment-variables/
+
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_SIZE,24
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1# - (From the Qt documentation) enables automatic scaling, based on the monitor’s pixel density
+env = QT_QPA_PLATFORM,wayland;xcb# - Tell Qt applications to use the Wayland backend, and fall back to X11 if Wayland is unavailable
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1# - Disables window decorations on Qt applications
+env = QT_QPA_PLATFORMTHEME,qt5c
diff --git a/hypr/config.d/input.conf b/hypr/config.d/input.conf
new file mode 100644
index 0000000..50cd673
--- /dev/null
+++ b/hypr/config.d/input.conf
@@ -0,0 +1,70 @@
+#############
+### INPUT ###
+#############
+
+# https://wiki.hypr.land/Configuring/Variables/#input
+input {
+ kb_layout = de
+ kb_variant = neo
+ kb_model =
+ kb_options = grp:alt_shift_toggle
+ kb_rules =
+ resolve_binds_by_sym = 1
+
+ follow_mouse = 1
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+
+ touchpad {
+ natural_scroll = true
+ }
+}
+
+# See https://wiki.hypr.land/Configuring/Gestures
+gesture = 3, horizontal, workspace
+
+# Example per-device config
+# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
+device {
+ name = epic-mouse-v1
+ sensitivity = -0.5
+}
+
+# device {
+# name = at-translated-set-2-keyboard
+# kb_layout = de
+# kb_variant = neo
+# }
+
+device {
+ name = crimsen-manufactor-crimsens-tastatur
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+}
+device {
+ name = crimsen-manufactor-crimsens-tastatur-system-control
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+}
+device {
+ name = crimsen-manufactor-crimsens-tastatur-consumer-control
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+}
+device {
+ name = crimsen-manufactor-crimsens-tastatur-keyboard
+ kb_layout = de
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+}
diff --git a/hypr/config.d/look_and_feel.conf b/hypr/config.d/look_and_feel.conf
new file mode 100644
index 0000000..50b7743
--- /dev/null
+++ b/hypr/config.d/look_and_feel.conf
@@ -0,0 +1,130 @@
+#####################
+### LOOK AND FEEL ###
+#####################
+
+# Refer to https://wiki.hypr.land/Configuring/Variables/
+
+# https://wiki.hypr.land/Configuring/Variables/#general
+general {
+ gaps_in = 5
+ gaps_out = 10
+
+ border_size = 2
+
+ # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
+ # col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.active_border = $teal
+ # col.inactive_border = rgba(595959aa)
+ col.inactive_border = $surface0
+
+ # col.group_border_active=$flamingo
+ # col.group_border=$surface0
+
+ # Set to true enable resizing windows by clicking and dragging on borders and gaps
+ resize_on_border = true
+
+ # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+
+ layout = dwindle
+}
+
+# https://wiki.hypr.land/Configuring/Variables/#decoration
+decoration {
+ rounding = 10
+ rounding_power = 2
+
+ # Change transparency of focused and unfocused windows
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+
+ shadow {
+ enabled = true
+ range = 4
+ render_power = 3
+ color = rgba(1a1a1aee)
+ }
+
+ # https://wiki.hypr.land/Configuring/Variables/#blur
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+
+ vibrancy = 0.1696
+ }
+}
+
+# https://wiki.hypr.land/Configuring/Variables/#animations
+animations {
+ enabled = yes, please :)
+
+ # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
+ # NAME, X0, Y0, X1, Y1
+ bezier = easeOutQuint, 0.23, 1, 0.32, 1
+ bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
+ bezier = linear, 0, 0, 1, 1
+ bezier = almostLinear, 0.5, 0.5, 0.75, 1
+ bezier = quick, 0.15, 0, 0.1, 1
+
+ # Default animations, see https://wiki.hypr.land/Configuring/Animations/
+ # NAME, ONOFF, SPEED, CURVE, [STYLE]
+ animation = global, 1, 10, default
+ animation = border, 1, 5.39, easeOutQuint
+ animation = windows, 1, 4.79, easeOutQuint
+ animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
+ animation = windowsOut, 1, 1.49, linear, popin 87%
+ animation = fadeIn, 1, 1.73, almostLinear
+ animation = fadeOut, 1, 1.46, almostLinear
+ animation = fade, 1, 3.03, quick
+ animation = layers, 1, 3.81, easeOutQuint
+ animation = layersIn, 1, 4, easeOutQuint, fade
+ animation = layersOut, 1, 1.5, linear, fade
+ animation = fadeLayersIn, 1, 1.79, almostLinear
+ animation = fadeLayersOut, 1, 1.39, almostLinear
+ animation = workspaces, 1, 1.94, almostLinear, fade
+ animation = workspacesIn, 1, 1.21, almostLinear, fade
+ animation = workspacesOut, 1, 1.94, almostLinear, fade
+ animation = zoomFactor, 1, 7, quick
+}
+
+# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
+# "Smart gaps" / "No gaps when only"
+# uncomment all if you wish to use that.
+# workspace = w[tv1], gapsout:0, gapsin:0
+# workspace = f[1], gapsout:0, gapsin:0
+# windowrule {
+# name = no-gaps-wtv1
+# match:float = false
+# match:workspace = w[tv1]
+#
+# border_size = 0
+# rounding = 0
+# }
+#
+# windowrule {
+# name = no-gaps-f1
+# match:float = false
+# match:workspace = f[1]
+#
+# border_size = 0
+# rounding = 0
+# }
+
+# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
+dwindle {
+ pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # You probably want this
+ force_split = 2
+}
+
+# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
+master {
+ new_status = master
+}
+
+# https://wiki.hypr.land/Configuring/Variables/#misc
+misc {
+ force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
+}
diff --git a/hypr/config.d/macchiato.conf b/hypr/config.d/macchiato.conf
new file mode 100644
index 0000000..fdc1a68
--- /dev/null
+++ b/hypr/config.d/macchiato.conf
@@ -0,0 +1,78 @@
+# Catppuccin Macchiato
+$rosewater = rgb(f4dbd6)
+$rosewaterAlpha = f4dbd6
+
+$flamingo = rgb(f0c6c6)
+$flamingoAlpha = f0c6c6
+
+$pink = rgb(f5bde6)
+$pinkAlpha = f5bde6
+
+$mauve = rgb(c6a0f6)
+$mauveAlpha = c6a0f6
+
+$red = rgb(ed8796)
+$redAlpha = ed8796
+
+$maroon = rgb(ee99a0)
+$maroonAlpha = ee99a0
+
+$peach = rgb(f5a97f)
+$peachAlpha = f5a97f
+
+$yellow = rgb(eed49f)
+$yellowAlpha = eed49f
+
+$green = rgb(a6da95)
+$greenAlpha = a6da95
+
+$teal = rgb(8bd5ca)
+$tealAlpha = 8bd5ca
+
+$sky = rgb(91d7e3)
+$skyAlpha = 91d7e3
+
+$sapphire = rgb(7dc4e4)
+$sapphireAlpha = 7dc4e4
+
+$blue = rgb(8aadf4)
+$blueAlpha = 8aadf4
+
+$lavender = rgb(b7bdf8)
+$lavenderAlpha = b7bdf8
+
+$text = rgb(cad3f5)
+$textAlpha = cad3f5
+
+$subtext1 = rgb(b8c0e0)
+$subtext1Alpha = b8c0e0
+
+$subtext0 = rgb(a5adcb)
+$subtext0Alpha = a5adcb
+
+$overlay2 = rgb(939ab7)
+$overlay2Alpha = 939ab7
+
+$overlay1 = rgb(8087a2)
+$overlay1Alpha = 8087a2
+
+$overlay0 = rgb(6e738d)
+$overlay0Alpha = 6e738d
+
+$surface2 = rgb(5b6078)
+$surface2Alpha = 5b6078
+
+$surface1 = rgb(494d64)
+$surface1Alpha = 494d64
+
+$surface0 = rgb(363a4f)
+$surface0Alpha = 363a4f
+
+$base = rgb(24273a)
+$baseAlpha = 24273a
+
+$mantle = rgb(1e2030)
+$mantleAlpha = 1e2030
+
+$crust = rgb(181926)
+$crustAlpha = 181926
diff --git a/hypr/config.d/monitor.conf b/hypr/config.d/monitor.conf
new file mode 100644
index 0000000..c0bcbf0
--- /dev/null
+++ b/hypr/config.d/monitor.conf
@@ -0,0 +1,13 @@
+################
+### MONITORS ###
+################
+
+# See https://wiki.hypr.land/Configuring/Monitors/
+monitor=,preferred,auto,1.0
+
+# Deaktiviert den internen Monitor beim Zuklappen, wenn ein externer dran ist
+# Ersetze 'eDP-1' durch den Namen deines Laptop-Bildschirms
+bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable"
+
+# Aktiviert den internen Monitor wieder beim Aufklappen
+bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, preferred, auto, 1"
diff --git a/hypr/config.d/permissions.conf b/hypr/config.d/permissions.conf
new file mode 100644
index 0000000..40bd3be
--- /dev/null
+++ b/hypr/config.d/permissions.conf
@@ -0,0 +1,15 @@
+###################
+### PERMISSIONS ###
+###################
+
+# See https://wiki.hypr.land/Configuring/Permissions/
+# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
+# for security reasons
+
+# ecosystem {
+# enforce_permissions = 1
+# }
+
+# permission = /usr/(bin|local/bin)/grim, screencopy, allow
+# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
+# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
diff --git a/hypr/config.d/programms.conf b/hypr/config.d/programms.conf
new file mode 100644
index 0000000..1cc3ff3
--- /dev/null
+++ b/hypr/config.d/programms.conf
@@ -0,0 +1,11 @@
+###################
+### MY PROGRAMS ###
+###################
+
+# See https://wiki.hypr.land/Configuring/Keywords/
+
+# Set programs that you use
+$terminal = /home/crimsen/.local/bin/ghostty
+$fileManager = nautilus
+#$menu = hyprlauncher
+$menu = wofi
diff --git a/hypr/config.d/rules.conf b/hypr/config.d/rules.conf
new file mode 100644
index 0000000..e69de29
diff --git a/hypr/config.d/wallrizz.conf b/hypr/config.d/wallrizz.conf
new file mode 100644
index 0000000..f9be745
--- /dev/null
+++ b/hypr/config.d/wallrizz.conf
@@ -0,0 +1,23 @@
+$wallpaperDir = ~/Bilder/wallpaper
+$WR = WallRizz -n -e -s 81x25 -d $wallpaperDir $themeMode -f "STD.setenv('enableBlur',true)"
+$WallRizz = kitty -1 -o allow_remote_control=yes -o background_opacity=$overlay_window_opacity --title=WallRizz $WR
+$WallRizzRandom = kitty -1 -o allow_remote_control=yes --class=hidden --title=hidden $WR -r
+
+# WallRizz MODERN BLOCK SYNTAX
+windowrule {
+ name = wallrizz-stack
+ match:title = ^(WallRizz)$
+
+ float = on
+ pin = on
+ dim_around = on
+ border_size = 10
+ rounding = 20
+ size = 363 981
+ move = 80% 5%
+ animation = slide right
+}
+
+# Key binds
+bindd = ,f3, Apply wallpaper preset, exec, $WallRizz
+bindd = $mainMod, f3, Apply random wallpaper, exec, $WallRizzRandom
diff --git a/hypr/config.d/workspace.conf b/hypr/config.d/workspace.conf
new file mode 100644
index 0000000..9ced1d9
--- /dev/null
+++ b/hypr/config.d/workspace.conf
@@ -0,0 +1,60 @@
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
+# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
+
+# Example windowrules that are useful
+
+windowrule {
+ # Ignore maximize requests from all apps. You'll probably like this.
+ name = suppress-maximize-events
+ match:class = .*
+
+ suppress_event = maximize
+}
+
+windowrule {
+ # Fix some dragging issues with XWayland
+ name = fix-xwayland-drags
+ match:class = ^$
+ match:title = ^$
+ match:xwayland = true
+ match:float = true
+ match:fullscreen = false
+ match:pin = false
+
+ no_focus = true
+}
+
+# Hyprland-run windowrule
+windowrule {
+ name = move-hyprland-run
+
+ match:class = hyprland-run
+
+ move = 20 monitor_h-120
+ float = yes
+}
+
+windowrule {
+ name = Iron Thread
+ match:class = iron_thread
+ no_initial_focus = true
+
+}
+
+windowrule {
+ name = Ghostty
+ match:class = com.mitchellh.ghostty
+ workspace = 1
+ move = 100 100
+ size = 100 100
+}
+
+windowrule {
+ name = Google Chrome
+ match:class = google-chrome
+ workspace = 2
+}
diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf
new file mode 100644
index 0000000..f230418
--- /dev/null
+++ b/hypr/hypridle.conf
@@ -0,0 +1,16 @@
+general {
+ lock_cmd = pidof hyprlock || hyprlock # Verhindert mehrfaches Starten
+ before_sleep_cmd = loginctl lock-session # Sperren vor dem Standby
+ after_sleep_cmd = hyprctl dispatch dpms on # Monitor an nach dem Aufwachen
+}
+
+listener {
+ timeout = 300 # 5 Minuten
+ on-timeout = loginctl lock-session # Sperren
+}
+
+listener {
+ timeout = 330 # 5.5 Minuten
+ on-timeout = hyprctl dispatch dpms off # Monitor aus
+ on-resume = hyprctl dispatch dpms on # Monitor an
+}
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
new file mode 100644
index 0000000..c312bf5
--- /dev/null
+++ b/hypr/hyprland.conf
@@ -0,0 +1,22 @@
+# This is an example Hyprland config file.
+# Refer to the wiki for more information.
+# https://wiki.hypr.land/Configuring/
+
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+
+# You can split this configuration into multiple files
+# Create your files separately and then link them to this file like this:
+# source = ~/.config/hypr/myColors.conf
+#
+source = config.d/macchiato.conf
+source = config.d/monitor.conf
+source = config.d/programms.conf
+source = config.d/autostart.conf
+source = config.d/env.conf
+source = config.d/permissions.conf
+source = config.d/look_and_feel.conf
+source = config.d/input.conf
+source = config.d/bindings.conf
+source = config.d/workspace.conf
+source = config.d/wallrizz.conf
diff --git a/hypr/hyprlock.conf b/hypr/hyprlock.conf
new file mode 100644
index 0000000..ec10293
--- /dev/null
+++ b/hypr/hyprlock.conf
@@ -0,0 +1,64 @@
+general {
+ no_fade_in = false
+ grace = 0
+ disable_loading = true
+}
+
+background {
+ monitor =
+ path = screenshot # Nimmt einen Screenshot vom aktuellen Desktop
+ color = rgb(24273a) # Fallback auf Macchiato Base
+ blur_passes = 3
+ blur_size = 7
+ noise = 0.0117
+ contrast = 0.8916
+ brightness = 0.8172
+}
+
+input-field {
+ monitor =
+ size = 250, 60
+ outline_thickness = 4
+ dots_size = 0.2
+ dots_spacing = 0.2
+ dots_center = true
+
+ # Farben im Macchiato Style
+ outer_color = rgb(c6a0f6) # Mauve
+ inner_color = rgb(363a4f) # Surface0
+ font_color = rgb(cad3f5) # Text
+
+ check_color = rgb(eed49f) # Yellow (beim Prüfen)
+ fail_color = rgb(ed8796) # Red (bei falschem Passwort)
+
+ fade_on_empty = false
+ placeholder_text = Passwort eingeben...
+ hide_input = false
+ position = 0, -20
+ halign = center
+ valign = center
+}
+
+# Uhrzeit
+label {
+ monitor =
+ text = $TIME
+ color = rgb(cad3f5) # Text
+ font_size = 120
+ font_family = JetBrains Mono Nerd Font Bold
+ position = 0, 80
+ halign = center
+ valign = center
+}
+
+# Benutzername
+label {
+ monitor =
+ text = Hallo, $USER
+ color = rgb(b7bdf8) # Lavender
+ font_size = 25
+ font_family = JetBrains Mono Nerd Font
+ position = 0, -130
+ halign = center
+ valign = center
+}
diff --git a/hypr/scripts/clamshell.sh b/hypr/scripts/clamshell.sh
new file mode 100755
index 0000000..cb96e43
--- /dev/null
+++ b/hypr/scripts/clamshell.sh
@@ -0,0 +1,10 @@
+#!/bin/env bash
+if hyprctl monitors | grep -q "ID [1-9]"; then
+ if grep -q open /proc/acpi/button/lid/LID/state; then
+ hyprctl keyword monitor "eDP-1, preferred, auto, 1"
+ else
+ hyprctl keyword monitor "eDP-1, disable"
+ fi
+fi
+
+
diff --git a/hypr/try.conf b/hypr/try.conf
new file mode 100644
index 0000000..5b82641
--- /dev/null
+++ b/hypr/try.conf
@@ -0,0 +1,178 @@
+source=~/.config/hypr/mocha.conf
+
+monitor=,preferred,auto,1
+monitor=eDP-1,1920x1080,0x0,1
+
+
+input {
+ follow_mouse=1
+
+ touchpad {
+ natural_scroll=no
+ }
+}
+
+general {
+ sensitivity=1.0 # for mouse cursor
+
+ gaps_in=5
+ gaps_out=10
+ border_size=5
+
+ col.active_border=$pink
+ col.inactive_border=$surface0
+
+ col.group_border_active=$flamingo
+ col.group_border=$surface0
+
+ apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse)
+}
+
+misc {
+ disable_hyprland_logo=yes
+ disable_splash_rendering=yes
+}
+
+decoration {
+ rounding=10
+ blur=1
+ blur_size=2 # minimum 1
+ blur_passes=1 # minimum 1, more passes = more resource intensive.
+ # Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
+ # if you want heavy blur, you need to up the blur_passes.
+ # the more passes, the more you can up the blur_size without noticing artifacts.
+
+ col.shadow=$surface0
+ col.shadow_inactive=$surface0
+}
+
+bezier=overshot,0.05,0.9,0.1,1.1
+
+animations {
+ enabled=1
+ animation=windows,1,8,overshot,popin
+# animation=fade,1,8,overshot - This breaks for whatever reason?
+ animation=workspaces,1,8,overshot,slidevert
+}
+
+dwindle {
+ pseudotile=0 # enable pseudotiling on dwindle
+}
+
+gestures {
+ workspace_swipe=yes
+}
+
+exec-once=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_CURRENT_DESKTOP && systemctl --user start hyprland-session.target
+exec=hyprpaper &
+exec-once=blueman-applet &
+exec-once=mako &
+exec-once=waybar &
+
+windowrule=workspace 1 silent,firefox
+windowrule=workspace 2 silent,discord
+windowrule=workspace 4 silent,YouTube Music
+windowrule=workspace special silent,title:^(Firefox — Sharing Indicator)$
+
+bind=SUPER,Alt_R,exec,pkill --signal USR1 waybar
+
+bind=SUPER,RETURN,exec,foot
+bind=SUPERSHIFT,q,killactive,
+bind=SUPERSHIFT,e,exec,powermenu
+bind=SUPERSHIFT,c,exec,hyprctl reload
+bind=SUPERSHIFT,SPACE,togglefloating,
+bind=SUPER,D,exec,rofi -show drun
+bind=SUPER,C,exec,hyprpicker -n -a
+bind=SUPER,F,fullscreen,0,
+bind=CTRL,SPACE,exec,makoctl dismiss
+bind=SUPERSHIFT,b,exec,firefox
+bind=SUPERALT,L,exec,swaylock
+bind=,Print,exec,wayshot-ss | wl-copy
+bind=SUPERSHIFT,m,exec,wayshot-ss > ~/media/pictures/"$(date +"%s")"-wayshot.png
+bind=SUPERALT,m,exec,wl-ocr
+bind=SUPERSHIFTALT,m,exec,wl-qr
+
+binde=,XF86AudioRaiseVolume,exec,pamixer -i 5 && notify-send -t 1000 " Audio" "$(pamixer --get-volume-human)" --hint="int:value:$(pamixer --get-volume)"
+binde=,XF86AudioLowerVolume,exec,pamixer -d 5 && notify-send -t 1000 " Audio" "$(pamixer --get-volume-human)" --hint="int:value:$(pamixer --get-volume)"
+bind=,XF86AudioMute,exec,pamixer -t && notify-send -t 1000 "ﱝ Audio" "Muted"
+
+bind=,XF86AudioPlay,exec,playerctl play-pause
+bind=,XF86AudioNext,exec,playerctl next
+bind=,XF86AudioPrev,exec,playerctl previous
+
+binde=,XF86MonBrightnessUp,exec,brightnessctl s +5% && notify-send -t 1000 " Brightness" "$(light)%" --hint="int:value:$(light)"
+binde=,XF86MonBrightnessDown,exec,brightnessctl s 5%- && notify-send -t 1000 " Brightness" "$(light)%" --hint="int:value:$(light)"
+
+bind=SUPER,1,workspace,1
+bind=SUPER,2,workspace,2
+bind=SUPER,3,workspace,3
+bind=SUPER,4,workspace,4
+bind=SUPER,5,workspace,5
+bind=SUPER,6,workspace,6
+bind=SUPER,7,workspace,7
+bind=SUPER,8,workspace,8
+bind=SUPER,9,workspace,9
+bind=SUPER,0,workspace,10
+
+bind=SUPERSHIFT,1,movetoworkspacesilent,1
+bind=SUPERSHIFT,2,movetoworkspacesilent,2
+bind=SUPERSHIFT,3,movetoworkspacesilent,3
+bind=SUPERSHIFT,4,movetoworkspacesilent,4
+bind=SUPERSHIFT,5,movetoworkspacesilent,5
+bind=SUPERSHIFT,6,movetoworkspacesilent,6
+bind=SUPERSHIFT,7,movetoworkspacesilent,7
+bind=SUPERSHIFT,8,movetoworkspacesilent,8
+bind=SUPERSHIFT,9,movetoworkspacesilent,9
+bind=SUPERSHIFT,0,movetoworkspacesilent,10
+
+bind=SUPER,minus,togglespecialworkspace
+bind=SUPERSHIFT,minus,movetoworkspace,special
+
+bind=SUPER,R,submap,resize
+submap=resize
+
+ binde=,h,resizeactive,-10 0
+ binde=,l,resizeactive,10 0
+ binde=,k,resizeactive,0 -10
+ binde=,j,resizeactive,0 10
+
+ bind=,escape,submap,reset
+submap=reset
+
+bind=SUPER,M,submap,move
+submap=move
+
+ binde=,h,moveactive,-10 0
+ binde=,l,moveactive,10 0
+ binde=,k,moveactive,0 -10
+ binde=,j,moveactive,0 10
+
+ bind=,escape,submap,reset
+submap=reset
+
+bind=SUPER,B,submap,brightness
+submap=brightness
+
+ binde=,l,exec,brightnessctl s +5% && notify-send -t 1000 " Brightness" "$(light)%" --hint="int:value:$(light)"
+ binde=,h,exec,brightnessctl s 5%- && notify-send -t 1000 " Brightness" "$(light)%" --hint="int:value:$(light)"
+
+ bind=,escape,submap,reset
+submap=reset
+
+bind=SUPER,h,movefocus,l
+bind=SUPER,l,movefocus,r
+bind=SUPER,j,movefocus,u
+bind=SUPER,k,movefocus,d
+
+bind=SUPERSHIFT,h,movewindow,l
+bind=SUPERSHIFT,l,movewindow,r
+bind=SUPERSHIFT,j,movewindow,u
+bind=SUPERSHIFT,k,movewindow,d
+
+bind=SUPERSHIFT,z,togglegroup
+bind=SUPER,z,submap,group
+submap=group
+ bind=,l,changegroupactive,f
+ bind=,h,changegroupactive,b
+ bind=,escape,submap,reset
+submap=reset
diff --git a/laio/astronvim.yaml b/laio/astronvim.yaml
new file mode 100644
index 0000000..bd35b9e
--- /dev/null
+++ b/laio/astronvim.yaml
@@ -0,0 +1,22 @@
+---
+name: astronvim
+
+startup:
+ - command: echo
+ args:
+ - starting astronvim session # add commands here to run on session startup
+
+shutdown:
+ - command: echo
+ args:
+ - stopping astronvim session # add commands here to run on session shutdown
+
+path: /home/crimsen/.config/nvim
+
+windows:
+ - name: code
+ flex_direction: column # panes are above one another, if ommited defaults to row where panes are side by side
+ panes:
+ - name: Editor
+ commands:
+ - command: nvim
diff --git a/laio/nvim.yaml b/laio/nvim.yaml
new file mode 100644
index 0000000..4112528
--- /dev/null
+++ b/laio/nvim.yaml
@@ -0,0 +1,26 @@
+---
+name: nvim
+
+startup:
+ - command: echo
+ args:
+ - starting nvim session # add commands here to run on session startup
+
+shutdown:
+ - command: echo
+ args:
+ - stopping nvim session # add commands here to run on session shutdown
+
+path: /home/crimsen/.config/nvim/
+
+windows:
+ - name: code
+ flex_direction: column # panes are above one another, if ommited defaults to row where panes are side by side
+ panes:
+ - name: Editor
+ commands:
+ - command: nvim
+ - name: cli
+ flex_direction: column
+ panes:
+ - name: CLI
diff --git a/laio/qmk.yaml b/laio/qmk.yaml
new file mode 100644
index 0000000..66a9dad
--- /dev/null
+++ b/laio/qmk.yaml
@@ -0,0 +1,26 @@
+---
+name: qmk
+
+startup:
+ - command: echo
+ args:
+ - starting qmk session # add commands here to run on session startup
+
+shutdown:
+ - command: echo
+ args:
+ - stopping qmk session # add commands here to run on session shutdown
+
+path: /home/crimsen/qmk_firmware/
+
+windows:
+ - name: code
+ flex_direction: column # panes are above one another, if ommited defaults to row where panes are side by side
+ panes:
+ - name: Editor
+ commands:
+ - command: nvim
+ - name: cli
+ flex_direction: column
+ panes:
+ - name: CLI
diff --git a/waybar/config.jsonc b/waybar/config.jsonc
new file mode 100644
index 0000000..31738bb
--- /dev/null
+++ b/waybar/config.jsonc
@@ -0,0 +1,88 @@
+{
+ "layer": "top", // Waybar at top layer
+ "position": "top", // Waybar position (top|bottom|left|right)
+ // "width": 1280, // Waybar width
+ // Choose the order of the modules
+ "modules-left": ["hyprland/workspaces", "custom/music"],
+ "modules-center": ["clock"],
+ "modules-right": ["pulseaudio", "backlight", "battery", "tray", "custom/lock", "custom/power"],
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "sort-by-name": true,
+ "format": " {icon} ",
+ "format-icons": {
+ "1": "",
+ // "1":"1",
+ //"1:www": "龜", // Icon: firefox-browser
+ "2": "",
+ //"2:mail": "", // Icon: mail
+ //"3": "",
+ "3":"",
+ //"3:editor": "", // Icon: code
+ "4": "",
+ //"4:terminals": "", // Icon: terminal
+ "5": "",
+ //"5:portal": "", // Icon: terminal
+ "6": "",
+ "default": "",
+ },
+ "persistent-workspaces": { "1":[], "2":[], "3":[], "4":[], "5":[], "6":[]}
+ },
+ "tray": {
+ "icon-size": 21,
+ "spacing": 10
+ },
+ "custom/music": {
+ // "format": " {}",
+ "format": " {}",
+ "escape": true,
+ "interval": 5,
+ "tooltip": false,
+ "exec": "playerctl metadata --format='{{ title }}'",
+ "on-click": "playerctl play-pause",
+ "max-length": 50
+ },
+ "clock": {
+ "timezone": "Europe/Berlin",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": " {:%d/%m/%Y}",
+ "format": " {:%H:%M}"
+ },
+ "backlight": {
+ "device": "intel_backlight",
+ "format": "{icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", ""]
+ },
+ "battery": {
+ "states": {
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{icon}",
+ "format-charging": "",
+ "format-plugged": "",
+ "format-alt": "{icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""]
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{icon} {volume}%",
+ "format-muted": "",
+ "format-icons": {
+ "default": ["", "", " "]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/lock": {
+ "tooltip": false,
+ "on-click": "sh -c '(sleep 0.5s; swaylock --grace 0)' & disown",
+ "format": "",
+ },
+ "custom/power": {
+ "tooltip": false,
+ "on-click": "wlogout &",
+ // "format": "襤"
+ "format": " "
+ // "format": "moopä"
+ }
+}
diff --git a/waybar/config b/waybar/config.new.old
similarity index 87%
rename from waybar/config
rename to waybar/config.new.old
index bbba74c..e11ba20 100644
--- a/waybar/config
+++ b/waybar/config.new.old
@@ -20,9 +20,11 @@
"modules-left": [
"sway/workspaces",
+ "hyprland/workspaces"
],
"modules-center": [
"sway/window",
+ "hyprland/window"
],
"modules-right": [
"network",
@@ -133,6 +135,11 @@
"format": "{}",
"max-length": 120
},
+
+ "hyprland/window": {
+ "format": "{}",
+ "max-length": 120
+ },
"sway/workspaces": {
"all-outputs": false,
@@ -156,6 +163,28 @@
"default": "",
}
},
+ "hyprland/workspaces": {
+ "all-outputs": true,
+ "disable-scroll": true,
+ "format": "{icon} {name}",
+ "format-icons": {
+ "1": "",
+ //"1:www": "龜", // Icon: firefox-browser
+ "2": "",
+ //"2:mail": "", // Icon: mail
+ //"3": "",
+ "3":"",
+ //"3:editor": "", // Icon: code
+ "4": "",
+ //"4:terminals": "", // Icon: terminal
+ "5": "",
+ //"5:portal": "", // Icon: terminal
+ "6": "",
+ "urgent": "",
+ //"focused": "",
+ "default": "",
+ }
+ },
"pulseaudio": {
//"scroll-step": 1,
@@ -181,6 +210,7 @@
"modules-left": [
"backlight",
"sway/mode",
+ "hyprland/submap"
],
"modules-right": [
"memory",
@@ -236,4 +266,8 @@
"format": " {}", // Icon: expand-arrows-alt
"tooltip": false
},
+ "hyprland/submap": {
+ "format": " {}", // Icon: expand-arrows-alt
+ "tooltip": false
+ },
}]
diff --git a/waybar/config.old b/waybar/config.old
deleted file mode 100644
index 495a62a..0000000
--- a/waybar/config.old
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- // "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", "sway/scratchpad", "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": "{}"
- },
- "sway/scratchpad": {
- "format": "{icon} {count}",
- "show-empty": false,
- "format-icons": ["", ""],
- "tooltip": true,
- "tooltip-format": "{app}: {title}"
- },
- "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/waybar/macchiato.css b/waybar/macchiato.css
new file mode 100644
index 0000000..12bc89c
--- /dev/null
+++ b/waybar/macchiato.css
@@ -0,0 +1,37 @@
+/*
+*
+* Catppuccin Mocha palette
+* Maintainer: rubyowo
+*
+*/
+
+@define-color base #24273a;
+@define-color mantle #1e2030;
+@define-color crust #181926;
+
+@define-color text #cad3f5;
+@define-color subtext0 #a5adcb;
+@define-color subtext1 #b8c0e0;
+
+@define-color surface0 #363a4f;
+@define-color surface1 #494d64;
+@define-color surface2 #5b6078;
+
+@define-color overlay0 #6e738d;
+@define-color overlay1 #8087a2;
+@define-color overlay2 #939ab7;
+
+@define-color blue #8aadf4;
+@define-color lavender #b7bdf8;
+@define-color sapphire #7dc4e4;
+@define-color sky #91d7e3;
+@define-color teal #8bd5ca;
+@define-color green #a6da95;
+@define-color yellow #eed49f;
+@define-color peach #f5a97f;
+@define-color maroon #ee99a0;
+@define-color red #ed8796;
+@define-color mauve #c6a0f6;
+@define-color pink #f5bde6;
+@define-color flamingo #f0c6c6;
+@define-color rosewater #f4dbd6;
diff --git a/waybar/style.css b/waybar/style.css
index 67adf39..add8716 100644
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -1,195 +1,141 @@
-/* =============================================================================
- *
- * Waybar configuration
- *
- * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
- *
- * =========================================================================== */
-
-/* -----------------------------------------------------------------------------
- * Keyframes
- * -------------------------------------------------------------------------- */
-
-@keyframes blink-warning {
- 70% {
- color: white;
- }
-
- to {
- color: white;
- background-color: orange;
- }
-}
-
-@keyframes blink-critical {
- 70% {
- color: white;
- }
-
- to {
- color: white;
- background-color: red;
- }
-}
-
-/* -----------------------------------------------------------------------------
- * Base styles
- * -------------------------------------------------------------------------- */
-
-/* Reset all styles */
+@import "macchiato.css";
* {
- border: none;
- border-radius: 0;
+ all: unset;
+ /* font-family: FantasqueSansMono Nerd Font; */
+ font-family: Hack Nerd Font Mono Propo;
+ font-size: 17px;
min-height: 0;
- margin: 0;
- padding: 0;
}
-/* The whole bar */
#waybar {
- /*background: #323232;*/
- background: rgba(50, 50, 50, 0.7);
- color: white;
- /* font-family: Cantarell, Noto Sans, sans-serif; */
- /* font-family: "Hack Nerd Font", "Noto Sans", sans-serif; */
- font-family: "Hack Nerd Font";
- font-size: 14px;
+ background: transparent;
+ color: @text;
+ margin: 5px 5px;
}
-/* Each module */
-#battery,
-#clock,
-#cpu,
-#custom-keyboard-layout,
-#memory,
-#mode,
-#network,
-#pulseaudio,
-#temperature,
-#tray {
- padding-left: 10px;
- padding-right: 10px;
-}
-
-/* -----------------------------------------------------------------------------
- * Module styles
- * -------------------------------------------------------------------------- */
-
-#battery {
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
-}
-
-#battery.warning {
- color: orange;
-}
-
-#battery.critical {
- color: red;
-}
-
-#battery.warning.discharging {
- animation-name: blink-warning;
- animation-duration: 3s;
-}
-
-#battery.critical.discharging {
- animation-name: blink-critical;
- animation-duration: 2s;
-}
-
-#clock {
- font-weight: bold;
-}
-
-#cpu {
- /* No styles */
-}
-
-#cpu.warning {
- color: orange;
-}
-
-#cpu.critical {
- color: red;
-}
-
-#memory {
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
-}
-
-#memory.warning {
- color: orange;
-}
-
-#memory.critical {
- color: red;
- animation-name: blink-critical;
- animation-duration: 2s;
-}
-
-#mode {
- background: #64727d;
- border-top: 2px solid white;
- /* To compensate for the top border and still have vertical centering */
- padding-bottom: 2px;
-}
-
-#network {
- /* No styles */
-}
-
-#network.disconnected {
- color: orange;
-}
-
-#pulseaudio {
- /* No styles */
-}
-
-#pulseaudio.muted {
- /* No styles */
-}
-
-#custom-spotify {
- color: rgb(102, 220, 105);
-}
-
-#temperature {
- /* No styles */
-}
-
-#temperature.critical {
- color: red;
-}
-
-#tray {
- /* No styles */
-}
-
-#window {
- font-weight: bold;
+#workspaces {
+ border-radius: 1rem 0px 0px 1rem;
+ margin: 5px;
+ margin-right: 0px;
+ background-color: @surface0;
+ margin-left: 1rem;
}
#workspaces button {
- border-top: 2px solid transparent;
- /* To compensate for the top border and still have vertical centering */
- padding-bottom: 2px;
- padding-left: 10px;
- padding-right: 10px;
- color: #888888;
+ font-family: Hack Nerd Mono Font;
+ font-weight: 500;
+ /* color: @lavender; */
+ background-color: transparent;
+ border-radius: 1rem;
+ margin: 0.5rem;
+ padding: 0.2rem;
+ padding-left: 0rem;
+ padding-right: 0.5rem;
+}
+#workspaces button#hyprland-workspace-1 {
+ background-color: #f38ba8; /* Catppuccin Red */
+ border-bottom: 3px solid #f38ba8;
+ }
+
+#workspaces button.2 {
+ background-color: #fab387; /* Catppuccin Peach */
+ border-bottom: 3px solid #fab387;
+ }
+
+ #workspaces button.3 {
+ background-color: #f9e2af; /* Catppuccin Yellow */
+ border-bottom: 3px solid #f9e2af;
+ }
+
+ #workspaces button.4 {
+background-color: #a6e3a1; /* Catppuccin Green */
+ border-bottom: 3px solid #a6e3a1;
}
-#workspaces button.focused {
- border-color: #4c7899;
- color: white;
- background-color: #285577;
+
+#workspaces button.active {
+ background-color: @teal;
+ font-family: Hack Nerd Mono Font;
+ color: @surface0;
+ border-radius: 1rem;
+ margin: 0.5rem;
+ padding: 0rem;
+ padding-right: 0.5rem;
+ transition: width 0.5s, height 0.5s, background-color 0.5s;
}
-#workspaces button.urgent {
- border-color: #c9545d;
- color: #c9545d;
+#workspaces button:hover {
+ color: @sapphire;
+ border-radius: 1rem;
+}
+
+#custom-music,
+#tray,
+#backlight,
+#clock,
+#pulseaudio,
+#custom-lock,
+#custom-power {
+ background-color: @surface0;
+ padding: 0.5rem 1rem;
+ margin: 5px 0;
+}
+
+#clock {
+ color: @blue;
+ /* border-radius: 0px 1rem 1rem 0px; */
+ border-radius: 1rem;
+ margin-right: 1rem;
+}
+
+#battery {
+ background-color: @surface0;
+ margin: 5px 0;
+ margin-right: 1rem;
+ padding: 0.5rem 1rem;
+ color: @green;
+ border-radius: 0px 1rem 1rem 0px;
+}
+
+#battery.charging {
+ color: @green;
+}
+
+#battery.warning:not(.charging) {
+ color: @red;
+}
+
+#backlight {
+ color: @yellow;
+}
+
+#backlight {
+ border-radius: 0;
+}
+
+#pulseaudio {
+ color: @maroon;
+ border-radius: 1rem 0px 0px 1rem;
+ margin-left: 1rem;
+}
+
+#custom-music {
+ color: @mauve;
+ border-radius: 0px 1rem 1rem 0px;
+}
+
+#custom-lock {
+ border-radius: 1rem 0px 0px 1rem;
+ color: @lavender;
+}
+
+#custom-power {
+ margin-right: 1rem;
+ border-radius: 0px 1rem 1rem 0px;
+ color: @red;
+}
+
+#tray {
+ margin-right: 1rem;
+ border-radius: 1rem;
}
diff --git a/waybar/style.css.new.old b/waybar/style.css.new.old
new file mode 100644
index 0000000..3145e18
--- /dev/null
+++ b/waybar/style.css.new.old
@@ -0,0 +1,201 @@
+/* =============================================================================
+ *
+ * Waybar configuration
+ *
+ * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
+ *
+ * =========================================================================== */
+
+/* -----------------------------------------------------------------------------
+ * Keyframes
+ * -------------------------------------------------------------------------- */
+
+@keyframes blink-warning {
+ 70% {
+ color: white;
+ }
+
+ to {
+ color: white;
+ background-color: orange;
+ }
+}
+
+@keyframes blink-critical {
+ 70% {
+ color: white;
+ }
+
+ to {
+ color: white;
+ background-color: red;
+ }
+}
+
+/* -----------------------------------------------------------------------------
+ * Base styles
+ * -------------------------------------------------------------------------- */
+
+/* Reset all styles */
+* {
+ border: none;
+ border-radius: 0;
+ min-height: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/* The whole bar */
+#waybar {
+ /*background: #323232;*/
+ background: rgba(50, 50, 50, 0.7);
+ color: white;
+ /* font-family: Cantarell, Noto Sans, sans-serif; */
+ /* font-family: "Hack Nerd Font", "Noto Sans", sans-serif; */
+ font-family: "Hack Nerd Font";
+ font-size: 14px;
+}
+
+/* Each module */
+#battery,
+#clock,
+#cpu,
+#custom-keyboard-layout,
+#memory,
+#mode,
+#network,
+#pulseaudio,
+#temperature,
+#tray {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+/* -----------------------------------------------------------------------------
+ * Module styles
+ * -------------------------------------------------------------------------- */
+
+#battery {
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+#battery.warning {
+ color: orange;
+}
+
+#battery.critical {
+ color: red;
+}
+
+#battery.warning.discharging {
+ animation-name: blink-warning;
+ animation-duration: 3s;
+}
+
+#battery.critical.discharging {
+ animation-name: blink-critical;
+ animation-duration: 2s;
+}
+
+#clock {
+ font-weight: bold;
+}
+
+#cpu {
+ /* No styles */
+}
+
+#cpu.warning {
+ color: orange;
+}
+
+#cpu.critical {
+ color: red;
+}
+
+#memory {
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+#memory.warning {
+ color: orange;
+}
+
+#memory.critical {
+ color: red;
+ animation-name: blink-critical;
+ animation-duration: 2s;
+}
+
+#mode {
+ background: #64727d;
+ border-top: 2px solid white;
+ /* To compensate for the top border and still have vertical centering */
+ padding-bottom: 2px;
+}
+
+#network {
+ /* No styles */
+}
+
+#network.disconnected {
+ color: orange;
+}
+
+#pulseaudio {
+ /* No styles */
+}
+
+#pulseaudio.muted {
+ /* No styles */
+}
+
+#custom-spotify {
+ color: rgb(102, 220, 105);
+}
+
+#temperature {
+ /* No styles */
+}
+
+#temperature.critical {
+ color: red;
+}
+
+#tray {
+ /* No styles */
+}
+
+#window {
+ font-weight: bold;
+}
+
+#workspaces button {
+ border-top: 2px solid transparent;
+ /* To compensate for the top border and still have vertical centering */
+ padding-bottom: 2px;
+ padding-left: 10px;
+ padding-right: 10px;
+ color: #888888;
+}
+
+#workspaces button.focused {
+ border-color: #4c7899;
+ color: white;
+ background-color: #285577;
+}
+
+#workspaces button.active {
+ border-color: #4c7899;
+ color: white;
+ background-color: #285577;
+}
+
+#workspaces button.urgent {
+ border-color: #c9545d;
+ color: #c9545d;
+}
diff --git a/waybar/style.css.old b/waybar/style.css.old
deleted file mode 100644
index cf5c5fb..0000000
--- a/waybar/style.css.old
+++ /dev/null
@@ -1,280 +0,0 @@
-* {
- /* `otf-font-awesome` is required to be installed for icons */
- font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
- font-size: 13px;
-}
-
-window#waybar {
- background-color: rgba(43, 48, 59, 0.5);
- border-bottom: 3px solid rgba(100, 114, 125, 0.5);
- color: #ffffff;
- 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: #3F3F3F;
-}
-
-window#waybar.chromium {
- background-color: #000000;
- border: none;
-}
-
-button {
- /* Use box-shadow instead of border so the text isn't offset */
- box-shadow: inset 0 -3px transparent;
- /* Avoid rounded borders under each button name */
- border: none;
- border-radius: 0;
-}
-
-/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
-button:hover {
- background: inherit;
- box-shadow: inset 0 -3px #ffffff;
-}
-
-#workspaces button {
- padding: 0 5px;
- background-color: transparent;
- color: #ffffff;
-}
-
-#workspaces button:hover {
- background: rgba(0, 0, 0, 0.2);
-}
-
-#workspaces button.focused {
- background-color: #64727D;
- box-shadow: inset 0 -3px #ffffff;
-}
-
-#workspaces button.urgent {
- background-color: #eb4d4b;
-}
-
-#mode {
- background-color: #64727D;
- border-bottom: 3px solid #ffffff;
-}
-
-#clock,
-#battery,
-#cpu,
-#memory,
-#disk,
-#temperature,
-#backlight,
-#network,
-#pulseaudio,
-#wireplumber,
-#custom-media,
-#tray,
-#mode,
-#idle_inhibitor,
-#scratchpad,
-#mpd {
- padding: 0 10px;
- color: #ffffff;
-}
-
-#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;
-}
-
-#battery {
- background-color: #ffffff;
- color: #000000;
-}
-
-#battery.charging, #battery.plugged {
- color: #ffffff;
- background-color: #26A65B;
-}
-
-@keyframes blink {
- to {
- background-color: #ffffff;
- color: #000000;
- }
-}
-
-#battery.critical:not(.charging) {
- background-color: #f53c3c;
- color: #ffffff;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
-}
-
-label:focus {
- background-color: #000000;
-}
-
-#cpu {
- background-color: #2ecc71;
- color: #000000;
-}
-
-#memory {
- background-color: #9b59b6;
-}
-
-#disk {
- background-color: #964B00;
-}
-
-#backlight {
- background-color: #90b1b1;
-}
-
-#network {
- background-color: #2980b9;
-}
-
-#network.disconnected {
- background-color: #f53c3c;
-}
-
-#pulseaudio {
- background-color: #f1c40f;
- color: #000000;
-}
-
-#pulseaudio.muted {
- background-color: #90b1b1;
- color: #2a5c45;
-}
-
-#wireplumber {
- background-color: #fff0f5;
- color: #000000;
-}
-
-#wireplumber.muted {
- background-color: #f53c3c;
-}
-
-#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: #f0932b;
-}
-
-#temperature.critical {
- background-color: #eb4d4b;
-}
-
-#tray {
- background-color: #2980b9;
-}
-
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
- background-color: #eb4d4b;
-}
-
-#idle_inhibitor {
- background-color: #2d3436;
-}
-
-#idle_inhibitor.activated {
- background-color: #ecf0f1;
- color: #2d3436;
-}
-
-#mpd {
- background-color: #66cc99;
- color: #2a5c45;
-}
-
-#mpd.disconnected {
- background-color: #f53c3c;
-}
-
-#mpd.stopped {
- background-color: #90b1b1;
-}
-
-#mpd.paused {
- background-color: #51a37a;
-}
-
-#language {
- background: #00b093;
- color: #740864;
- padding: 0 5px;
- margin: 0 5px;
- min-width: 16px;
-}
-
-#keyboard-state {
- background: #97e1ad;
- color: #000000;
- 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);
-}
-
-#scratchpad {
- background: rgba(0, 0, 0, 0.2);
-}
-
-#scratchpad.empty {
- background-color: transparent;
-}