From 8a6d894987e0bb6bd6bb32512a95bd633edeca25 Mon Sep 17 00:00:00 2001
From: Kerem <kerem.yollu@kynsight.com>
Date: Tue, 19 Nov 2024 08:12:03 +0100
Subject: [PATCH] added wayland support with hyprland and waybar

---
 dotfiles/alacritty/alacritty.toml         | 127 +++++++++++
 dotfiles/hypr/conf/animation.conf         |  30 +++
 dotfiles/hypr/conf/autoStart.conf         |  26 +++
 dotfiles/hypr/conf/keybindings.conf       |  79 +++++++
 dotfiles/hypr/conf/programs.conf          |  32 +++
 dotfiles/hypr/hyprland.conf               | 184 ++++++++++++++++
 dotfiles/hypr/hyprpaper.conf              |   8 +
 dotfiles/hypr/scripts/getWindowInfo.sh    |   4 +
 dotfiles/hypr/scripts/toggle-animation.sh |  15 ++
 dotfiles/waybar/config.jsonc              | 249 ++++++++++++++++++++++
 programs/alacritty/alacritty.sh           |   4 +
 programs/dmenu/dmenu_5.2/config.h         |   2 +-
 programs/dmenu/dmenu_5.2/dmenu            | Bin 43824 -> 43264 bytes
 programs/dmenu/dmenu_5.2/stest            | Bin 16888 -> 16432 bytes
 programs/hyprland.sh                      |   3 +
 programs/yay/yay.sh                       |   2 +-
 setup.sh                                  |   3 +-
 17 files changed, 765 insertions(+), 3 deletions(-)
 create mode 100755 dotfiles/alacritty/alacritty.toml
 create mode 100644 dotfiles/hypr/conf/animation.conf
 create mode 100644 dotfiles/hypr/conf/autoStart.conf
 create mode 100644 dotfiles/hypr/conf/keybindings.conf
 create mode 100644 dotfiles/hypr/conf/programs.conf
 create mode 100644 dotfiles/hypr/hyprland.conf
 create mode 100644 dotfiles/hypr/hyprpaper.conf
 create mode 100755 dotfiles/hypr/scripts/getWindowInfo.sh
 create mode 100755 dotfiles/hypr/scripts/toggle-animation.sh
 create mode 100644 dotfiles/waybar/config.jsonc
 create mode 100755 programs/hyprland.sh

diff --git a/dotfiles/alacritty/alacritty.toml b/dotfiles/alacritty/alacritty.toml
new file mode 100755
index 0000000..0f4b82e
--- /dev/null
+++ b/dotfiles/alacritty/alacritty.toml
@@ -0,0 +1,127 @@
+general.import = ["~/.config/alacritty/themes/themes/rose_pine.toml"]
+
+[[keyboard.bindings]]
+action = "Paste"
+key = "V"
+mods = "Control|Shift"
+
+[[keyboard.bindings]]
+action = "Copy"
+key = "C"
+mods = "Control|Shift"
+
+[[keyboard.bindings]]
+action = "PasteSelection"
+key = "Insert"
+mods = "Shift"
+
+[[keyboard.bindings]]
+action = "ResetFontSize"
+key = "Key0"
+mods = "Control"
+
+[[keyboard.bindings]]
+action = "IncreaseFontSize"
+key = "Equals"
+mods = "Control"
+
+[[keyboard.bindings]]
+action = "IncreaseFontSize"
+key = "Plus"
+mods = "Control"
+
+[[keyboard.bindings]]
+action = "DecreaseFontSize"
+key = "Minus"
+mods = "Control"
+
+[[keyboard.bindings]]
+action = "ToggleFullscreen"
+key = "F11"
+mods = "None"
+
+[[keyboard.bindings]]
+action = "Paste"
+key = "Paste"
+mods = "None"
+
+[[keyboard.bindings]]
+action = "Copy"
+key = "Copy"
+mods = "None"
+
+[[keyboard.bindings]]
+action = "ClearLogNotice"
+key = "L"
+mods = "Control"
+
+[[keyboard.bindings]]
+chars = "\f"
+key = "L"
+mods = "Control"
+
+[[keyboard.bindings]]
+action = "ScrollPageUp"
+key = "PageUp"
+mode = "~Alt"
+mods = "None"
+
+[[keyboard.bindings]]
+action = "ScrollPageDown"
+key = "PageDown"
+mode = "~Alt"
+mods = "None"
+
+[[keyboard.bindings]]
+action = "ScrollToTop"
+key = "Home"
+mode = "~Alt"
+mods = "Shift"
+
+[[keyboard.bindings]]
+action = "ScrollToBottom"
+key = "End"
+mode = "~Alt"
+mods = "Shift"
+
+[env]
+TERM = "xterm-256color"
+
+[font]
+size = 16
+
+[font.bold]
+family = "Source Code Pro"
+style = "Bold"
+
+[font.bold_italic]
+family = "Source Code Pro"
+style = "Bold Italic"
+
+[font.italic]
+family = "Source Code Pro"
+style = "Italic"
+
+[font.normal]
+family = "Source Code Pro"
+style = "Regular"
+
+[font.offset]
+x = 0
+y = 1
+
+[scrolling]
+history = 5000
+
+[window]
+dynamic_padding = false
+opacity = 0.8
+title = "Alacritty"
+
+[window.class]
+general = "Alacritty"
+instance = "Alacritty"
+
+[window.padding]
+x = 6
+y = 6
diff --git a/dotfiles/hypr/conf/animation.conf b/dotfiles/hypr/conf/animation.conf
new file mode 100644
index 0000000..bd7546f
--- /dev/null
+++ b/dotfiles/hypr/conf/animation.conf
@@ -0,0 +1,30 @@
+# https://wiki.hyprland.org/Configuring/Variables/#animations
+animations {
+    #enabled = yes, please :)
+    enabled = yes
+
+    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+
+    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.0
+    bezier = quick,0.15,0,0.1,1
+
+    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
+}
diff --git a/dotfiles/hypr/conf/autoStart.conf b/dotfiles/hypr/conf/autoStart.conf
new file mode 100644
index 0000000..afdcebd
--- /dev/null
+++ b/dotfiles/hypr/conf/autoStart.conf
@@ -0,0 +1,26 @@
+#################
+### AUTOSTART ###
+#################
+# Autostart necessary processes (like notifications daemons, status bars, etc.)
+
+#Required for hyrpland
+exec-once = $networkManager 
+exec-once = $notificationDaemon 
+exec-once = $mainBar
+exec-once = $wallpaperDaemon
+
+# System Utilities
+exec-once = [workspace 1 silent] $terminal
+
+# Applications - Utilities
+exec-once = $cloudDaemon
+exec-once = [workspace 3 silent] $mailClient
+exec-once = [workspace special:magic silent] $notes
+
+# Applications - Standart
+exec-once = [workspace 6 silent] $musicPLayer 
+exec-once = [workspace 2 silent] $webBrowser
+
+# User Defined
+exec-once = $cloud
+exec-once = $teams 
diff --git a/dotfiles/hypr/conf/keybindings.conf b/dotfiles/hypr/conf/keybindings.conf
new file mode 100644
index 0000000..a642fae
--- /dev/null
+++ b/dotfiles/hypr/conf/keybindings.conf
@@ -0,0 +1,79 @@
+
+# See https://wiki.hyprland.org/Configuring/Keywords/
+$mainMod = SUPER # Sets "Windows" key as main modifier
+$HYPRSCRIPTS = ~/.config/hypr/scripts
+
+bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animation.sh
+bind = $mainMod SHIFT, I, exec, $HYPRSCRIPTS/getWindowInfo.sh
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod, Return, exec, $terminal
+bind = $mainMod SHIFT, Return, exec, $menu
+bind = $mainMod SHIFT, Q, exit,
+bind = $mainMod, I, exec, $webBrowser
+bind = $mainMod, C, killactive,
+bind = $mainMod, E, exec, $fileManager
+
+bind = $mainMod SHIFT, K, exec, $cloud
+bind = $mainMod SHIFT, T, exec, $teams
+bind = $mainMod SHIFT, D, exec, $nextCloudDeck
+
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod, _, togglesplit, # dwindle
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, H, movefocus, l
+bind = $mainMod, L, movefocus, r
+bind = $mainMod, H, movefocus, u
+bind = $mainMod, J, movefocus, d
+
+# 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 @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 s 10%+
+bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
+
+# 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/dotfiles/hypr/conf/programs.conf b/dotfiles/hypr/conf/programs.conf
new file mode 100644
index 0000000..dba8c9b
--- /dev/null
+++ b/dotfiles/hypr/conf/programs.conf
@@ -0,0 +1,32 @@
+###################
+### MY PROGRAMS ###
+###################
+# See https://wiki.hyprland.org/Configuring/Keywords/
+# Set programs that you use
+
+#Required for hyprland
+$networkManager		= nm-applet
+$notificationDaemon = swaync
+$mainBar			= waybar
+$wallpaperDaemon	= hyprpaper
+
+# System Utilities
+$terminal		= alacritty -e fish
+$fileManager	= pcmanfm-qt
+$menu			= wofi --show drun
+
+# Applications - Utilities 
+$notes			= QOwnNotes
+$mailClient		= thunderbird
+$cloudDaemon	= nextcloud
+
+# Applications - Standart
+$webBrowser				= chromium
+$webBrowserNewWindow	= $webBrowser --new-window 
+$game					= steam
+$musicPLayer			= spotify-launcher
+
+# User Defined
+$cloud			= $webBrowserNewWindow https://cloud.keydev.me
+$teams			= $webBrowserNewWindow https://teams.live.com/v2/
+$nextCloudDeck	= $webBrowserNewWindow https://cloud.keydev.me/apps/deck
diff --git a/dotfiles/hypr/hyprland.conf b/dotfiles/hypr/hyprland.conf
new file mode 100644
index 0000000..d739541
--- /dev/null
+++ b/dotfiles/hypr/hyprland.conf
@@ -0,0 +1,184 @@
+
+# #######################################################################################
+# Config based on the auto generated file, but being modified as needed by KeY 
+# https://wiki.hyprland.org/Configuring/
+# #######################################################################################
+
+
+################
+### MONITORS ###
+################
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=,preferred,auto,auto
+
+
+###################
+### MY PROGRAMS ###
+###################
+
+source = ~/.config/hypr/conf/programs.conf
+
+
+#################
+### AUTOSTART ###
+#################
+
+source = ~/.config/hypr/conf/autoStart.conf
+
+
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+# See https://wiki.hyprland.org/Configuring/Environment-variables/
+
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_SIZE,24
+
+
+#####################
+### LOOK AND FEEL ###
+#####################
+
+# Refer to https://wiki.hyprland.org/Configuring/Variables/
+
+# https://wiki.hyprland.org/Configuring/Variables/#general
+general {
+    gaps_in = 5
+    gaps_out = 20
+
+    border_size = 2
+
+    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
+    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+    col.inactive_border = rgba(595959aa)
+
+    # Set to true enable resizing windows by clicking and dragging on borders and gaps
+    resize_on_border = false
+
+    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+    allow_tearing = false
+
+    layout = dwindle
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#decoration
+decoration {
+    rounding = 10
+
+    # Change transparency of focused and unfocused windows
+    active_opacity = 1.0
+    inactive_opacity = 0.9
+
+    shadow {
+        enabled = true
+        range = 4
+        render_power = 3
+        color = rgba(1a1a1aee)
+    }
+
+    # https://wiki.hyprland.org/Configuring/Variables/#blur
+    blur {
+        enabled = true
+        size = 3
+        passes = 1
+
+        vibrancy = 0.1696
+    }
+}
+
+source = ~/.config/hypr/conf/animation.conf
+
+
+# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
+# "Smart gaps" / "No gaps when only"
+# uncomment all if you wish to use that.
+# workspace = w[t1], gapsout:0, gapsin:0
+# workspace = w[tg1], gapsout:0, gapsin:0
+# workspace = f[1], gapsout:0, gapsin:0
+# windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1]
+# windowrulev2 = rounding 0, floating:0, onworkspace:w[t1]
+# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1]
+# windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1]
+# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
+# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
+
+# See https://wiki.hyprland.org/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
+}
+
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+master {
+    new_status = master
+}
+
+# https://wiki.hyprland.org/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. :(
+}
+
+
+#############
+### INPUT ###
+#############
+
+# https://wiki.hyprland.org/Configuring/Variables/#input
+input {
+    kb_layout = ch
+    kb_variant =
+    kb_model =
+    kb_options =
+    kb_rules =
+
+    follow_mouse = 1
+
+    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+
+    touchpad {
+        natural_scroll = false
+    }
+}
+
+# https://wiki.hyprland.org/Configuring/Variables/#gestures
+gestures {
+    workspace_swipe = false
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
+device {
+    name = epic-mouse-v1
+    sensitivity = -0.5
+}
+
+
+###################
+### KEYBINDINGS ###
+###################
+source = ~/.config/hypr/conf/keybindings.conf
+
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+
+# Ignore maximize requests from apps. You'll probably like this.
+windowrulev2 = suppressevent maximize, class:.*
+windowrulev2 = workspace 3 silent,class:^($mailClient)$
+windowrulev2 = workspace special:magic silent,class:^($notes)$
+
+# Fix some dragging issues with XWayland
+windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
diff --git a/dotfiles/hypr/hyprpaper.conf b/dotfiles/hypr/hyprpaper.conf
new file mode 100644
index 0000000..25ce352
--- /dev/null
+++ b/dotfiles/hypr/hyprpaper.conf
@@ -0,0 +1,8 @@
+# Preload Wallpapers
+preload = ~/Pictures/wallpapers/amongus.png
+
+# Set the wallpaper on every display
+wallpaper = , /home/me/amongus.png
+
+# Disable Splash
+splash = false
diff --git a/dotfiles/hypr/scripts/getWindowInfo.sh b/dotfiles/hypr/scripts/getWindowInfo.sh
new file mode 100755
index 0000000..d06145a
--- /dev/null
+++ b/dotfiles/hypr/scripts/getWindowInfo.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+info=`hyprctl activewindow`
+notify-send "$info" 'This is an example' --icon=dialog-information -t 3000
diff --git a/dotfiles/hypr/scripts/toggle-animation.sh b/dotfiles/hypr/scripts/toggle-animation.sh
new file mode 100755
index 0000000..4ee8478
--- /dev/null
+++ b/dotfiles/hypr/scripts/toggle-animation.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+cache_file="$HOME/.cache/toggle_animation"
+if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then
+    echo ":: Toggle blocked by disabled.conf variation."
+else
+    if [ -f $cache_file ] ;then
+        hyprctl keyword animations:enabled true
+		notify-send 'Animations Turned On' 'This is an example notification.' --icon=dialog-information -t 1000
+        rm $cache_file
+    else
+        hyprctl keyword animations:enabled false
+		notify-send 'Animations Turned Off' 'This is an example notification.' --icon=dialog-information -t 1000
+        touch $cache_file
+    fi
+fi
diff --git a/dotfiles/waybar/config.jsonc b/dotfiles/waybar/config.jsonc
new file mode 100644
index 0000000..9b1f110
--- /dev/null
+++ b/dotfiles/waybar/config.jsonc
@@ -0,0 +1,249 @@
+// -*- mode: jsonc -*-
+{
+    // "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": [
+        "hyprland/workspaces",
+        "hyprland/mode",
+        "sway/scratchpad",
+        "custom/media"
+    ],
+    "modules-center": [
+        "hyprland/window"
+    ],
+    "modules-right": [
+        "mpd",
+        "idle_inhibitor",
+        "pulseaudio",
+        "network",
+        "power-profiles-daemon",
+        "cpu",
+        "memory",
+        "temperature",
+        "backlight",
+        "keyboard-state",
+        "sway/language",
+        "battery",
+        "battery#bat2",
+        "clock",
+        "tray",
+        "custom/power",
+        "custom/notification"
+    ],
+    // Modules configuration
+     "hyprland/workspaces": {
+         "disable-scroll": true,
+         "all-outputs": true,
+         "warp-on-scroll": false,
+         "format": "{name}: {icon}",
+         "format-icons": {
+             "1": "",
+             "2": "",
+             "3": "",
+			 "4": "",
+             "5": "",
+             "6": "",
+             "urgent": "",
+             "focused": "",
+             "default": ""
+         },
+	"persistent_workspaces": {
+            "1": [],
+            "2": [],
+            "3": [],
+            "4": [],
+            "5": [],
+            "6": [],
+            "7": [],
+            "8": [],
+            "9": []
+        }
+
+     },
+    "keyboard-state": {
+        "numlock": true,
+        "capslock": true,
+        "format": "{name} {icon}",
+        "format-icons": {
+            "locked": "",
+            "unlocked": ""
+        }
+    },
+    "sway/mode": {
+        "format": "<span style=\"italic\">{}</span>"
+    },
+    "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": 5,
+        "consume-icons": {
+            "on": " "
+        },
+        "random-icons": {
+            "off": "<span color=\"#f53c3c\"></span> ",
+            "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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
+        "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-full": "{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"
+    },
+    "power-profiles-daemon": {
+      "format": "{icon}",
+      "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
+      "tooltip": true,
+      "format-icons": {
+        "default": "",
+        "performance": "",
+        "balanced": "",
+        "power-saver": ""
+      }
+    },
+    "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
+    },
+    "custom/power": {
+        "format" : "⏻ ",
+		"tooltip": false,
+		"menu": "on-click",
+		"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
+		"menu-actions": {
+			"shutdown": "shutdown",
+			"reboot": "reboot",
+			"suspend": "systemctl suspend",
+			"hibernate": "systemctl hibernate"
+		}
+    },
+	"custom/notification": {
+    "tooltip": false,
+    "format": "{icon}",
+    "format-icons": {
+      "notification": "<span foreground='red'><sup></sup></span>",
+      "none": "",
+      "dnd-notification": "<span foreground='red'><sup></sup></span>",
+      "dnd-none": "",
+      "inhibited-notification": "<span foreground='red'><sup></sup></span>",
+      "inhibited-none": "",
+      "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
+      "dnd-inhibited-none": ""
+    },
+    "return-type": "json",
+    "exec-if": "which swaync-client",
+    "exec": "swaync-client -swb",
+    "on-click": "swaync-client -t -sw",
+    "on-click-right": "swaync-client -d -sw",
+    "escape": true
+  }
+}
diff --git a/programs/alacritty/alacritty.sh b/programs/alacritty/alacritty.sh
index 3d7d032..7bb4909 100755
--- a/programs/alacritty/alacritty.sh
+++ b/programs/alacritty/alacritty.sh
@@ -99,6 +99,10 @@ install_alacritty()
 	#Copying the configuration file to the configuration of the user
 	cp $DOTFILE_DIR/alacritty/alacritty_$PLATFORM.yml $USER_DOTFILE_DIR/alacritty/alacritty.yml
 
+	# Themes We use Alacritty's default Linux config directory as our storage location here.
+	mkdir -p ~/.config/alacritty/themes
+	git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
+
 	#Calling funtion to set the opacity
 	alacritty_set_opacity
 
diff --git a/programs/dmenu/dmenu_5.2/config.h b/programs/dmenu/dmenu_5.2/config.h
index 08bd9ee..7ded7d9 100644
--- a/programs/dmenu/dmenu_5.2/config.h
+++ b/programs/dmenu/dmenu_5.2/config.h
@@ -6,7 +6,7 @@ static const unsigned int alpha = 0xf0;
 /* -fn option overrides fonts[0]; default X11 font or font set */
 static const char *fonts[] = {
 	//"monospace:size=
-	"xft:Ubuntu:weight=bold:pixelsize=18tialias=true:hinting=true"
+	"xft:Ubuntu:weight=bold:pixelsize=14tialias=true:hinting=true"
 };
 static const char *prompt      = NULL;      /* -p  option; prompt to the left of input field */
 
diff --git a/programs/dmenu/dmenu_5.2/dmenu b/programs/dmenu/dmenu_5.2/dmenu
index e904366d3eb3fb73209687f96e84436c3fb238e2..ed156beca74918f36f2e7171d525b94d86f127fc 100755
GIT binary patch
literal 43264
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
HgBAWCue_8|

literal 43824
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
WVYt&bX8PKDRSEi8dHt2Z3jYJEgj^E<

diff --git a/programs/dmenu/dmenu_5.2/stest b/programs/dmenu/dmenu_5.2/stest
index 99a49856b62a4e9b346ba1f5c576b76357c451b8..56ecf9281d87b7cb58da6e42fb0b88b7b847b1cb 100755
GIT binary patch
literal 16432
zcmeHOeQaCTb-$!6OSNNC{z}z2X&6slm9?TJTXN-Oj7eFNpE5c261#B{+s`yVBsMas
zkdL;U#R*eNK^T>;+I4N#C8!fDYcO<$w`M`H02w_y_G$!}(*a$u0gXGPEjhKZn-9-P
zT64d1-#zr>3)w$5pukXG;JtIt?|j_*&b{xx_sDY}85$jSIvj#alekR~msxHiekC~G
zuPPvZ(Jz+Z{7G?xSO|WB#7w#0B#@frb!RngRd^F9*|k%p2EE>d1yk-JQL?L7wl6Xz
zOhuc?lU*}a6>q2S(S@KeWqGANj}!}Gqf?}S!qjR<E;C(HEHb`o+N!R*TXqUE)h`Mc
z+07}tIc3MRTg8(p$CF}0N5ArGr+&z&_~ls$yWNzsv(rJP&y?Dra@S9c@c*X0?aFSq
zN4gPq+H1msDYy5>uv0^%G=4MTVZKwfS8p6LDxOT$aEi4PvHcr**G`1HCSvjQRM%Ah
zhOQ00-c-W7PBu*a>c&CCx8;tV!kG~T!r0y+996ti@lcV4bXVY@u#^3nH|}-5dSUOf
zRZCma&3m8AeQUu>t4W8hgM5+>6~gG?Lfv19gLGtk93GJoLS7Z&(VfAzjc?ELZ3Lvc
z41--(4N2|>oIN%0`+(KbKT-#$etB@%%M^fGem(=-V^;?M101#VUjV+khW^<)`X}q)
zV|DP^I`|jr;Qw9+-&P0TR|o%g9sE!0;M?oqG;5ZMPl#iFR8aW7e-3rR3w}bc;zA$U
zu~iR8l991k%7`R)Y~4JOh(~q=_fJHGu8$o^#PyUBOd7gws@7CY#V3=oxDgc-&^1KL
z2*=`LGHs;9WF(nPB;g5y(EWO7{C+(ej7^AWG7=GyshA-`6NywL97~F^h=F^LTE)E>
zQmq~c!V~<#jfkp7bUic`)T6O@a3c0#1kz+^JSmcqV3^z_CL?j8!B8lYN(uPd)zd>a
z@&;K?LK;aD-y?anm<%2WR)A<CZiEu?Xl$$k?TQ*yUq|{Os%;QkMn?uV>+8Jhd#_g4
zSE^URb>2RTHdX^1=Gm+f*Ca6~?r-9n6(xPTzZZxu+)TW#z3}C);dXBppH<j*CBHxn
zD1JpOwuDxft%^@y7yB5sdpCG0{5<0MFiDFM%HuwhGVW1$#$SyyU)W^gwDvg7syzR*
z1?NW`3C>yY7K{Gt791U|l=Bu`y^=`TF~6xozG<D~Qt+EK!mnkJsNZC$O%(zOv|4cW
z2$Xo61-GuZ?G{|Fw^AExmIde7k*L#xt5*|(MYjcCED`h6Z^5sz;C>5^fvptHg1aiH
z5Zf)d+k)@1;5?T|yw8F!B|w#NzgeNUS=Zl53$CV!sn|F-BG8CHBLa;G{J)66JMK?@
zpk;sFs?9e4?OGwUnS$XgpVP9ZTIo$$h;rXqz~wcs;_SZBj~emgBr2URqpbNS;^~oE
zIw$#mAl^xQLGph`JUv=V$0h&Q#M2|SbWHNk5>Joo(wyYKK|DQLOBu<3g?M`WlqMzr
z1o8BUE$x&17l@}<hSGM)KS(@1YD<2}CyA#=Y^huFpC_IkttF4-_Y+T#)KZ(|?<Jld
zr6mDAaChKyft{oIuH`*K1a=JO$I3gke7yB8?a`li;sF}gW*4mKgtnHO?q~<lQ|KvZ
zxxtQBI<;xD3$<MHA-L3Lk082b_p}qS%53U#&%6(-C$>1I3-0N+Q2oQM^s>w&PLaMw
z%f8YYD8E{Io!pksjN~qm%Om26k5B)={bwh#7ah|l+|%EIbY$ZN_snys47y)_JCGm#
zO7^njP$=_=L!@0JvwEvG^B?KO#V=ztw7l+^Z-Lj5?3q?A-}jg3Qs#qrx&`&iUh4iE
zf$Uqs;;*ih%UeU2W(w}F7ThluHs=QaUZh*TN8>x+4W;5sP?*0kn7gFqeGY`Fcsl@^
zHcyg$PXWf8&%lT*MrPew{;*>tw@Ho#wVqG3mVQYV`Q06Dqxrsbi2TsZo9Rhyc4Zs&
zBmWSE?nlMtq%=#+OyS|{wfta9In%!=-E<l{63$&IzJW&OPZyv3HM;aL1-SS$sw25q
zs6YB>?t<jOq^~FD9E2*i#<r|)0wEAa|NLn!zias@+HKcnw_^N8a<7l(-hP>0wMTR1
z;v!i2%5EVJeFyy_gl7BvGjc%DiF=8AzNe7&-AxV=H*NN-aw>$iPp^=3!)Pw{QrnN7
zqA7FVp1|(Fp1|IKelj{o_g~L1Mslz1)pGx-W#7EGea8@{(DxDDM`2Q4c`Lq%-;H|R
zH%`Mj#mDy=5G~()mdM7-#!B3}S3Zq8uK8o-^X?lnq<2zL=szR%`@TWs<||t6qITk~
zP1=deO`7Ah_SzL=1suGh9JH3tN8L9LUbUzGWqeP=R;1VO)Uv*3p^4e@6Jv=s>$?qj
zdF33SVhEi*-E07G>^XV0zbB(t>$HB5ztR|Vx5IoBbt&KX&|<o6FafrKFMj@4<?=t$
z`cXXoVY$5XE-m*V?zMhI8TZ;})V=oYj!pnt?maDUbhH+SVS~$W=_!;>1JC-xUDV-)
znIpn${8!d@53xqu>|lpyjkqX;Pwa#EwXAROBLWWu-^=>eenjAh;G0?Bb<*?VtZ${%
zxOskg&n3Dqvgj<j@UzksF3!?W22)}t3@q#W87@y4i!Tj!+_b<wO{-Pb_iu!y;qIqW
zI5gj*<zMJ{5+FIfO*(bYbdb;Kj^lt;|BsQ|C4lEoVfc>H@NFFI*yld_KJJ^W?<whR
z8AQubGe!9yNzsfHt*~?vbJ9I?LJB8INZq+#YIV$C`!X%n)R$*JkQex7>Fac7W*_S4
z7w)68(rQ>L%L{9DPal%lEz;APtgnwMase^AUdG@^XFH`cbB#e8G~Duf%{I=K*2Blf
z=67&e#_Fu^hoAzZTP{BRez|<6c^<s!=|b^OfM|#f%?I3Y=3<N+?j+%lo}zhk-=33l
z-pS`&<;ez@jnarfBLa;GG$PQ5KqCT;2>cF4fc||*r-EaVTRdx0p8L9j`$OSKbZmTL
z@_}S3eelrK9)NLAG&T{TT7qi?c)i{|i^NAP#G2IFH7Uf>v8w6TZczHTKXsv84imjt
zF24%e@lLrs3VOr4<?<In2SJa4@^8tG2k#V)sW!)|Yg$_8@D4{f{fT+*?Q;3|LB(JT
zUR&V@M=y?D@Gsv9U2Vgz_S@Zy54C2*rt5C~gY_M&Nsp9w<H(`iPZ1Dswb5t$B#x(m
zZJ}3CV2?QiuJ&xx?XGjqrhccZ9Z<l9UmG;i!*LPq>?Pd+SKF7I1FrU?O#?1Ze!+;V
z^NY<xuI|Sc4!QcXEn8gYJx%MKuKs|lJK*Ys3RGb-K)xEK5rIYo8WCtjpb>#a1R4=&
zM4%CYMg)F0BfxoAoM%NpYg75LN#rLDRexdQe{JJk%8>1EvhkEVM&%llR1(RSD88tY
zr9Po}&JSCqc>Zj;PVt;4#)+jYfA2~;K`I56Ohw;*RN7Rslp><2<eU=~QvF+Os*83-
zt+`zUDKk-2d13S^Mn(Pu4a(n-^oKE(kDEjkRR<ZrtSa2^i%O4k&$xa30VA&mVyTM%
zB_#j6vd2F#lIOVN^H%bPlH*?p$#cI|Grx7h`Q!G6H^{GOA%+$GoT5=h4=VbYqF+<=
zuM~Yz(bJ0lP|=?%dP&iRDyi&RYjPPnlkuB9+Om1`EuKzfIp6H*>GiJj_ITEHuj}pZ
z@9q<IL>qg$?H6O=X*?E)UzRP9tkU>8g-aY(6XjD%!L9IP3YWhJ03+6cJX!yMsW@&D
zASNyXCNQV)8x(%bhTo*{=anD&SB*=pewzJSTFH-R-CIy`U{>?|XMDTFR|@+$(>me7
z-8AKAO_SaOV$J7cDQyK=hWPOQ5BXaQgmD}mR<h6|sMqpyv=07F!kuox>kYf2BnA&N
z7J35prS$8K5^~(m0k75WkAW*y)UK8fQEjUchgL^zKi30aebu~DqkP+1?fwz)T6xxc
z2zR!N$Nd!-vJz7`&wrL4RDRAYeO{j)0$!`#F9C0}<ae{5zo?`CVjcXf@^f6xPxkXK
zb@bl^UMqk6zw78Pa@OwusyetAIE|M*Zhdw1N9y2<>)=s|yM#xrNAfp4T=e~fJMomn
zl&dO8hEEyZkojY&AVx$df@2~cIV2JjVR0a6gvODpjwMVV()8gw16zl5ZSYQ^ZyDV-
z5E#|B4G-Tnv_sz!7#JNw?)>0AcLcVMY!;j<@8=Y9N)fju+EeCym7Eggs{qP=kNxJ{
z{gG`*p+_FRo<@4T%(t)hKzaW)llgT$95jMv{yk^YSDRMl-&cuL5`GmXdr^hxI<^_;
zLw5|)rUE^jO6cRkco-WFg2}Oi-72BqX0bn&QeCp|C8#L&@)m*$B4dk$|H>wVDv7zR
zpb9cK4OBsLOG5=&zg}%=s32w=6f)kRP%X0WW~fN9cR=oL&@q&T5Z=_`14eK^sF5`3
zIM=YXB9fdG-gv@@c*o*t?_?6Y9FoRi3$#BS!{((}SV4h-kuC$%RjQ8%Q{%!LJ{(6A
zCN+|#<X|M3iY4Mzj1E~cG7%&LRhyhJgjaUcYec3{m($OiOvuajM#l9hHc>?M@i1(e
zGcELBG8sfi$%5-}96S&Uq16O@;pCMKn9eZJ!W&8)I1q^=D*x9)@3UB<Dti^$)r%QZ
zexK!bNY`3^4-CE9VVRJnU)eMDE1U_h-^_17#cDsL?3vR48P>wjJH|#(vD!bS?3sF4
zQBk}7-M}y5os|2}@99iCl^wsQ+xs7coZivdp5Nn{b}9k&kz&X8{5~B6MqOrm{w`q3
z-vLmO#UB3$fYLiR+w*%iQ=|~e!u@AGrVm3(@9@m?dpuKmkD_AlzljQwM}=a__WT{e
z^rBMa_U+gIb!9)G^!U4kDSyY1J$<{_?VkZgF=79e=ahP0@%I{3WU-Gw{fA|>_b5B2
zQmAZ+C~<{;%WkippZpv>!ykOg2iq%F{Ef|?-vgQQ_bBVz`~O{K&+!)?rK#w>ie+NA
ze+dG*ezxE3F*TX?nr!84xBosQR{J@Rsmioiu{0|@ehmLBDlQ!Awyo^L;{B<1edd|I
z0bBZ3VSD}#f4mDI3hSBNRi5#A2x#uGJ%2Coeq-KOO!J=#+wnNQ3yiLx?Ro!KVJ&H6
zzmrKSXSQcbNzYb${*Eas`?-pxSz$Y-ls#>==kJ=SZd0H8$!^%L!o!#_?*B2rDS4dj
zd15F7kD^SLsP>gQ!-DN;eYY0sD-|oXH6i5%<xpnE1EJ>-{Z_;M=k=4mU%Bt7R!XPb
dS17~-Hs{<fE7I*+%l^+lYie9;GqADZe*mO8z1aW&

literal 16888
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
XA(v}P>D|4${VLjkBdxL+SXlA@yGO~d

diff --git a/programs/hyprland.sh b/programs/hyprland.sh
new file mode 100755
index 0000000..317385a
--- /dev/null
+++ b/programs/hyprland.sh
@@ -0,0 +1,3 @@
+#!bin/bash/
+
+sudo pacman -S hyprland xdg-desktop-portal-hyprland waybar wofi hyprpaper hyprcursor hyprutils hyprwayland-scanner grim slurp hyprpicker xdg-desktop-portal-wlr power-profiles-daemon swaync
diff --git a/programs/yay/yay.sh b/programs/yay/yay.sh
index 87ed308..864e6f2 100755
--- a/programs/yay/yay.sh
+++ b/programs/yay/yay.sh
@@ -1,7 +1,7 @@
 
 #!/bin/bash
 
-source common.sh
+#source common.sh
 
 sudo pacman -S --needed git base-devel 
 git clone https://aur.archlinux.org/yay.git 
diff --git a/setup.sh b/setup.sh
index c8b2fd8..e14bb2a 100755
--- a/setup.sh
+++ b/setup.sh
@@ -41,7 +41,8 @@ common_programs_list=(htop curl tmux git mc wget sudo unzip cmake make gcc exa s
 
 # These pacakges must not be found in the standart repositories and can be gits or direct installs
 custom_installs_debian=(vim fish dmenu fonts wallpaper i3 picom alacritty qownotes sddm)
-custom_installs_arch=(vim fish dmenu fonts wallpaper i3 picom alacritty qownotes sddm)
+#custom_installs_arch=(vim fish dmenu fonts wallpaper i3 picom alacritty qownotes sddm)
+custom_installs_arch=(dmenu)
 custom_installs_raspberry=(vim fish dmenu fonts wallpaper i3 picom qownotes alacritty sddm)
 
 os_count=${#os_list[@]}