Added and tested script to prepare henrovnix_ok for publishing
This commit is contained in:
1 parent
8b19518697
commit
33618c1b07
8908 files changed
+3277
-5430
No files matched your search
File renamed without changes.
File renamed without changes.
File renamed without changes.
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
##############################################
|
##############################################
|
||||||
#app.zen_browser.zen
|
#app.zen_browser.zen
|
||||||
+5
-6
@@ -1,18 +1,18 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/henrovnix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# Make sure the lines starting with: cd ~/henrovnix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
#
|
#
|
||||||
#IMPORTANT:
|
#IMPORTANT:
|
||||||
@@ -28,9 +28,8 @@ wofi
|
|||||||
xdg-utils
|
xdg-utils
|
||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
playerctl
|
playerctl
|
||||||
rofi
|
|
||||||
simple-scan
|
|
||||||
mpv
|
mpv
|
||||||
|
networkmanagerapplet
|
||||||
|
|
||||||
#productivity
|
#productivity
|
||||||
todoist
|
todoist
|
||||||
File renamed without changes.
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
##############################################
|
##############################################
|
||||||
# Minimal Hyprland config for greetd
|
# Minimal Hyprland config for greetd
|
||||||
+20
-13
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
@@ -43,13 +43,20 @@ bind = $mainMod, Q, killactive,
|
|||||||
bind = $mainMod SHIFT, Q, exit,
|
bind = $mainMod SHIFT, Q, exit,
|
||||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||||
|
|
||||||
# Default browser
|
|
||||||
bind = $mainMod, W, exec, flatpak run app.zen_browser.zen
|
|
||||||
|
|
||||||
# Switch windows
|
# Switch windows
|
||||||
bind = $mainMod, TAB, hyprexpo:expo, toggle
|
bind = $mainMod, TAB, hyprexpo:expo, toggle
|
||||||
bind = ALT, TAB, cyclenext
|
bind = ALT, TAB, cyclenext,
|
||||||
bind = ALT SHIFT, TAB, cyclenext , prev
|
# bind = ALT SHIFT, TAB, cyclenext prev
|
||||||
|
|
||||||
|
# Hyprscrolling
|
||||||
|
bind = $mainMod, period, layoutmsg, move +col
|
||||||
|
bind = $mainMod, comma, layoutmsg, swapcol l
|
||||||
|
# Make / break a tab-group (stack)
|
||||||
|
bind = $mainMod, S, togglegroup
|
||||||
|
# Cycle tabs in the group
|
||||||
|
bind = $mainMod, L, changegroupactive, f
|
||||||
|
bind = $mainMod, H, changegroupactive, b
|
||||||
|
bind = $mainMod, T, exec, ~/.config/hypr/scripts/toggle-layout-scrolling-dwindle.sh
|
||||||
|
|
||||||
# Focus movement
|
# Focus movement
|
||||||
bind = $mainMod, H, movefocus, l
|
bind = $mainMod, H, movefocus, l
|
||||||
@@ -61,7 +68,7 @@ bind = $mainMod, right, movefocus, r
|
|||||||
bind = $mainMod, up, movefocus, u
|
bind = $mainMod, up, movefocus, u
|
||||||
bind = $mainMod, down, movefocus, d
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
# # Move windows
|
# Move windows
|
||||||
bind = $mainMod SHIFT, H, movewindow, l
|
bind = $mainMod SHIFT, H, movewindow, l
|
||||||
bind = $mainMod SHIFT, L, movewindow, r
|
bind = $mainMod SHIFT, L, movewindow, r
|
||||||
bind = $mainMod SHIFT, K, movewindow, u
|
bind = $mainMod SHIFT, K, movewindow, u
|
||||||
@@ -151,6 +158,7 @@ bind = , XF86Sleep, exec, systemctl suspend
|
|||||||
bind = , XF86PowerOff, exec, systemctl poweroff
|
bind = , XF86PowerOff, exec, systemctl poweroff
|
||||||
bind = , XF86WakeUp, exec, systemctl suspend
|
bind = , XF86WakeUp, exec, systemctl suspend
|
||||||
bind = $mainMod, L, exec, loginctl lock-session
|
bind = $mainMod, L, exec, loginctl lock-session
|
||||||
|
bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
# Laptop lid settings
|
# Laptop lid settings
|
||||||
@@ -163,6 +171,5 @@ bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
|
|||||||
#########################
|
#########################
|
||||||
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
||||||
bind = CTRL ALT, S, exec, spotify
|
bind = CTRL ALT, S, exec, spotify
|
||||||
bind = CTRL ALT, z, exec, run zen
|
bind = CTRL ALT, z, exec, zeditor
|
||||||
bind = CTRL ALT, k, exec, kate
|
bind = $mainMod, W, exec, zen --url https://nextcloud.data-pro.nu
|
||||||
bind = $mainMod, w, exec, xdg-open https://nextcloud.data-pro.nu
|
|
||||||
File renamed without changes.
+20
-5
@@ -1,20 +1,20 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything definitive, edit the source files in:
|
# If you want to change anything definitive, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
@@ -33,6 +33,14 @@ $green = rgba(00ff99ee)
|
|||||||
exec-once = dbus-update-activation-environment --systemd --all
|
exec-once = dbus-update-activation-environment --systemd --all
|
||||||
exec-once = uwsm app -- waybar
|
exec-once = uwsm app -- waybar
|
||||||
|
|
||||||
|
# put these at top-level (recommended), not inside general { }:
|
||||||
|
layerrule = blur on, ignore_alpha 1, match:namespace waybar
|
||||||
|
layerrule = xray 1, match:namespace waybar
|
||||||
|
layerrule = blur on, ignore_alpha 1, match:namespace walker
|
||||||
|
layerrule = xray 1, match:namespace walker
|
||||||
|
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
|
||||||
|
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
|
||||||
|
|
||||||
input {
|
input {
|
||||||
follow_mouse = 1
|
follow_mouse = 1
|
||||||
kb_layout = us
|
kb_layout = us
|
||||||
@@ -55,12 +63,18 @@ general {
|
|||||||
# Gradient syntax: color color angle (e.g. 45deg). :contentReference[oaicite:5]{index=5}
|
# Gradient syntax: color color angle (e.g. 45deg). :contentReference[oaicite:5]{index=5}
|
||||||
col.active_border = $blue $green 45deg
|
col.active_border = $blue $green 45deg
|
||||||
col.inactive_border = $inactive
|
col.inactive_border = $inactive
|
||||||
layout = dwindle
|
layout = scrolling
|
||||||
resize_on_border = true
|
resize_on_border = true
|
||||||
extend_border_grab_area = 20 # Makes it easier to "grab" the edge
|
extend_border_grab_area = 20 # Makes it easier to "grab" the edge
|
||||||
}
|
}
|
||||||
decoration {
|
decoration {
|
||||||
rounding = 5
|
rounding = 5
|
||||||
|
blur {
|
||||||
|
enabled = yes
|
||||||
|
size = 8
|
||||||
|
passes = 3
|
||||||
|
new_optimizations = on
|
||||||
|
}
|
||||||
}
|
}
|
||||||
animations {
|
animations {
|
||||||
enabled = yes
|
enabled = yes
|
||||||
@@ -89,3 +103,4 @@ bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-lock.sh
|
|||||||
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
|
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
|
||||||
|
|
||||||
exec-once = systemd-run --user --scope --unit=elephant elephant
|
exec-once = systemd-run --user --scope --unit=elephant elephant
|
||||||
|
exec-once = ~/.config/hypr/scripts/hyprscrolling-listener.sh
|
||||||
File renamed without changes.
@@ -0,0 +1,62 @@
|
|||||||
|
# --------------------------------------------------
|
||||||
|
# Scrolling layout (Hyprland) – clean, valid config
|
||||||
|
# Managed in repo: assets/conf/desktop/hypr/hyprscrolling.conf
|
||||||
|
#
|
||||||
|
# IMPORTANT:
|
||||||
|
# - "indicators" / "indicator_*" options do NOT exist in the official hyprscrolling plugin
|
||||||
|
# and are not part of the Hyprland scrolling layout config, so they were removed.
|
||||||
|
# - If you still load the hyprscrolling plugin (.so) via Nix, that's fine, but the
|
||||||
|
# behavior is controlled by the "scrolling { }" block below.
|
||||||
|
# --------------------------------------------------
|
||||||
|
|
||||||
|
# If your Nix module already loads the plugin, you can omit this line.
|
||||||
|
# If you keep it, it won't hurt as long as the path exists.
|
||||||
|
plugin = /etc/hypr/plugins/libhyprscrolling.so
|
||||||
|
|
||||||
|
# Make scrolling the default layout
|
||||||
|
general {
|
||||||
|
layout = scrolling
|
||||||
|
}
|
||||||
|
|
||||||
|
# --------------------------------------------------
|
||||||
|
# Scrolling layout configuration (documented on the Hyprland wiki)
|
||||||
|
# --------------------------------------------------
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
hyprscrolling {
|
||||||
|
column_width = 0.5
|
||||||
|
fullscreen_on_one_column = true
|
||||||
|
|
||||||
|
# 0 = center, 1 = fit (per docs/snippets)
|
||||||
|
focus_fit_method = 1
|
||||||
|
|
||||||
|
follow_focus = true
|
||||||
|
follow_min_visible = 0.4
|
||||||
|
|
||||||
|
# optional
|
||||||
|
# explicit_column_widths = 0.333, 0.5, 0.667, 1.0
|
||||||
|
|
||||||
|
direction = right
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# --------------------------------------------------
|
||||||
|
# Keybinds (layoutmsg) – these are the commands scrolling uses
|
||||||
|
# Put these here ONLY if this file is included into your main binds config.
|
||||||
|
# --------------------------------------------------
|
||||||
|
|
||||||
|
# Move focus/viewport by column
|
||||||
|
# bind = $mainMod, period, layoutmsg, move +col
|
||||||
|
|
||||||
|
# Put the current window into its own new column
|
||||||
|
# bind = $mainMod, P, layoutmsg, promote
|
||||||
|
|
||||||
|
# Swap whole columns left/right
|
||||||
|
# bind = $mainMod, H, layoutmsg, swapcol l
|
||||||
|
# bind = $mainMod, L, layoutmsg, swapcol r
|
||||||
|
|
||||||
|
# Resize column: set an absolute width, or cycle configured widths
|
||||||
|
# bind = $mainMod, 1, layoutmsg, colresize 0.5
|
||||||
|
# bind = $mainMod, 2, layoutmsg, colresize 0.667
|
||||||
|
# bind = $mainMod, 3, layoutmsg, colresize 1.0
|
||||||
|
# bind = $mainMod, 0, layoutmsg, colresize +conf
|
||||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,133 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# Waybar exec: hyprscroll-overflow.sh
|
||||||
|
# Waybar on-click: hyprscroll-overflow.sh --pick
|
||||||
|
#
|
||||||
|
# Env:
|
||||||
|
# COLUMN_WIDTH=0.5
|
||||||
|
# ICON=""
|
||||||
|
# DMENU_CMD="walker --dmenu" (or: "wofi --dmenu", "rofi -dmenu", etc.)
|
||||||
|
|
||||||
|
COLUMN_WIDTH="${COLUMN_WIDTH:-0.5}"
|
||||||
|
ICON="${ICON:-}"
|
||||||
|
DMENU_CMD="${DMENU_CMD:-walker --dmenu}"
|
||||||
|
|
||||||
|
json_escape() {
|
||||||
|
# minimal JSON string escape (quotes, backslashes, newlines, tabs, CR)
|
||||||
|
local s="${1:-}"
|
||||||
|
s="${s//\\/\\\\}"
|
||||||
|
s="${s//\"/\\\"}"
|
||||||
|
s="${s//$'\n'/\\n}"
|
||||||
|
s="${s//$'\r'/\\r}"
|
||||||
|
s="${s//$'\t'/\\t}"
|
||||||
|
printf '%s' "$s"
|
||||||
|
}
|
||||||
|
|
||||||
|
fail_json() {
|
||||||
|
# NOTE: errors SHOULD still show (so you notice), hence JSON output here.
|
||||||
|
local msg="hyprscroll-overflow: ${1:-unknown error}"
|
||||||
|
printf '{"text":"%s !","tooltip":"%s","class":"error"}\n' \
|
||||||
|
"$(json_escape "$ICON")" "$(json_escape "$msg")"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
need() { command -v "$1" >/dev/null 2>&1 || fail_json "$1 not in PATH"; }
|
||||||
|
need hyprctl
|
||||||
|
need jq
|
||||||
|
need awk
|
||||||
|
|
||||||
|
read -r focused_mon_id focused_ws_id < <(
|
||||||
|
hyprctl -j monitors 2>/dev/null | jq -r '
|
||||||
|
.[] | select(.focused==true) | "\(.id) \(.activeWorkspace.id)"
|
||||||
|
'
|
||||||
|
) || fail_json "failed to read focused monitor/workspace"
|
||||||
|
|
||||||
|
[[ -n "${focused_mon_id:-}" && -n "${focused_ws_id:-}" ]] || fail_json "no focused monitor/workspace"
|
||||||
|
|
||||||
|
# Current layout (needed for both normal + --pick paths)
|
||||||
|
layout="$(hyprctl getoption general:layout 2>/dev/null | awk '/str:/ {print $2; exit}' || true)"
|
||||||
|
layout="${layout:-}"
|
||||||
|
|
||||||
|
# Collect windows (current ws + current monitor, mapped only)
|
||||||
|
clients_json="$(hyprctl -j clients 2>/dev/null)" || fail_json "failed to read clients"
|
||||||
|
|
||||||
|
# Click action: pick a window and focus it
|
||||||
|
if [[ "${1:-}" == "--pick" ]]; then
|
||||||
|
# Build menu lines: address at end so we can parse it back reliably.
|
||||||
|
menu="$(
|
||||||
|
jq -r --argjson ws "$focused_ws_id" --argjson mid "$focused_mon_id" '
|
||||||
|
[ .[]
|
||||||
|
| select(.mapped == true)
|
||||||
|
| select(.workspace.id == $ws)
|
||||||
|
| select(.monitor == $mid)
|
||||||
|
| {address, class, title}
|
||||||
|
]
|
||||||
|
| map("[\(.class)] \(.title) \(.address)")
|
||||||
|
| .[]
|
||||||
|
' <<<"$clients_json"
|
||||||
|
)" || exit 0
|
||||||
|
|
||||||
|
[[ -n "${menu:-}" ]] || exit 0
|
||||||
|
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
choice="$(printf '%s\n' "$menu" | eval "$DMENU_CMD" || true)"
|
||||||
|
[[ -n "${choice:-}" ]] || exit 0
|
||||||
|
|
||||||
|
addr="$(awk '{print $NF}' <<<"$choice")"
|
||||||
|
[[ "$addr" =~ ^0x[0-9a-fA-F]+$ ]] || exit 0
|
||||||
|
|
||||||
|
hyprctl dispatch focuswindow "address:${addr}" >/dev/null 2>&1 || exit 0
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Tooltip list (multiline)
|
||||||
|
# Include a stable selector: address (hex), plus class + title for humans.
|
||||||
|
tooltip_list="$(
|
||||||
|
jq -r --argjson ws "$focused_ws_id" --argjson mid "$focused_mon_id" '
|
||||||
|
[ .[]
|
||||||
|
| select(.mapped == true)
|
||||||
|
| select(.workspace.id == $ws)
|
||||||
|
| select(.monitor == $mid)
|
||||||
|
| {address, class, title}
|
||||||
|
]
|
||||||
|
| to_entries
|
||||||
|
| map("\(.key+1). [\(.value.class)] \(.value.title) (\(.value.address))")
|
||||||
|
| .[]
|
||||||
|
' <<<"$clients_json"
|
||||||
|
)" || fail_json "failed to build tooltip list"
|
||||||
|
|
||||||
|
win_count="$(
|
||||||
|
jq -r --argjson ws "$focused_ws_id" --argjson mid "$focused_mon_id" '
|
||||||
|
[ .[]
|
||||||
|
| select(.mapped == true)
|
||||||
|
| select(.workspace.id == $ws)
|
||||||
|
| select(.monitor == $mid)
|
||||||
|
] | length
|
||||||
|
' <<<"$clients_json"
|
||||||
|
)" || fail_json "failed to count clients"
|
||||||
|
|
||||||
|
max_visible="$(awk -v w="$COLUMN_WIDTH" 'BEGIN{ if (w<=0) {print 1} else {print int(1.0/w)} }')" \
|
||||||
|
|| fail_json "awk failed"
|
||||||
|
(( max_visible < 1 )) && max_visible=1
|
||||||
|
|
||||||
|
overflow=$(( win_count - max_visible ))
|
||||||
|
|
||||||
|
# IMPORTANT: hide module by outputting NOTHING (no JSON) when not relevant
|
||||||
|
if (( overflow <= 0 )) || [[ "$layout" != "scrolling" ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
text="$ICON +$overflow"
|
||||||
|
cls="overflow"
|
||||||
|
|
||||||
|
tooltip="WS ${focused_ws_id} • ${win_count} window(s)\n"
|
||||||
|
tooltip+="Approx ${max_visible} fit (column_width=${COLUMN_WIDTH})\n"
|
||||||
|
tooltip+="------------------------------\n"
|
||||||
|
tooltip+="${tooltip_list:-"(no windows)"}"
|
||||||
|
|
||||||
|
printf '{"text":"%s","tooltip":"%s","class":"%s"}\n' \
|
||||||
|
"$(json_escape "$text")" \
|
||||||
|
"$(json_escape "$tooltip")" \
|
||||||
|
"$(json_escape "$cls")"
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# hyprscrolling-per-monitor.sh
|
||||||
|
# Usage:
|
||||||
|
# ./hyprscrolling-per-monitor.sh <MONITOR_NAME>
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# ./hyprscrolling-per-monitor.sh DP-1
|
||||||
|
#
|
||||||
|
# This script reads the current resolution for the given monitor via hyprctl
|
||||||
|
# and sets hyprscrolling column width accordingly.
|
||||||
|
|
||||||
|
if [[ $# -lt 1 ]]; then
|
||||||
|
echo "Usage: $0 <MONITOR_NAME>"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
MONITOR="$1"
|
||||||
|
|
||||||
|
# Map a resolution (WIDTHxHEIGHT) to a column width value for hyprscrolling.
|
||||||
|
# Tune these values to taste.
|
||||||
|
columnwidth_for_resolution() {
|
||||||
|
local res="$1"
|
||||||
|
case "$res" in
|
||||||
|
# --- Ultra-wide / super-wide ---
|
||||||
|
5120x1440) echo "0.22" ;; # 49" 32:9
|
||||||
|
3840x1080) echo "0.25" ;; # 49" 32:9 (your ultrawide)
|
||||||
|
3440x1440) echo "0.33" ;; # 34" 21:9
|
||||||
|
2560x1080) echo "0.40" ;; # 21:9 budget ultrawide
|
||||||
|
|
||||||
|
# --- QHD / high DPI ---
|
||||||
|
3840x2160) echo "0.40" ;; # 4K
|
||||||
|
3200x1800) echo "0.50" ;;
|
||||||
|
2880x1800) echo "0.50" ;;
|
||||||
|
2560x1600) echo "0.55" ;; # 16:10
|
||||||
|
2560x1440) echo "0.55" ;; # QHD
|
||||||
|
|
||||||
|
# --- FHD / laptop-ish ---
|
||||||
|
1920x1200) echo "0.55" ;; # 16:10
|
||||||
|
1920x1080) echo "0.50" ;; # FHD (your laptop request)
|
||||||
|
|
||||||
|
# --- HD / smaller ---
|
||||||
|
1680x1050) echo "0.65" ;;
|
||||||
|
1600x900) echo "0.70" ;;
|
||||||
|
1366x768) echo "0.80" ;;
|
||||||
|
1280x720) echo "0.85" ;;
|
||||||
|
|
||||||
|
# Unknown / fallback
|
||||||
|
*) echo "" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get resolution for a named monitor from hyprctl.
|
||||||
|
# Output format should be WIDTHxHEIGHT (e.g. 3840x1080).
|
||||||
|
get_monitor_resolution() {
|
||||||
|
local mon="$1"
|
||||||
|
|
||||||
|
# hyprctl monitors prints lines like:
|
||||||
|
# Monitor DP-1 (ID 0): 3840x1080@119.88 at 0x0 ...
|
||||||
|
# We'll extract the first WIDTHxHEIGHT after the colon.
|
||||||
|
local line
|
||||||
|
if ! line="$(hyprctl monitors 2>/dev/null | grep -F "Monitor ${mon} " -m1 || true)"; then
|
||||||
|
echo ""
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract token like 3840x1080@... then strip @...
|
||||||
|
local token
|
||||||
|
token="$(awk -F': ' '{print $2}' <<<"$line" | awk '{print $1}' | cut -d'@' -f1 || true)"
|
||||||
|
echo "$token"
|
||||||
|
}
|
||||||
|
|
||||||
|
resolution="$(get_monitor_resolution "$MONITOR")"
|
||||||
|
if [[ -z "$resolution" ]]; then
|
||||||
|
echo "Could not determine resolution for monitor '$MONITOR'."
|
||||||
|
echo "Tip: check available names with: hyprctl monitors"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
colw="$(columnwidth_for_resolution "$resolution")"
|
||||||
|
if [[ -z "$colw" ]]; then
|
||||||
|
echo "No mapping for resolution '$resolution' on monitor '$MONITOR'."
|
||||||
|
echo "Add it to columnwidth_for_resolution() in this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Apply to hyprscrolling.
|
||||||
|
# Using layoutmsg colresize (as in your snippet).
|
||||||
|
hyprctl dispatch layoutmsg colresize all "$colw"
|
||||||
|
|
||||||
|
echo "hyprscrolling: set column width to $colw for monitor '$MONITOR' ($resolution)"
|
||||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
OPTIONS=" Lock
|
||||||
|
Logout (Hyprland)
|
||||||
|
Suspend
|
||||||
|
Hibernate
|
||||||
|
Reboot
|
||||||
|
Shutdown
|
||||||
|
Cancel"
|
||||||
|
|
||||||
|
CHOICE=$(printf "%s" "$OPTIONS" | walker --dmenu )
|
||||||
|
|
||||||
|
case "$CHOICE" in
|
||||||
|
"Lock")
|
||||||
|
loginctl lock-session
|
||||||
|
;;
|
||||||
|
"Logout (Hyprland)")
|
||||||
|
hyprctl dispatch exit
|
||||||
|
;;
|
||||||
|
"Suspend")
|
||||||
|
loginctl lock-session && systemctl suspend
|
||||||
|
;;
|
||||||
|
"Hibernate")
|
||||||
|
loginctl lock-session && systemctl hibernate
|
||||||
|
;;
|
||||||
|
"Reboot")
|
||||||
|
systemctl reboot
|
||||||
|
;;
|
||||||
|
"Shutdown")
|
||||||
|
systemctl poweroff
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
cur="$(hyprctl getoption general:layout 2>/dev/null | awk '/str:/ {print $2; exit}')"
|
||||||
|
if [[ "$cur" == "scrolling" ]]; then
|
||||||
|
new="dwindle"
|
||||||
|
else
|
||||||
|
new="scrolling"
|
||||||
|
fi
|
||||||
|
hyprctl keyword general:layout "$new" >/dev/null
|
||||||
|
msg="Hyprland layout: $new"
|
||||||
|
echo "$msg"
|
||||||
|
# Show a notification if possible
|
||||||
|
if command -v notify-send >/dev/null 2>&1; then
|
||||||
|
notify-send -a Hyprland "Layout switched" "$msg"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"ignore-gtk-theme": true,
|
||||||
|
"cssPriority": "user",
|
||||||
|
|
||||||
|
"positionX": "right",
|
||||||
|
"positionY": "top",
|
||||||
|
"layer": "overlay",
|
||||||
|
"layer-shell": true,
|
||||||
|
|
||||||
|
"control-center-positionX": "right",
|
||||||
|
"control-center-positionY": "top",
|
||||||
|
"control-center-layer": "overlay",
|
||||||
|
"control-center-exclusive-zone": true,
|
||||||
|
|
||||||
|
"control-center-width": 480,
|
||||||
|
"control-center-height": 0,
|
||||||
|
"fit-to-screen": true,
|
||||||
|
|
||||||
|
"control-center-margin-top": 14,
|
||||||
|
"control-center-margin-right": 14,
|
||||||
|
"control-center-margin-bottom": 14,
|
||||||
|
"control-center-margin-left": 14,
|
||||||
|
|
||||||
|
"notification-window-width": 420,
|
||||||
|
"notification-window-height": -1,
|
||||||
|
|
||||||
|
"timeout": 8,
|
||||||
|
"timeout-low": 4,
|
||||||
|
"timeout-critical": 0,
|
||||||
|
"transition-time": 150,
|
||||||
|
|
||||||
|
"notification-grouping": true,
|
||||||
|
"keyboard-shortcuts": true,
|
||||||
|
"hide-on-action": true,
|
||||||
|
"hide-on-clear": false,
|
||||||
|
"relative-timestamps": true,
|
||||||
|
|
||||||
|
"image-visibility": "when-available",
|
||||||
|
"notification-2fa-action": true,
|
||||||
|
|
||||||
|
"text-empty": "No notifications",
|
||||||
|
|
||||||
|
"widgets": [
|
||||||
|
"title",
|
||||||
|
"dnd",
|
||||||
|
"notifications"
|
||||||
|
],
|
||||||
|
|
||||||
|
"widget-config": {
|
||||||
|
"title": {
|
||||||
|
"text": "Notifications",
|
||||||
|
"clear-all-button": true,
|
||||||
|
"button-text": "Clear"
|
||||||
|
},
|
||||||
|
"dnd": {
|
||||||
|
"text": "Do Not Disturb"
|
||||||
|
},
|
||||||
|
"notifications": {
|
||||||
|
"vexpand": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
/* SwayNotificationCenter (swaync) — EXACT Waybar match
|
||||||
|
* Put in: ~/.config/swaync/style.css
|
||||||
|
*
|
||||||
|
* swaync loads GTK CSS for theming.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base rgba(220, 230, 255, 0.05);
|
||||||
|
@define-color text rgba(255, 255, 255, 1.0);
|
||||||
|
@define-color surface1 rgba(255, 255, 255, 0.08);
|
||||||
|
@define-color subtext1 rgba(255, 255, 255, 0.35);
|
||||||
|
@define-color blue rgba(51, 204, 255, 0.933);
|
||||||
|
@define-color green rgba(0, 255, 153, 0.933);
|
||||||
|
@define-color red rgba(255, 0, 0, 0.90);
|
||||||
|
* {
|
||||||
|
color: @text;
|
||||||
|
font-family:
|
||||||
|
Aporetic Sans Mono,
|
||||||
|
Iosevka Nerd Font,
|
||||||
|
Sans;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
/* Remove list selection glow */
|
||||||
|
list,
|
||||||
|
listview,
|
||||||
|
row,
|
||||||
|
listview row,
|
||||||
|
listview row:selected,
|
||||||
|
listview row:hover,
|
||||||
|
listview row:focus,
|
||||||
|
listview row:active {
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
/* Popups: keep window transparent, but make the *notification surfaces* opaque base */
|
||||||
|
window#notification-window {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
/* Control center — EXACT same as Waybar base */
|
||||||
|
.control-center {
|
||||||
|
background-color: @base;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 12px;
|
||||||
|
|
||||||
|
/* Keep border subtle, like Waybar (no heavy shadow) */
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
/* Widget headers — use Waybar surface1 */
|
||||||
|
.widget-title {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @surface1;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
}
|
||||||
|
.widget-title > label {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
/* Cards — EXACT same as Waybar base */
|
||||||
|
.notification-background {
|
||||||
|
margin: 10px 0;
|
||||||
|
padding: 0;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.notification-background .notification {
|
||||||
|
background-color: @base;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 12px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
/* Accent by urgency */
|
||||||
|
.notification.critical {
|
||||||
|
border-left: 4px solid @red;
|
||||||
|
}
|
||||||
|
.notification.low {
|
||||||
|
border-left: 4px solid @blue;
|
||||||
|
}
|
||||||
|
.notification.normal {
|
||||||
|
border-left: 4px solid @green;
|
||||||
|
}
|
||||||
|
/* Meta */
|
||||||
|
.notification .app-name {
|
||||||
|
color: @subtext1;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.notification .time {
|
||||||
|
color: @subtext1;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
/* Text */
|
||||||
|
.notification .summary {
|
||||||
|
color: @text;
|
||||||
|
font-weight: 800;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.notification .body {
|
||||||
|
color: @subtext1;
|
||||||
|
margin-top: 6px;
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
/* Buttons */
|
||||||
|
.notification button {
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 6px 10px;
|
||||||
|
}
|
||||||
|
.notification button:hover {
|
||||||
|
background-color: rgba(255, 255, 255, 0.14);
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
# Walker UI layout/theme config (Catppuccin Mocha tuned)
|
||||||
|
|
||||||
|
theme = "frosted"
|
||||||
|
debug = true
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
css = "home/YOUR_USER/themes/frosted/walker.css"
|
||||||
|
|
||||||
|
[ui.anchors]
|
||||||
|
top = true
|
||||||
|
left = true
|
||||||
|
right = true
|
||||||
|
bottom = false # don't stretch to full height; keeps it as a panel
|
||||||
|
|
||||||
|
[ui.window]
|
||||||
|
h_align = "fill"
|
||||||
|
v_align = "fill"
|
||||||
|
|
||||||
|
[ui.window.box]
|
||||||
|
h_align = "center"
|
||||||
|
# Single source of truth for the main content width
|
||||||
|
width = 520
|
||||||
|
|
||||||
|
[ui.window.box.margins]
|
||||||
|
top = 140
|
||||||
|
|
||||||
|
[ui.window.box.bar]
|
||||||
|
orientation = "horizontal"
|
||||||
|
position = "end"
|
||||||
|
|
||||||
|
[ui.window.box.bar.entry]
|
||||||
|
h_align = "fill"
|
||||||
|
h_expand = true
|
||||||
|
|
||||||
|
[ui.window.box.bar.entry.icon]
|
||||||
|
h_align = "center"
|
||||||
|
h_expand = false
|
||||||
|
pixel_size = 22
|
||||||
|
theme = "" # leave empty to inherit your system icon theme (Papirus etc.)
|
||||||
|
|
||||||
|
# --- AI scroll area (match main width, reduce hardcoding) ---
|
||||||
|
[ui.window.box.ai_scroll]
|
||||||
|
name = "aiScroll"
|
||||||
|
h_align = "fill"
|
||||||
|
v_align = "fill"
|
||||||
|
min_width = 520
|
||||||
|
width = 520
|
||||||
|
max_height = 260
|
||||||
|
height = 260
|
||||||
|
|
||||||
|
[ui.window.box.ai_scroll.margins]
|
||||||
|
top = 10
|
||||||
|
|
||||||
|
[ui.window.box.ai_scroll.list]
|
||||||
|
name = "aiList"
|
||||||
|
orientation = "vertical"
|
||||||
|
width = 520
|
||||||
|
spacing = 10
|
||||||
|
|
||||||
|
[ui.window.box.ai_scroll.list.item]
|
||||||
|
name = "aiItem"
|
||||||
|
h_align = "fill"
|
||||||
|
v_align = "fill"
|
||||||
|
x_align = 0
|
||||||
|
y_align = 0
|
||||||
|
wrap = true
|
||||||
|
|
||||||
|
# --- Main results list ---
|
||||||
|
[ui.window.box.scroll.list]
|
||||||
|
# Catppuccin Mocha accent (pick one):
|
||||||
|
# - teal: #94e2d5
|
||||||
|
# - blue: #89b4fa
|
||||||
|
marker_color = "#89b4fa"
|
||||||
|
max_height = 360
|
||||||
|
min_width = 520
|
||||||
|
max_width = 520
|
||||||
|
width = 520
|
||||||
|
|
||||||
|
[ui.window.box.scroll.list.margins]
|
||||||
|
top = 10
|
||||||
|
|
||||||
|
[ui.window.box.scroll.list.item.activation_label]
|
||||||
|
h_align = "fill"
|
||||||
|
v_align = "fill"
|
||||||
|
width = 22
|
||||||
|
x_align = 0.5
|
||||||
|
y_align = 0.5
|
||||||
|
|
||||||
|
[ui.window.box.scroll.list.item.icon]
|
||||||
|
pixel_size = 24
|
||||||
|
theme = "" # inherit system icon theme
|
||||||
|
|
||||||
|
# --- Search row (icons + input) ---
|
||||||
|
[ui.window.box.search.prompt]
|
||||||
|
name = "prompt"
|
||||||
|
icon = "edit-find"
|
||||||
|
theme = ""
|
||||||
|
pixel_size = 18
|
||||||
|
h_align = "center"
|
||||||
|
v_align = "center"
|
||||||
|
|
||||||
|
[ui.window.box.search.clear]
|
||||||
|
name = "clear"
|
||||||
|
icon = "edit-clear"
|
||||||
|
theme = ""
|
||||||
|
pixel_size = 18
|
||||||
|
h_align = "center"
|
||||||
|
v_align = "center"
|
||||||
|
|
||||||
|
[ui.window.box.search.input]
|
||||||
|
h_align = "fill"
|
||||||
|
h_expand = true
|
||||||
|
icons = true
|
||||||
|
|
||||||
|
[ui.window.box.search.spinner]
|
||||||
|
hide = true
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
|
||||||
|
|
||||||
|
@define-color foreground rgba(255, 255, 255, 0.8);
|
||||||
|
@define-color background hsla(240, 12.7%, 13.9%, 0.98);
|
||||||
|
@define-color color1 hsl(172, 100%, 25.3%);
|
||||||
|
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#box,
|
||||||
|
#aiScroll,
|
||||||
|
#aiList,
|
||||||
|
#search,
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#prompt,
|
||||||
|
#clear,
|
||||||
|
#typeahead,
|
||||||
|
#list,
|
||||||
|
child,
|
||||||
|
scrollbar,
|
||||||
|
slider,
|
||||||
|
#item,
|
||||||
|
#text,
|
||||||
|
#label,
|
||||||
|
#bar,
|
||||||
|
#sub,
|
||||||
|
#activationlabel {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cfgerr {
|
||||||
|
background: rgba(255, 0, 0, 0.4);
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
#box {
|
||||||
|
border-radius: 2px;
|
||||||
|
background: @background;
|
||||||
|
padding: 32px;
|
||||||
|
border: 1px solid lighter(@background);
|
||||||
|
box-shadow:
|
||||||
|
0 19px 38px rgba(0, 0, 0, 0.3),
|
||||||
|
0 15px 12px rgba(0, 0, 0, 0.22);
|
||||||
|
}
|
||||||
|
|
||||||
|
#search {
|
||||||
|
box-shadow:
|
||||||
|
0 1px 3px rgba(0, 0, 0, 0.1),
|
||||||
|
0 1px 2px rgba(0, 0, 0, 0.22);
|
||||||
|
background: lighter(@background);
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#prompt {
|
||||||
|
margin-left: 4px;
|
||||||
|
margin-right: 12px;
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clear {
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#typeahead {
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#password {
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#typeahead {
|
||||||
|
color: @foreground;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input placeholder {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#list {
|
||||||
|
}
|
||||||
|
|
||||||
|
child {
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
child:selected,
|
||||||
|
child:hover {
|
||||||
|
background: alpha(@color1, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
#item {
|
||||||
|
}
|
||||||
|
|
||||||
|
#icon {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
}
|
||||||
|
|
||||||
|
#label {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub {
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#activationlabel {
|
||||||
|
}
|
||||||
|
|
||||||
|
#bar {
|
||||||
|
}
|
||||||
|
|
||||||
|
.barentry {
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation #activationlabel {
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation #text,
|
||||||
|
.activation #icon,
|
||||||
|
.activation #search {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem {
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: @foreground;
|
||||||
|
background: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem.user {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem.assistant {
|
||||||
|
background: lighter(@background);
|
||||||
|
}
|
||||||
@@ -0,0 +1,185 @@
|
|||||||
|
/* Catppuccin Mocha Walker Theme — Frosted Glass */
|
||||||
|
|
||||||
|
@import "default.css";
|
||||||
|
|
||||||
|
/* --- Palette --- */
|
||||||
|
/* glass layers: low alpha + slightly cool tint */
|
||||||
|
@define-color base rgba(220, 230, 255, 0.15);
|
||||||
|
@define-color mantle rgba(24, 24, 37, 0.55); /* was opaque */
|
||||||
|
@define-color crust rgba(17, 17, 27, 0.80);
|
||||||
|
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
|
||||||
|
/* use these as “edge lights” more than solid fills */
|
||||||
|
@define-color surface0 rgba(49, 50, 68, 0.35);
|
||||||
|
@define-color surface1 rgba(69, 71, 90, 0.40);
|
||||||
|
@define-color surface2 rgba(88, 91, 112, 0.45);
|
||||||
|
|
||||||
|
@define-color overlay0 rgba(108, 112, 134, 0.70);
|
||||||
|
@define-color overlay1 rgba(127, 132, 156, 0.85);
|
||||||
|
@define-color overlay2 rgba(147, 153, 178, 0.90);
|
||||||
|
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
|
||||||
|
/* --- Walker expected tokens --- */
|
||||||
|
@define-color foreground @text;
|
||||||
|
|
||||||
|
/* very transparent base to let compositor blur show through */
|
||||||
|
@define-color background: rgba(26, 26, 40, 0.75);
|
||||||
|
|
||||||
|
/* selection tint */
|
||||||
|
@define-color color1 @blue;
|
||||||
|
|
||||||
|
/* --- Reset --- */
|
||||||
|
#window,
|
||||||
|
#box,
|
||||||
|
#aiScroll,
|
||||||
|
#aiList,
|
||||||
|
#search,
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#prompt,
|
||||||
|
#clear,
|
||||||
|
#typeahead,
|
||||||
|
#list,
|
||||||
|
child,
|
||||||
|
scrollbar,
|
||||||
|
slider,
|
||||||
|
#item,
|
||||||
|
#text,
|
||||||
|
#label,
|
||||||
|
#bar,
|
||||||
|
#sub,
|
||||||
|
#activationlabel {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Error --- */
|
||||||
|
#cfgerr {
|
||||||
|
background: alpha(@red, 0.35);
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid alpha(@red, 0.3);
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Window --- */
|
||||||
|
#window {
|
||||||
|
color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Main container (frosted glass card) --- */
|
||||||
|
#box {
|
||||||
|
border-radius: 18px;
|
||||||
|
background: @background;
|
||||||
|
|
||||||
|
border: 1px solid alpha(@text, 0.08);
|
||||||
|
|
||||||
|
box-shadow:
|
||||||
|
inset 0 1px 0 alpha(@text, 0.04),
|
||||||
|
0 8px 18px alpha(@crust, 0.4);
|
||||||
|
|
||||||
|
padding: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Search “pill” --- */
|
||||||
|
#search {
|
||||||
|
background: rgba(49, 50, 68, 0.22);
|
||||||
|
padding: 10px 12px;
|
||||||
|
border-radius: 14px;
|
||||||
|
|
||||||
|
border: 1px solid alpha(@text, 0.1);
|
||||||
|
box-shadow:
|
||||||
|
inset 0 1px 0 alpha(@text, 0.06),
|
||||||
|
0 6px 16px alpha(@crust, 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
#prompt {
|
||||||
|
margin-left: 6px;
|
||||||
|
margin-right: 12px;
|
||||||
|
color: alpha(@overlay1, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
#clear {
|
||||||
|
color: alpha(@overlay2, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Inputs --- */
|
||||||
|
#password,
|
||||||
|
#input,
|
||||||
|
#typeahead {
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#typeahead {
|
||||||
|
color: alpha(@subtext1, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
#input placeholder {
|
||||||
|
color: alpha(@overlay0, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- List items --- */
|
||||||
|
child {
|
||||||
|
padding: 10px 12px;
|
||||||
|
border-radius: 14px;
|
||||||
|
background: @background;
|
||||||
|
border: 1px solid alpha(@text, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hover / Selection: brighter glass + tinted glow */
|
||||||
|
child:selected,
|
||||||
|
child:hover {
|
||||||
|
background: rgba(22, 22, 34, 0.8);
|
||||||
|
border: 1px solid alpha(@text, 0.08);
|
||||||
|
|
||||||
|
box-shadow:
|
||||||
|
inset 0 1px 0 alpha(@text, 0.05),
|
||||||
|
0 6px 14px alpha(@crust, 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Text --- */
|
||||||
|
#label {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub {
|
||||||
|
color: alpha(@subtext0, 0.85);
|
||||||
|
font-size: 0.85em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Activation --- */
|
||||||
|
.activation #text,
|
||||||
|
.activation #icon,
|
||||||
|
.activation #search {
|
||||||
|
opacity: 0.55;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- AI Panel --- */
|
||||||
|
.aiItem {
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 14px;
|
||||||
|
color: @foreground;
|
||||||
|
|
||||||
|
/* glass tile */
|
||||||
|
background: rgba(24, 24, 37, 0.3);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
||||||
|
box-shadow: inset 0 1px 0 alpha(@text, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.aiItem.assistant {
|
||||||
|
background: rgba(49, 50, 68, 0.22);
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 292 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 963 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
-3
@@ -2,7 +2,7 @@
|
|||||||
# Wallpaper config (wpaperd, TOML)
|
# Wallpaper config (wpaperd, TOML)
|
||||||
#
|
#
|
||||||
# Source-of-truth in repo:
|
# Source-of-truth in repo:
|
||||||
# ~/<defaultUser>nix/assets/conf/desktop/wallpaper/wallpaper.conf
|
# ~/YOUR_USERnix/assets/conf/desktop/wallpaper/wallpaper.conf
|
||||||
#
|
#
|
||||||
# Runtime override (user edits this):
|
# Runtime override (user edits this):
|
||||||
# ~/conf/desktop/wallpaper/wallpaper.conf
|
# ~/conf/desktop/wallpaper/wallpaper.conf
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
# Directory to pick wallpapers from
|
# Directory to pick wallpapers from
|
||||||
path = "~/nixos_conf/wallpaperstuff/pictures"
|
path = "~/nixos_conf/wallpaperstuff/pictures"
|
||||||
|
|
||||||
# Switch every 60 minutes
|
# Switch every X minutes
|
||||||
duration = "5m"
|
duration = "5m"
|
||||||
|
|
||||||
# Random order (ascending/descending/random)
|
# Random order (ascending/descending/random)
|
||||||
@@ -30,7 +30,7 @@ recursive = true
|
|||||||
mode = "stretch"
|
mode = "stretch"
|
||||||
|
|
||||||
# Transition time in milliseconds
|
# Transition time in milliseconds
|
||||||
transition-time = 2500
|
transition-time = 5000
|
||||||
|
|
||||||
# Apply a "fade-like" transition (uses gl-transitions)
|
# Apply a "fade-like" transition (uses gl-transitions)
|
||||||
[default.transition.dissolve]
|
[default.transition.dissolve]
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"height": 34,
|
||||||
|
|
||||||
|
//"modules-left": ["hyprland/window"],
|
||||||
|
|
||||||
|
"modules-center": ["hyprland/workspaces", "custom/hyprscroll_overflow"],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"idle_inhibitor",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
// "cpu",
|
||||||
|
// "memory",
|
||||||
|
// "temperature",
|
||||||
|
"battery",
|
||||||
|
"tray",
|
||||||
|
"clock",
|
||||||
|
"custom/notifications",
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/notifications": {
|
||||||
|
"tooltip": false,
|
||||||
|
"return-type": "json",
|
||||||
|
"exec-if": "which swaync-client",
|
||||||
|
"exec": "swaync-client -swb",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"notification": "",
|
||||||
|
"none": "",
|
||||||
|
"dnd-notification": "",
|
||||||
|
"dnd-none": "",
|
||||||
|
},
|
||||||
|
"on-click": "swaync-client -t",
|
||||||
|
"on-click-right": "swaync-client -d",
|
||||||
|
"on-click-middle": "swaync-client -dn",
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/hyprscroll_overflow": {
|
||||||
|
"exec": "bash -lc 'COLUMN_WIDTH=0.5 \"$HOME/.config/hypr/scripts/hyprscroll-overflow.sh\"'",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 1,
|
||||||
|
"format": "{text}",
|
||||||
|
"hide-empty-text": true,
|
||||||
|
"tooltip": true,
|
||||||
|
// Click = choose a window and focus it
|
||||||
|
"on-click": "bash -lc 'COLUMN_WIDTH=0.5 DMENU_CMD=\"walker --dmenu\" \"$HOME/.config/hypr/scripts/hyprscroll-overflow.sh\" --pick'",
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-bluetooth": "{volume}% {icon}",
|
||||||
|
"format-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"default": ["", ""],
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"format-wifi": " ({bandwidthDownBits})",
|
||||||
|
"format-ethernet": " ({bandwidthDownBits})",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
|
||||||
|
"on-click": "impala",
|
||||||
|
"on-click-right": "nm-connection-editor",
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": "{usage}% ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"format": "{percentage}% ",
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": "{temperatureC}°C ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"spacing": 10,
|
||||||
|
"icon-size": 14,
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%a, %d %b %Y - %H:%M}",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"bat": "BAT0",
|
||||||
|
"states": {
|
||||||
|
"good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15,
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-icons": ["", "", "", "", " "],
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,218 @@
|
|||||||
|
/* --- Hyprland palette (ported) --- */
|
||||||
|
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */
|
||||||
|
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */
|
||||||
|
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */
|
||||||
|
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */
|
||||||
|
|
||||||
|
/* extra colors you referenced but didn’t define */
|
||||||
|
@define-color text rgba(255, 255, 255, 1.0);
|
||||||
|
@define-color surface1 rgba(255, 255, 255, 0.08);
|
||||||
|
@define-color subtext1 rgba(255, 255, 255, 0.35);
|
||||||
|
@define-color red rgba(255, 0, 0, 0.90);
|
||||||
|
@define-color overlay1 rgba(255, 255, 255, 0.35);
|
||||||
|
@define-color yellow rgba(255, 215, 0, 0.95);
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family:
|
||||||
|
Aporetic Sans Mono,
|
||||||
|
Iosevka Nerd Font,
|
||||||
|
Roboto,
|
||||||
|
Helvetica,
|
||||||
|
Arial,
|
||||||
|
sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: transparent;
|
||||||
|
color: @text;
|
||||||
|
transition-property: background-color;
|
||||||
|
border-bottom: 0px solid rgba(0, 0, 0, 0);
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0px 1px;
|
||||||
|
min-width: 80px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: @text;
|
||||||
|
border: 2px solid @inactive;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notifications.empty {
|
||||||
|
color: @overlay1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notifications.unread {
|
||||||
|
color: @yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background-color: @surface1;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
padding: 0px 1px;
|
||||||
|
min-width: 80px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
background:
|
||||||
|
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15))
|
||||||
|
padding-box,
|
||||||
|
linear-gradient(45deg, @blue, @green) border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-hyprscroll_overflow.overflow {
|
||||||
|
padding: 0px 1px;
|
||||||
|
min-width: 80px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
border: 1px dashed transparent;
|
||||||
|
background:
|
||||||
|
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
|
||||||
|
padding-box,
|
||||||
|
linear-gradient(45deg, @blue, @green) border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-hyprscroll_overflow.hidden {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
min-width: 0;
|
||||||
|
border: 0;
|
||||||
|
background: transparent;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#temperature,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#tray {
|
||||||
|
margin: 0 5px;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: @green;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: @green;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
color: white;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =========================================================
|
||||||
|
* Notifications
|
||||||
|
* ========================================================= */
|
||||||
|
#custom-notifications {
|
||||||
|
margin: 0 4px;
|
||||||
|
padding: 0 4px;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notifications.empty {
|
||||||
|
color: @overlay1;
|
||||||
|
}
|
||||||
|
#custom-notifications.unread {
|
||||||
|
color: @yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* =========================================================
|
||||||
|
* Hyprscroll overflow indicator (custom/hyprscroll_overflow)
|
||||||
|
* States: .ok, .overflow, .error
|
||||||
|
* ========================================================= */
|
||||||
|
|
||||||
|
/* Default (no overflow): subtle pill, still hoverable for tooltip */
|
||||||
|
#custom-hyprscroll_overflow.ok {
|
||||||
|
padding: 0px 1px;
|
||||||
|
min-width: 80px;
|
||||||
|
color: @subtext1;
|
||||||
|
border-radius: 10px;
|
||||||
|
|
||||||
|
/* subtle outline so you know it's there */
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||||
|
background: rgba(255, 255, 255, 0.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make it feel interactive (hover) */
|
||||||
|
#custom-hyprscroll_overflow.ok:hover {
|
||||||
|
color: @text;
|
||||||
|
background-color: @surface1;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Overflow state: you already have this; keep it.
|
||||||
|
Optional: add hover tweak so it "pops" a bit. */
|
||||||
|
#custom-hyprscroll_overflow.overflow:hover {
|
||||||
|
background:
|
||||||
|
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1))
|
||||||
|
padding-box,
|
||||||
|
linear-gradient(45deg, @blue, @green) border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Error state: clear but not screaming */
|
||||||
|
#custom-hyprscroll_overflow.error {
|
||||||
|
padding: 0px 1px;
|
||||||
|
min-width: 80px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 10px;
|
||||||
|
|
||||||
|
border: 1px solid rgba(255, 0, 0, 0.55);
|
||||||
|
background: rgba(255, 0, 0, 0.15);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Optional: if you keep .hidden in the script for any reason */
|
||||||
|
#custom-hyprscroll_overflow.hidden {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
min-width: 0;
|
||||||
|
border: 0;
|
||||||
|
background: transparent;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
# vim:ft=kitty
|
||||||
|
|
||||||
|
## name: Catppuccin Kitty Mocha
|
||||||
|
## author: Catppuccin Org
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||||
|
## blurb: Soothing pastel theme for the high-spirited!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# The basic colors
|
||||||
|
foreground #cdd6f4
|
||||||
|
background #1e1e2e
|
||||||
|
selection_foreground #1e1e2e
|
||||||
|
selection_background #f5e0dc
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor #f5e0dc
|
||||||
|
cursor_text_color #1e1e2e
|
||||||
|
|
||||||
|
# Scrollbar colors
|
||||||
|
scrollbar_handle_color #9399b2
|
||||||
|
scrollbar_track_color #45475a
|
||||||
|
|
||||||
|
# URL color when hovering with mouse
|
||||||
|
url_color #f5e0dc
|
||||||
|
|
||||||
|
# Kitty window border colors
|
||||||
|
active_border_color #b4befe
|
||||||
|
inactive_border_color #6c7086
|
||||||
|
bell_border_color #f9e2af
|
||||||
|
|
||||||
|
# OS Window titlebar colors
|
||||||
|
wayland_titlebar_color system
|
||||||
|
macos_titlebar_color system
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_foreground #11111b
|
||||||
|
active_tab_background #cba6f7
|
||||||
|
inactive_tab_foreground #cdd6f4
|
||||||
|
inactive_tab_background #181825
|
||||||
|
tab_bar_background #11111b
|
||||||
|
|
||||||
|
# Colors for marks (marked text in the terminal)
|
||||||
|
mark1_foreground #1e1e2e
|
||||||
|
mark1_background #b4befe
|
||||||
|
mark2_foreground #1e1e2e
|
||||||
|
mark2_background #cba6f7
|
||||||
|
mark3_foreground #1e1e2e
|
||||||
|
mark3_background #74c7ec
|
||||||
|
|
||||||
|
# The 16 terminal colors
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #45475a
|
||||||
|
color8 #585b70
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #f38ba8
|
||||||
|
color9 #f38ba8
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #a6e3a1
|
||||||
|
color10 #a6e3a1
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f9e2af
|
||||||
|
color11 #f9e2af
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #89b4fa
|
||||||
|
color12 #89b4fa
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #f5c2e7
|
||||||
|
color13 #f5c2e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #94e2d5
|
||||||
|
color14 #94e2d5
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #bac2de
|
||||||
|
color15 #a6adc8
|
||||||
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
##############################################
|
##############################################
|
||||||
|
|
||||||
+5
-5
@@ -21,11 +21,11 @@ alias gcp='git add . && git commit && git push'
|
|||||||
alias cd='z'
|
alias cd='z'
|
||||||
|
|
||||||
alias nps='xdg-open https://search.nixos.org'
|
alias nps='xdg-open https://search.nixos.org'
|
||||||
alias hvnx='cd ~/Repos/nixos/<defaultUser>nix'
|
alias hvnx='cd ~/Repos/nixos/YOUR_USERnix_ok'
|
||||||
alias emt='hvnx && emacs README.org --batch -f org-babel-tangle && emacs -Q --batch README.org -f org-html-export-to-html'
|
alias emt='hvnx && emacs README.org --batch -f org-babel-tangle && emacs -Q --batch README.org -f org-html-export-to-html'
|
||||||
alias nxs='hvnx && sudo nixos-rebuild switch --flake .#machine1'
|
alias nxs='hvnx && sudo nixos-rebuild switch --flake .#YOUR_MACHINE'
|
||||||
alias nxt='hvnx && sudo nixos-rebuild test --flake .#machine1'
|
alias nxt='hvnx && sudo nixos-rebuild test --flake .#YOUR_MACHINE'
|
||||||
alias nxv='hvnx && sudo nixos-rebuild build-vm --flake .#machine1 && "$(ls -1 ./result/bin/run-*-vm | head -n 1)"'
|
alias nxv='hvnx && sudo nixos-rebuild build-vm --flake .#YOUR_MACHINE && "$(ls -1 ./result/bin/run-*-vm | head -n 1)"'
|
||||||
|
|
||||||
alias rb='systemctl reboot'
|
alias rb='systemctl reboot'
|
||||||
alias po='systemctl poweroff'
|
alias po='systemctl poweroff'
|
||||||
@@ -35,7 +35,7 @@ alias fps='flatpak search'
|
|||||||
alias fpi='flatpak install'
|
alias fpi='flatpak install'
|
||||||
alias fpr='flatpak run'
|
alias fpr='flatpak run'
|
||||||
|
|
||||||
alias nxc='ssh <defaultUser>@nextcloud.data-pro.nu'
|
alias nxc='ssh YOUR_USER@nextcloud.data-pro.nu'
|
||||||
|
|
||||||
|
|
||||||
alias vs='code'
|
alias vs='code'
|
||||||
File renamed without changes.
@@ -0,0 +1,26 @@
|
|||||||
|
##############################################
|
||||||
|
# These files are just for reference.
|
||||||
|
# If you want to change anything, edit the source files in:
|
||||||
|
# ~/YOUR_USERnix/assets/conf
|
||||||
|
#
|
||||||
|
# After that, run:
|
||||||
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
|
#
|
||||||
|
# If everything still works, you can use the same command but:
|
||||||
|
# - keep "switch"
|
||||||
|
# - and add a reboot:
|
||||||
|
#
|
||||||
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
|
#
|
||||||
|
# NOTE:
|
||||||
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
|
# are written as ONE single line.
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# Force transparency (comes from the conf file, as you want)
|
||||||
|
background_opacity 0.40
|
||||||
|
dynamic_background_opacity yes
|
||||||
|
|
||||||
|
# the rest…
|
||||||
|
map ctrl+shift+v paste_from_clipboard
|
||||||
|
map ctrl+shift+c copy_to_clipboard
|
||||||
File renamed without changes.
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
###############################################
|
###############################################
|
||||||
#~/nixos/files/conf/terminal/zsh.conf
|
#~/nixos/files/conf/terminal/zsh.conf
|
||||||
+4
-4
@@ -1,19 +1,19 @@
|
|||||||
##############################################
|
##############################################
|
||||||
# These files are just for reference.
|
# These files are just for reference.
|
||||||
# If you want to change anything, edit the source files in:
|
# If you want to change anything, edit the source files in:
|
||||||
# ~/<defaultUser>nix/assets/conf
|
# ~/YOUR_USERnix/assets/conf
|
||||||
#
|
#
|
||||||
# After that, run:
|
# After that, run:
|
||||||
# cd ~/<defaultUser>nix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
# cd ~/YOUR_USERnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
|
||||||
#
|
#
|
||||||
# If everything still works, you can use the same command but:
|
# If everything still works, you can use the same command but:
|
||||||
# - keep "switch"
|
# - keep "switch"
|
||||||
# - and add a reboot:
|
# - and add a reboot:
|
||||||
#
|
#
|
||||||
# cd ~/<defaultUser>nix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
# cd ~/YOUR_USERnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
|
||||||
#
|
#
|
||||||
# NOTE:
|
# NOTE:
|
||||||
# Make sure the lines starting with: cd ~/<defaultUser>nix
|
# Make sure the lines starting with: cd ~/YOUR_USERnix
|
||||||
# are written as ONE single line.
|
# are written as ONE single line.
|
||||||
##############################################
|
##############################################
|
||||||
Host *
|
Host *
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 8908 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user