From f16f17af3276233123ed4589afe011c73a3f3374 Mon Sep 17 00:00:00 2001
From: Trianta <56975502+Trimutex@users.noreply.github.com>
Date: Mon, 3 Mar 2025 23:09:00 -0600
Subject: [PATCH] armory: update dotfiles to v0.2.0
---
hypr/armory.conf | 393 +++++++++++++++++++++++++++++++++++++++++++++
hypr/hyprland.conf | 35 ++--
hypr/winxp.conf | 390 ++++++++++++++++++++++++++++++++++++++++++++
waybar/armory | 120 ++++++++++++++
waybar/armory.css | 82 ++++++++++
waybar/winxp | 129 +++++++++++++++
waybar/winxp.css | 84 ++++++++++
7 files changed, 1219 insertions(+), 14 deletions(-)
create mode 100644 hypr/armory.conf
create mode 100644 hypr/winxp.conf
create mode 100755 waybar/armory
create mode 100755 waybar/armory.css
create mode 100755 waybar/winxp
create mode 100755 waybar/winxp.css
diff --git a/hypr/armory.conf b/hypr/armory.conf
new file mode 100644
index 0000000..b1d32f6
--- /dev/null
+++ b/hypr/armory.conf
@@ -0,0 +1,393 @@
+source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme
+
+# < Start Section >
+# monitors
+
+#monitor=HDMI-A-4, disabled
+
+monitor = HDMI-A-4, 3840x2160@60, 0x0, 1.6, bitdepth, 8
+monitor = DP-1, 3440x1440@160, 2400x0, 1, vrr, 0, bitdepth, 8
+
+# < End Section >
+
+
+
+# < Start Section >
+# environment variables
+
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = MOZ_ENABLE_WAYLAND,1
+env = HYPRCURSOR_THEME, rose-pine-hyprcursor
+env = HYPRCURSOR_SIZE, 24
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = QT_QPA_PLATFORM,wayland;xcb
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_QPA_PLATFORMTHEME,qt5ct
+
+#env = HYPRLAND_TRACE,1
+#env = AQ_TRACE,1
+
+# < End Section >
+
+
+
+# < Start Section >
+# startup applications
+
+# environment launches
+exec-once = ~/.config/hypr/scripts/resetxdgportal.sh # reset XDPH for screenshare
+exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
+exec-once = dbus-update-activation-environment --systemd --all
+exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+exec-once = /usr/lib/polkit-kde-authentication-agent-1 # authentication dialogue for GUI apps
+exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
+exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+#exec-once = wayvnc --output=DP-1 0.0.0.0
+
+# xrandr settings
+exec-once = ~/.config/hypr/scripts/xrandr.sh
+
+# background applications
+exec-once = waybar -c ~/.config/waybar/config
+exec-once = dunst
+exec-once = swww-daemon
+exec-once = syncthing --no-browser
+exec-once = xwaylandvideobridge
+
+# main applications
+exec-once = thunderbird
+#exec-once = obs
+#exec-once = discord
+exec-once = vesktop
+exec-once = spotify
+exec-once = alacritty
+exec-once = firefox
+#exec-once = bolt
+exec-once = taskset -c 1-7 steam
+
+# completion alert
+exec-once = sleep 5 && pw-play --volume=2.0 ~/.alert/finished.mp3
+
+# first time lock
+exec-once = hyprlock
+
+# < End Section >
+
+
+
+# < Start Section >
+# workspace rules
+
+# gaps numbers (top, right, bottom, left)
+workspace = 1, monitor:DP-1, persistent:true, default:true
+workspace = 2, monitor:DP-1, persistent:true
+workspace = 3, monitor:DP-1, persistent:true
+workspace = 4, monitor:DP-1, persistent:true
+
+# Workspaces swapped for ease of use
+workspace = 6, monitor:DP-1, persistent:true
+workspace = 5, monitor:HDMI-A-4, persistent:true
+workspace = 5, layoutopt:orientation:right
+
+# < End Section >
+
+
+
+# < Start Section >
+# variables
+
+general {
+ gaps_in = 0
+ gaps_out = 4
+ border_size = 2
+ col.active_border = 0x000000
+ col.inactive_border = 0x000000
+ layout = master
+ resize_on_border = false
+}
+
+decoration {
+ rounding = 0
+ shadow {
+ enabled = false
+ }
+ dim_special = 0.3
+ fullscreen_opacity = 1.0
+
+ blur {
+ enabled = true
+ special = true
+ size = 6
+ passes = 3
+ new_optimizations = true
+ ignore_opacity = true
+ xray = false
+ }
+}
+
+animations {
+ enabled = true
+ bezier = wind, 0.05, 0.9, 0.1, 1.05
+ bezier = winIn, 0.1, 1.1, 0.1, 1.1
+ bezier = winOut, 0.3, -0.3, 0, 1
+ bezier = liner, 1, 1, 1, 1
+ animation = windows, 1, 6, wind, slide
+ animation = windowsIn, 1, 6, winIn, slide
+ animation = windowsOut, 1, 5, winOut, slide
+ animation = windowsMove, 1, 5, wind, slide
+ animation = border, 1, 1, liner
+ animation = borderangle, 1, 30, liner, loop
+ animation = fade, 1, 10, default
+ animation = workspaces, 1, 5, wind
+}
+
+input {
+ kb_layout = us
+ kb_options = caps:escape
+ follow_mouse = 2
+ mouse_refocus = false;
+ force_no_accel = 1
+}
+
+group {
+ col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+ col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+}
+
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ force_default_wallpaper = 0
+ vrr = 1
+ vfr = true
+ middle_click_paste = false
+ render_unfocused_fps = 15
+}
+
+xwayland {
+ enabled = true
+ use_nearest_neighbor = true
+ force_zero_scaling = false
+}
+
+cursor {
+ inactive_timeout = 2
+ no_warps = false
+ default_monitor = DP-1
+ warp_on_change_workspace = false
+}
+
+debug {
+ disable_logs = true
+ #overlay = false
+}
+
+render {
+ explicit_sync = 1
+ explicit_sync_kms = 1
+ direct_scanout = false
+}
+
+experimental {
+ wide_color_gamut = false
+ hdr = false
+ xx_color_management_v4 = true
+}
+
+# < End Section >
+
+
+
+# < Start Section >
+# master layout
+
+master {
+ new_status = master
+}
+
+# < End Section >
+
+
+
+# < Start Section >
+# window rules
+
+# core
+workspace = w[t1], gapsout:0, border:0, rounding:0
+windowrulev2 = suppressevent maximize, class:^(.*)$
+windowrulev2 = renderunfocused,class:^(.*)$
+windowrulev2 = opacity 0.80 0.80,class:^(.*)$
+windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
+windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrulev2 = float, class:^(qt5ct)$
+windowrulev2 = float, class:^(nwg-look)$
+windowrulev2 = float, class:^(pavucontrol)$
+windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrulev2 = float, class:.*
+
+# main
+windowrulev2 = workspace 1 silent, class:^(discord)$
+windowrulev2 = workspace 1 silent, class:^(vesktop)$
+windowrulev2 = workspace 1 silent, class:^(thunderbird)$
+windowrulev2 = workspace 1 silent, class:^(Dopamine)$
+windowrulev2 = workspace 1 silent, class:^(spotify)$
+windowrulev2 = workspace 2 silent, class:^(Alacritty)$
+windowrulev2 = float, class:^(Alacritty)$
+windowrulev2 = size 1920 1080, class:^(Alacritty)$
+windowrulev2 = workspace 3 silent, class:^(firefox)$
+windowrulev2 = float, class:^(firefox)$
+windowrulev2 = size 1920 1080, class:^(firefox)$
+windowrulev2 = workspace 4 silent, class:^(steam)$
+windowrulev2 = workspace 4 silent, class:^(org.prismlauncher.PrismLauncher)$
+windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$
+windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$
+windowrulev2 = workspace 4 silent, class:^(steam_proton)$
+windowrulev2 = workspace 4 silent, class:^(hl2_linux)$
+windowrulev2 = workspace 4 silent, class:^(dota2)$
+windowrulev2 = workspace 4 silent, class:^(gamescope)$
+windowrulev2 = workspace 6 silent, class:^(steam)$
+
+# development
+windowrulev2 = float, class:^(VirtualBox.*)$
+windowrulev2 = float, title:^(SnakePlusPlus)$
+windowrulev2 = center, title:^(SnakePlusPlus)$
+windowrulev2 = opacity 0.4, title:^(SnakePlusPlus)$
+windowrulev2 = float, title:^(TetrisPlusPlus)$
+windowrulev2 = center, title:^(TetrisPlusPlus)$
+windowrulev2 = workspace 5 silent, class:^(aquamarine)$
+windowrulev2 = fullscreen, class:^(aquamarine)$
+
+# games
+# 16:9 windowed - 1920 1080
+# 21:9 windowed - 2580 1080
+# 32:9 windowed - 3200 900
+# theoretical mix - 3200 1100
+# alternative - 2660 1140
+# world of warcraft classic
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(wowclassic.exe)$
+windowrulev2 = workspace 4 silent, class:^(wowclassic.exe)$
+# runelite
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(net-runelite-client-RuneLite)$
+windowrulev2 = fullscreen, class:^(net-runelite-client-RuneLite)$
+windowrulev2 = workspace 5, class:^(net-runelite-client-RuneLite)$
+windowrulev2 = workspace 5, class:^(Bolt.*)$
+windowrulev2 = centerwindow, class:^(Bolt.*)$
+# minecraft
+windowrulev2 = opacity 1.00 override 1.00 override, title:^(Minecraft.*)$
+# native
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_app_.*)$
+windowrulev2 = float, class:^(steam_app_.*)$
+# proton
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_proton)$
+windowrulev2 = float, class:^(steam_proton)$
+# hl2 (css, etc)
+# dota 2
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(dota2)$
+# gamescope
+windowrulev2 = opacity 1.00 override 1.00 override, class:^(gamescope)$
+windowrulev2 = float, class:^(gamescope)$
+windowrulev2 = size 3200 1100, class:^(gamescope)$
+# steamtinkerlaunch
+windowrulev2 = float, class:^(yad)$
+windowrulev2 = size 1920 1080, class:^(yad)$
+
+# layer rules
+layerrule = blur,waybar
+layerrule = ignorezero, waybar
+
+# xwaylandvideobridge
+windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
+windowrulev2 = noanim,class:^(xwaylandvideobridge)$
+windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
+windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
+windowrulev2 = noblur,class:^(xwaylandvideobridge)$
+
+# < End Section >
+
+
+
+# < Start Section >
+# keybinds
+
+# main modifier
+$mainMod = SUPER
+
+# passthrough
+bind = , mouse:275, pass, class:^(discord)$
+#bind = , mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
+#bind = SHIFT, mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
+
+# core binds
+bind = $mainMod SHIFT, Q, killactive
+bind = $mainMod SHIFT, M, exit
+bind = $mainMod, SPACE, togglefloating
+bind = $mainMod, C, centerwindow
+bind = $mainMod, F, fullscreen
+bind = $mainMod SHIFT, L, exec, hyprlock
+bind = $mainMod $CONTROL, ESCAPE, exec, killall waybar || waybar -c ~/.config/waybar/config # toggle waybar
+
+# main application shortcuts
+bind = $mainMod, RETURN, exec, alacritty
+bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
+bind = $mainMod SHIFT, 7, exec, taskset -c 1-7 prismlauncher
+bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun
+bind = $mainMod, 0, exec, taskset -c 1-7 virtualbox
+
+# generic audio control
+binde = , XF86AudioPlay, exec, playerctl play-pause
+binde = , XF86AudioStop, exec, playerctl stop
+binde = , XF86AudioPrev, exec, playerctl previous
+binde = , XF86AudioNext, exec, playerctl next
+binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
+binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
+binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
+
+# custom audio control
+binde = $mainMod, F1, exec, playerctl play-pause
+binde = $mainMod, F2, exec, playerctl previous
+binde = $mainMod, F3, exec, playerctl next
+
+# move focus
+bind = $mainMod, h, movefocus, l
+bind = $mainMod, l, movefocus, r
+bind = $mainMod, k, movefocus, u
+bind = $mainMod, j, movefocus, d
+
+# workspaces
+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 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 ALT, 1, movetoworkspacesilent, 1
+bind = $mainMod ALT, 2, movetoworkspacesilent, 2
+bind = $mainMod ALT, 3, movetoworkspacesilent, 3
+bind = $mainMod ALT, 4, movetoworkspacesilent, 4
+bind = $mainMod ALT, 5, movetoworkspacesilent, 5
+bind = $mainMod ALT, 6, movetoworkspacesilent, 6
+
+# resizing windows
+binde = $mainMod, right, resizeactive, 5 0
+binde = $mainMod, left, resizeactive, -5 0
+binde = $mainMod, up, resizeactive, 0 -5
+binde = $mainMod, down, resizeactive, 0 5
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# recordings
+bind = SUPER, R, pass, class:^(com\.obsproject\.Studio)$
+bind = SUPER, F9, pass, class:^(com\.obsproject\.Studio)$
+bind = SUPER, F10, pass, class:^(com\.obsproject\.Studio)$
+
+# < End Section >
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index a2983bf..6d5de5a 100755
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -5,8 +5,8 @@ source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme
#monitor=HDMI-A-4, disabled
-monitor = HDMI-A-4, 3840x2160@60, 0x0, 1.6, bitdepth, 8
-monitor = DP-1, 3440x1440@160, 2400x0, 1, vrr, 0, bitdepth, 8
+monitor = HDMI-A-4, 3840x2160@60, 0x0, 1.6, bitdepth, 10, transform, 1
+monitor = DP-1, 3440x1440@160, 1350x0, 1, vrr, 1, bitdepth, 10
# < End Section >
@@ -67,6 +67,9 @@ exec-once = firefox
#exec-once = bolt
exec-once = taskset -c 1-7 steam
+# obsidian planner
+exec-once = ~/sync/obsidian/Trinote/create-week.sh
+
# completion alert
exec-once = sleep 5 && pw-play --volume=2.0 ~/.alert/finished.mp3
@@ -101,8 +104,8 @@ workspace = 5, layoutopt:orientation:right
general {
gaps_in = 0
gaps_out = 4
- border_size = 2
- col.active_border = 0x000000
+ border_size = 0
+ col.active_border = 0x000000
col.inactive_border = 0x000000
layout = master
resize_on_border = false
@@ -110,9 +113,9 @@ general {
decoration {
rounding = 0
- shadow {
- enabled = false
- }
+ shadow {
+ enabled = false
+ }
dim_special = 0.3
fullscreen_opacity = 1.0
@@ -165,7 +168,7 @@ misc {
vrr = 1
vfr = true
middle_click_paste = false
- render_unfocused_fps = 15
+ render_unfocused_fps = 15
}
xwayland {
@@ -178,12 +181,12 @@ cursor {
inactive_timeout = 2
no_warps = false
default_monitor = DP-1
- warp_on_change_workspace = false
+ warp_on_change_workspace = false
}
debug {
disable_logs = true
- #overlay = false
+ #overlay
}
render {
@@ -193,9 +196,9 @@ render {
}
experimental {
- wide_color_gamut = false
- hdr = false
- xx_color_management_v4 = true
+ wide_color_gamut = true
+ hdr = false
+ xx_color_management_v4 = true
}
# < End Section >
@@ -227,6 +230,7 @@ windowrulev2 = float, class:^(qt5ct)$
windowrulev2 = float, class:^(nwg-look)$
windowrulev2 = float, class:^(pavucontrol)$
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrulev2 = float, class:.*
# main
windowrulev2 = workspace 1 silent, class:^(discord)$
@@ -245,7 +249,7 @@ windowrulev2 = workspace 4 silent, class:^(org.prismlauncher.PrismLauncher)$
windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$
windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$
windowrulev2 = workspace 4 silent, class:^(steam_proton)$
-windowrulev2 = workspace 4 silent, class:^(hl2_linux)$
+windowrulev2 = workspace 4 silent, class:^(cstrike_linux64)$
windowrulev2 = workspace 4 silent, class:^(dota2)$
windowrulev2 = workspace 4 silent, class:^(gamescope)$
windowrulev2 = workspace 6 silent, class:^(steam)$
@@ -269,6 +273,9 @@ windowrulev2 = fullscreen, class:^(aquamarine)$
# world of warcraft classic
windowrulev2 = opacity 1.00 override 1.00 override, class:^(wowclassic.exe)$
windowrulev2 = workspace 4 silent, class:^(wowclassic.exe)$
+# world of warcraft
+windowrulev2 = opacity 1.00 override 1.00 override, title:^(World of Warcraft)$
+windowrulev2 = workspace 4 silent, title:^(World of Warcraft)$
# runelite
windowrulev2 = opacity 1.00 override 1.00 override, class:^(net-runelite-client-RuneLite)$
windowrulev2 = fullscreen, class:^(net-runelite-client-RuneLite)$
diff --git a/hypr/winxp.conf b/hypr/winxp.conf
new file mode 100644
index 0000000..8a08428
--- /dev/null
+++ b/hypr/winxp.conf
@@ -0,0 +1,390 @@
+source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme
+
+# < Start Section >
+# monitors
+
+#monitor=HDMI-A-4, disabled
+
+monitor = HDMI-A-4, 3840x2160@60, 0x0, 1.6, bitdepth, 8
+monitor = DP-1, 3440x1440@160, 2400x0, 1, vrr, 0, bitdepth, 8
+
+# < End Section >
+
+
+
+# < Start Section >
+# environment variables
+
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = MOZ_ENABLE_WAYLAND,1
+env = HYPRCURSOR_THEME, rose-pine-hyprcursor
+env = HYPRCURSOR_SIZE, 24
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = QT_QPA_PLATFORM,wayland;xcb
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_QPA_PLATFORMTHEME,qt5ct
+
+#env = HYPRLAND_TRACE,1
+#env = AQ_TRACE,1
+
+# < End Section >
+
+
+
+# < Start Section >
+# startup applications
+
+# environment launches
+exec-once = ~/.config/hypr/scripts/resetxdgportal.sh # reset XDPH for screenshare
+exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE
+exec-once = dbus-update-activation-environment --systemd --all
+exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+exec-once = /usr/lib/polkit-kde-authentication-agent-1 # authentication dialogue for GUI apps
+exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
+exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+#exec-once = wayvnc --output=DP-1 0.0.0.0
+
+# xrandr settings
+exec-once = ~/.config/hypr/scripts/xrandr.sh
+
+# background applications
+exec-once = waybar -c ~/.config/waybar/config
+exec-once = dunst
+exec-once = swww-daemon
+exec-once = syncthing --no-browser
+exec-once = xwaylandvideobridge
+
+# main applications
+exec-once = thunderbird
+#exec-once = obs
+#exec-once = discord
+exec-once = vesktop
+exec-once = spotify
+exec-once = alacritty
+exec-once = firefox
+#exec-once = bolt
+exec-once = taskset -c 1-7 steam
+
+# completion alert
+exec-once = sleep 5 && pw-play --volume=2.0 ~/.alert/finished.mp3
+
+# first time lock
+exec-once = hyprlock
+
+# < End Section >
+
+
+
+# < Start Section >
+# workspace rules
+
+# gaps numbers (top, right, bottom, left)
+workspace = 1, monitor:DP-1, persistent:true, default:true
+workspace = 2, monitor:DP-1, persistent:true
+workspace = 3, monitor:DP-1, persistent:true
+workspace = 4, monitor:DP-1, persistent:true
+
+# Workspaces swapped for ease of use
+workspace = 6, monitor:DP-1, persistent:true
+workspace = 5, monitor:HDMI-A-4, persistent:true
+workspace = 5, layoutopt:orientation:right
+
+# < End Section >
+
+
+
+# < Start Section >
+# variables
+
+general {
+ gaps_in = 0
+ gaps_out = 4
+ border_size = 2
+ col.active_border = rgba(2b4c77ee)
+ col.inactive_border = rgba(2b4c77aa)
+ layout = master
+ resize_on_border = false
+}
+
+decoration {
+ rounding = 10
+ shadow {
+ range = 10
+ render_power = 2
+ }
+ dim_special = 0.3
+ fullscreen_opacity = 1.0
+ active_opacity = 1
+
+ blur {
+ enabled = true
+ size = 10
+ passes = 3
+ noise = 0.05
+ brightness = 0.90
+ xray = false
+ vibrancy = 0.1696
+ }
+}
+
+animations {
+ enabled = true
+ bezier = wind, 0.05, 0.9, 0.1, 1.05
+ bezier = winIn, 0.1, 1.1, 0.1, 1.1
+ bezier = winOut, 0.3, -0.3, 0, 1
+ bezier = liner, 1, 1, 1, 1
+ animation = windows, 1, 6, wind, slide
+ animation = windowsIn, 1, 6, winIn, slide
+ animation = windowsOut, 1, 5, winOut, slide
+ animation = windowsMove, 1, 5, wind, slide
+ animation = border, 1, 1, liner
+ animation = borderangle, 1, 30, liner, loop
+ animation = fade, 1, 10, default
+ animation = workspaces, 1, 5, wind
+}
+
+input {
+ kb_layout = us
+ kb_options = caps:escape
+ follow_mouse = 2
+ mouse_refocus = false;
+ force_no_accel = 1
+}
+
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ force_default_wallpaper = 0
+ vrr = 1
+ vfr = true
+ middle_click_paste = false
+ render_unfocused_fps = 15
+}
+
+xwayland {
+ enabled = true
+ use_nearest_neighbor = true
+ force_zero_scaling = false
+}
+
+cursor {
+ inactive_timeout = 2
+ no_warps = false
+ default_monitor = DP-1
+ warp_on_change_workspace = false
+}
+
+debug {
+ disable_logs = true
+ #overlay = false
+}
+
+render {
+ explicit_sync = 1
+ explicit_sync_kms = 1
+ direct_scanout = false
+}
+
+experimental {
+ wide_color_gamut = false
+ hdr = false
+ xx_color_management_v4 = true
+}
+
+plugin {
+ hyprbars {
+ enable = true
+ bar_height = 25
+ bar_color = rgb(245dda)
+ bar_text_align = left
+ hyprbars-button = rgb(ff4040), 15, , hyprctl dispatch killactive
+ bar_padding = 15
+ }
+}
+
+# < End Section >
+
+
+
+# < Start Section >
+# master layout
+
+master {
+ new_status = master
+}
+
+# < End Section >
+
+
+
+# < Start Section >
+# window rules
+
+# core
+workspace = w[t1], gapsout:0, border:0, rounding:0
+windowrulev2 = suppressevent maximize, class:^(.*)$
+windowrulev2 = renderunfocused,class:^(.*)$
+windowrulev2 = float, class:^(qt5ct)$
+windowrulev2 = float, class:^(nwg-look)$
+windowrulev2 = float, class:^(pavucontrol)$
+windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
+
+# windows xp
+windowrulev2 = float, class:.*
+
+# main
+windowrulev2 = workspace 1 silent, class:^(discord)$
+windowrulev2 = workspace 1 silent, class:^(vesktop)$
+windowrulev2 = workspace 1 silent, class:^(thunderbird)$
+windowrulev2 = workspace 1 silent, class:^(Dopamine)$
+windowrulev2 = workspace 1 silent, class:^(spotify)$
+windowrulev2 = workspace 2 silent, class:^(Alacritty)$
+windowrulev2 = float, class:^(Alacritty)$
+windowrulev2 = size 1920 1080, class:^(Alacritty)$
+windowrulev2 = workspace 3 silent, class:^(firefox)$
+windowrulev2 = float, class:^(firefox)$
+windowrulev2 = size 1920 1080, class:^(firefox)$
+windowrulev2 = workspace 4 silent, class:^(steam)$
+windowrulev2 = workspace 4 silent, class:^(org.prismlauncher.PrismLauncher)$
+windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$
+windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$
+windowrulev2 = workspace 4 silent, class:^(steam_proton)$
+windowrulev2 = workspace 4 silent, class:^(hl2_linux)$
+windowrulev2 = workspace 4 silent, class:^(dota2)$
+windowrulev2 = workspace 4 silent, class:^(gamescope)$
+windowrulev2 = workspace 6 silent, class:^(steam)$
+
+# development
+windowrulev2 = float, class:^(VirtualBox.*)$
+windowrulev2 = float, title:^(SnakePlusPlus)$
+windowrulev2 = center, title:^(SnakePlusPlus)$
+windowrulev2 = float, title:^(TetrisPlusPlus)$
+windowrulev2 = center, title:^(TetrisPlusPlus)$
+windowrulev2 = workspace 5 silent, class:^(aquamarine)$
+windowrulev2 = fullscreen, class:^(aquamarine)$
+
+# games
+# 16:9 windowed - 1920 1080
+# 21:9 windowed - 2580 1080
+# 32:9 windowed - 3200 900
+# theoretical mix - 3200 1100
+# alternative - 2660 1140
+# world of warcraft classic
+windowrulev2 = workspace 4 silent, class:^(wowclassic.exe)$
+# runelite
+windowrulev2 = fullscreen, class:^(net-runelite-client-RuneLite)$
+windowrulev2 = workspace 5, class:^(net-runelite-client-RuneLite)$
+windowrulev2 = workspace 5, class:^(Bolt.*)$
+windowrulev2 = centerwindow, class:^(Bolt.*)$
+# minecraft
+# native
+windowrulev2 = float, class:^(steam_app_.*)$
+# proton
+windowrulev2 = float, class:^(steam_proton)$
+# hl2 (css, etc)
+# dota 2
+# gamescope
+windowrulev2 = float, class:^(gamescope)$
+windowrulev2 = size 3200 1100, class:^(gamescope)$
+# steamtinkerlaunch
+windowrulev2 = float, class:^(yad)$
+windowrulev2 = size 1920 1080, class:^(yad)$
+
+# layer rules
+layerrule = blur,waybar
+layerrule = ignorezero, waybar
+
+# xwaylandvideobridge
+windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
+windowrulev2 = noanim,class:^(xwaylandvideobridge)$
+windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
+windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
+windowrulev2 = noblur,class:^(xwaylandvideobridge)$
+
+# < End Section >
+
+
+
+# < Start Section >
+# keybinds
+
+# main modifier
+$mainMod = SUPER
+
+# passthrough
+bind = , mouse:275, pass, class:^(discord)$
+#bind = , mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
+#bind = SHIFT, mouse:275, sendshortcut, ALT, V, class:^(vesktop)$
+
+# core binds
+bind = $mainMod SHIFT, Q, killactive
+bind = $mainMod SHIFT, M, exit
+bind = $mainMod, SPACE, togglefloating
+bind = $mainMod, C, centerwindow
+bind = $mainMod, F, fullscreen
+bind = $mainMod SHIFT, L, exec, hyprlock
+bind = $mainMod $CONTROL, ESCAPE, exec, killall waybar || waybar -c ~/.config/waybar/config # toggle waybar
+
+# main application shortcuts
+bind = $mainMod, RETURN, exec, alacritty
+bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy
+bind = $mainMod SHIFT, 7, exec, taskset -c 1-7 prismlauncher
+bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun
+bind = $mainMod, 0, exec, taskset -c 1-7 virtualbox
+
+# generic audio control
+binde = , XF86AudioPlay, exec, playerctl play-pause
+binde = , XF86AudioStop, exec, playerctl stop
+binde = , XF86AudioPrev, exec, playerctl previous
+binde = , XF86AudioNext, exec, playerctl next
+binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
+binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
+binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
+
+# custom audio control
+binde = $mainMod, F1, exec, playerctl play-pause
+binde = $mainMod, F2, exec, playerctl previous
+binde = $mainMod, F3, exec, playerctl next
+
+# move focus
+bind = $mainMod, h, movefocus, l
+bind = $mainMod, l, movefocus, r
+bind = $mainMod, k, movefocus, u
+bind = $mainMod, j, movefocus, d
+
+# workspaces
+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 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 ALT, 1, movetoworkspacesilent, 1
+bind = $mainMod ALT, 2, movetoworkspacesilent, 2
+bind = $mainMod ALT, 3, movetoworkspacesilent, 3
+bind = $mainMod ALT, 4, movetoworkspacesilent, 4
+bind = $mainMod ALT, 5, movetoworkspacesilent, 5
+bind = $mainMod ALT, 6, movetoworkspacesilent, 6
+
+# resizing windows
+binde = $mainMod, right, resizeactive, 5 0
+binde = $mainMod, left, resizeactive, -5 0
+binde = $mainMod, up, resizeactive, 0 -5
+binde = $mainMod, down, resizeactive, 0 5
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# recordings
+bind = SUPER, R, pass, class:^(com\.obsproject\.Studio)$
+bind = SUPER, F9, pass, class:^(com\.obsproject\.Studio)$
+bind = SUPER, F10, pass, class:^(com\.obsproject\.Studio)$
+
+# < End Section >
diff --git a/waybar/armory b/waybar/armory
new file mode 100755
index 0000000..de82045
--- /dev/null
+++ b/waybar/armory
@@ -0,0 +1,120 @@
+[
+ {
+ "name": "main",
+ "layer": "bottom",
+ "position": "top",
+ "height": 40,
+ "spacing": 0,
+ "output": "DP-1",
+ "reload_style_on_change": true,
+ "modules-left": [
+ "custom/appmenu",
+ "disk",
+ "memory",
+ "cpu",
+ "custom/gpu",
+ "temperature"
+ ],
+ "modules-center": [
+ "hyprland/workspaces"
+ ],
+ "modules-right": [
+ "tray",
+ "wireplumber",
+ "network#ethernet",
+ "clock",
+ "custom/poweroff"
+ ],
+ "clock": {
+ "interval": 1,
+ "format": "{:%I:%M:%S %p}",
+ "format-alt": "{:%Y-%m-%d}",
+ "tooltip-format": "{:%Y %B}\n{calendar}"
+ },
+ "cpu": {
+ "format": " {usage}%",
+ "interval": 5,
+ "tooltip": false
+ },
+ "disk": {
+ "format": " {percentage_used}%",
+ "tooltip-format": "{used} / {total} used"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+ "memory": {
+ "format": " {}%",
+ "tooltip-format": "{used:0.1f}G / {total:0.1f}G used"
+ },
+ "temperature": {
+ "format": "{icon} {temperatureC}°C ",
+ "format-icons": ["", "", "", "", ""],
+ "hwmon-path": "/sys/class/thermal/thermal_zone2/temp",
+ "critical-threshold": 80,
+ "interval": 5
+ },
+ "network#ethernet": {
+ "interface": "enp*",
+ "format-ethernet": "",
+ "format-wifi": "",
+ "format-linked": "",
+ "format-disconnected": "",
+ "tooltip-format": "{ifname}: {ipaddr}/{cidr}",
+ "on-click": "nm-connection-editor"
+ },
+ "sway/mode": {
+ "format": "{}"
+ },
+ "hyprland/workspaces": {
+ "format": "{icon}",
+ "sort-by-number": true,
+ "all-outputs": true,
+ "disable-scroll": true,
+ "active-only": false,
+ "format-icons": {
+ "default": "",
+ "persistent": "",
+ },
+ "persistent-workspaces": {
+ "1": [ ],
+ "2": [ ],
+ "3": [ ],
+ "4": [ ],
+ "5": [ ]
+ }
+
+ },
+ "wireplumber": {
+ "format": " {volume}%",
+ "format-muted": " 0%",
+ "on-click": "pavucontrol",
+ "on-click-right": "helvum",
+ "max-volume": 100,
+ "scroll-step": 5
+ },
+ "tray": {
+ "icon-size": 21,
+ "spacing": 10
+ },
+ "custom/appmenu": {
+ "format": "",
+ "on-click": "pkill -x rofi || rofi -show drun"
+ },
+ "custom/gpu": {
+ "format": " {}%",
+ "interval": 5,
+ "tooltip": false,
+ "exec": "nvidia-smi --query | grep Gpu | tail -1 | awk '{print $3}'"
+ },
+ "custom/poweroff": {
+ "tooltip": false,
+ "format": " ",
+ "on-click": "pgrep poweroff.sh || $HOME/.config/waybar/scripts/poweroff.sh"
+ },
+ }
+]
diff --git a/waybar/armory.css b/waybar/armory.css
new file mode 100755
index 0000000..8e7f93b
--- /dev/null
+++ b/waybar/armory.css
@@ -0,0 +1,82 @@
+@import "mocha.css";
+
+* {
+ border: none;
+ border-radius: 0px;
+ min-height: 0;
+ font-weight: bold;
+ font-size: 14px;
+ font-family: "Hack Nerd Font";
+}
+
+window#waybar {
+ background-color: alpha(@crust, 0.3);
+ border-radius: 0px;
+ border-bottom: 0px solid @overlay0;
+}
+
+#workspaces button {
+ color: @peach;
+ border-radius: 8px;
+ margin: 4px 2px;
+ padding: 0px 8px;
+ transition: all 0.4s ease;
+}
+
+#workspaces button.active {
+ background-color: alpha(@peach, 0.2);
+ transition: all 0.4s ease;
+}
+
+.modules-left,
+.modules-center,
+.modules-right {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+.modules-left {
+ padding-left: 0px;
+}
+
+.modules-right {
+ padding-right: 0px;
+}
+
+#clock,
+#cpu,
+#disk,
+#memory,
+#temperature,
+#tray,
+#wireplumber,
+#workspaces,
+#network,
+#custom-appmenu,
+#custom-gpu,
+#custom-poweroff,
+#custom-weather {
+ background-color: transparent;
+ border-radius: 10px;
+ border: 0px;
+ margin-left: 6px;
+ margin-right: 6px;
+ color: @peach;
+ min-width: 45px;
+}
+
+#network {
+ margin: 0px;
+ padding: 0px;
+}
+
+#custom-appmenu,
+#workspaces label,
+#network {
+ font-size: 18px;
+}
+
+
+#clock {
+ min-width: 80px;
+}
diff --git a/waybar/winxp b/waybar/winxp
new file mode 100755
index 0000000..db67c16
--- /dev/null
+++ b/waybar/winxp
@@ -0,0 +1,129 @@
+[
+ {
+ "name": "main",
+ "layer": "bottom",
+ "position": "bottom",
+ "height": 40,
+ "spacing": 0,
+ "output": "DP-1",
+ "reload_style_on_change": true,
+ "modules-left": [
+ "custom/appmenu",
+ "wlr/taskbar"
+ ],
+ "modules-center": [
+ ],
+ "modules-right": [
+ "tray",
+ "disk",
+ "memory",
+ "cpu",
+ "custom/gpu",
+ "temperature",
+ "wireplumber",
+ "network#ethernet",
+ "clock",
+ "custom/poweroff"
+ ],
+ "clock": {
+ "interval": 1,
+ "format": "{:%I:%M:%S %p}",
+ "format-alt": "{:%Y-%m-%d}",
+ "tooltip-format": "{:%Y %B}\n{calendar}"
+ },
+ "cpu": {
+ "format": " {usage}%",
+ "interval": 5,
+ "tooltip": false
+ },
+ "disk": {
+ "format": " {percentage_used}%",
+ "tooltip-format": "{used} / {total} used"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+ "memory": {
+ "format": " {}%",
+ "tooltip-format": "{used:0.1f}G / {total:0.1f}G used"
+ },
+ "wlr/taskbar": {
+ "format": "{name}",
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-right": "close",
+ "ignore-list": [
+ "Wayland to X Recording bridge — Xwayland Video Bridge"
+ ]
+ },
+ "temperature": {
+ "format": "{icon} {temperatureC}°C ",
+ "format-icons": ["", "", "", "", ""],
+ "hwmon-path": "/sys/class/thermal/thermal_zone2/temp",
+ "critical-threshold": 80,
+ "interval": 5
+ },
+ "network#ethernet": {
+ "interface": "enp*",
+ "format-ethernet": "",
+ "format-wifi": "",
+ "format-linked": "",
+ "format-disconnected": "",
+ "tooltip-format": "{ifname}: {ipaddr}/{cidr}",
+ "on-click": "nm-connection-editor"
+ },
+ "sway/mode": {
+ "format": "{}"
+ },
+ "hyprland/workspaces": {
+ "format": "{icon}",
+ "sort-by-number": true,
+ "all-outputs": true,
+ "disable-scroll": true,
+ "active-only": false,
+ "format-icons": {
+ "default": "",
+ "persistent": "",
+ },
+ "persistent-workspaces": {
+ "1": [ ],
+ "2": [ ],
+ "3": [ ],
+ "4": [ ],
+ "5": [ ]
+ }
+
+ },
+ "wireplumber": {
+ "format": " {volume}%",
+ "format-muted": " 0%",
+ "on-click": "pavucontrol",
+ "on-click-right": "helvum",
+ "max-volume": 100,
+ "scroll-step": 5
+ },
+ "tray": {
+ "icon-size": 21,
+ "spacing": 10
+ },
+ "custom/appmenu": {
+ "format": " start",
+ "on-click": "pkill -x rofi || rofi -show drun"
+ },
+ "custom/gpu": {
+ "format": " {}%",
+ "interval": 5,
+ "tooltip": false,
+ "exec": "nvidia-smi --query | grep Gpu | tail -1 | awk '{print $3}'"
+ },
+ "custom/poweroff": {
+ "tooltip": false,
+ "format": " ",
+ "on-click": "pgrep poweroff.sh || $HOME/.config/waybar/scripts/poweroff.sh"
+ },
+ }
+]
diff --git a/waybar/winxp.css b/waybar/winxp.css
new file mode 100755
index 0000000..6953f5a
--- /dev/null
+++ b/waybar/winxp.css
@@ -0,0 +1,84 @@
+@import "mocha.css";
+
+* {
+ border: none;
+ border-radius: 0px;
+ min-height: 0;
+ font-weight: bold;
+ font-size: 14px;
+ font-family: "Hack Nerd Font";
+}
+
+window#waybar {
+ border-radius: 0px;
+ border-bottom: 0px solid @overlay0;
+ background: rgb(0, 78, 214);
+}
+
+#workspaces button {
+ border-radius: 8px;
+ margin: 4px 2px;
+ padding: 0px 8px;
+ transition: all 0.4s ease;
+}
+
+#workspaces button.active {
+ transition: all 0.4s ease;
+}
+
+.modules-left,
+.modules-center,
+.modules-right {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+.modules-left {
+ padding-left: 0px;
+}
+
+.modules-right {
+ padding-right: 0px;
+ background: rgb(63, 149, 235);
+}
+
+#custom-appmenu {
+ background: rgb(0, 141, 0);
+ padding: 0px 12px;
+ border-top-right-radius: 13px;
+ border-bottom-right-radius: 13px;
+ border-right: solid 3px #088;
+}
+
+#clock,
+#cpu,
+#disk,
+#memory,
+#temperature,
+#tray,
+#wireplumber,
+#workspaces,
+#network,
+#custom-gpu,
+#custom-poweroff,
+#custom-weather {
+ margin-left: 4px;
+ margin-right: 2px;
+ min-width: 45px;
+}
+
+#network {
+ margin: 0px;
+ padding: 0px;
+}
+
+#custom-appmenu,
+#workspaces label,
+#network {
+ font-size: 18px;
+}
+
+
+#clock {
+ min-width: 80px;
+}