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; +}