update
@@ -66,12 +66,6 @@ PKGS = {
|
|||||||
"niri": NIRI_PKGS,
|
"niri": NIRI_PKGS,
|
||||||
}
|
}
|
||||||
|
|
||||||
SESSION_NAME = {
|
|
||||||
"hyprland": "Hyprland",
|
|
||||||
"niri": "niri",
|
|
||||||
"default": "default",
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PKGS_PATH = Path(__file__).resolve().parent.resolve() / "config"
|
PKGS_PATH = Path(__file__).resolve().parent.resolve() / "config"
|
||||||
DEST_PATH = Path.home().expanduser()
|
DEST_PATH = Path.home().expanduser()
|
||||||
@@ -107,12 +101,6 @@ def unstow(pkg: str):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def switch(session: str):
|
|
||||||
subprocess.run(
|
|
||||||
[str(Path("~/.local/scripts/config-switch").expanduser()), session], check=True
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
if not check_deps():
|
if not check_deps():
|
||||||
exit(1)
|
exit(1)
|
||||||
@@ -147,17 +135,6 @@ def main():
|
|||||||
if is_unstow:
|
if is_unstow:
|
||||||
return # No need to switch session if we're just unstowing
|
return # No need to switch session if we're just unstowing
|
||||||
|
|
||||||
if args.package in SESSION_NAME:
|
|
||||||
session = SESSION_NAME[args.package]
|
|
||||||
else:
|
|
||||||
session = SESSION_NAME["default"]
|
|
||||||
|
|
||||||
try:
|
|
||||||
switch(session)
|
|
||||||
_log("INFO", f"Switched to session profile '{session}'.")
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
_log("ERROR", f"Failed to switch session profile '{session}': {e}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
theme = Catppuccin Mocha
|
theme = Catppuccin Mocha
|
||||||
|
|
||||||
background-opacity = 0.75
|
background-opacity = 0.9
|
||||||
background-blur = true
|
background-blur = true
|
||||||
|
|
||||||
window-padding-x = 10
|
window-padding-x = 10
|
||||||
window-padding-y = 10
|
window-padding-y = 10
|
||||||
|
|
||||||
|
window-width = 100
|
||||||
|
window-height = 36
|
||||||
|
|
||||||
keybind = ctrl+shift+r=reload_config
|
keybind = ctrl+shift+r=reload_config
|
||||||
|
|
||||||
keybind = ctrl+shift+h=write_screen_file:copy
|
keybind = ctrl+shift+h=write_screen_file:copy
|
||||||
@@ -20,7 +20,7 @@ shell /bin/zsh
|
|||||||
# hide_window_decorations yes
|
# hide_window_decorations yes
|
||||||
window_padding_width 10
|
window_padding_width 10
|
||||||
|
|
||||||
background_opacity 0.75
|
background_opacity 0.9
|
||||||
background_blur 16
|
background_blur 16
|
||||||
|
|
||||||
font_family monospace
|
font_family monospace
|
||||||
@@ -36,6 +36,9 @@ map ctrl+down next_window
|
|||||||
cursor_trail 1
|
cursor_trail 1
|
||||||
cursor_shape beam
|
cursor_shape beam
|
||||||
|
|
||||||
|
# remember_window_size no
|
||||||
|
# initial_window_width 1021
|
||||||
|
|
||||||
include Catppuccin-Mocha.conf
|
include Catppuccin-Mocha.conf
|
||||||
|
|
||||||
map ctrl+plus change_font_size all +1
|
map ctrl+plus change_font_size all +1
|
||||||
@@ -45,9 +45,9 @@ binds {
|
|||||||
Mod+D repeat=false { spawn "vicinae" "vicinae://launch/system/run?toggle=true"; }
|
Mod+D repeat=false { spawn "vicinae" "vicinae://launch/system/run?toggle=true"; }
|
||||||
|
|
||||||
// Actions
|
// Actions
|
||||||
Print repeat=false { screenshot-screen; }
|
Print repeat=false { screenshot-screen show-pointer=false; }
|
||||||
Mod+Shift+S repeat=false { screenshot; }
|
Mod+Shift+S repeat=false { screenshot show-pointer=false; }
|
||||||
Mod+Ctrl+Shift+S repeat=false { screenshot-window; }
|
Mod+Ctrl+Shift+S repeat=false { screenshot-window show-pointer=false; }
|
||||||
Mod+Shift+C repeat=false { spawn "hyprpicker" "-a"; }
|
Mod+Shift+C repeat=false { spawn "hyprpicker" "-a"; }
|
||||||
|
|
||||||
// Media
|
// Media
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
// Switch configs
|
|
||||||
spawn-at-startup "config-switch" "niri"
|
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
spawn-at-startup "nm-applet"
|
spawn-at-startup "nm-applet"
|
||||||
spawn-at-startup "gnome-keyring-daemon" "--start" "--components=secrets"
|
spawn-at-startup "gnome-keyring-daemon" "--start" "--components=secrets"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
screenshot-path "~/Pictures/Screenshots/niri_screenshot_%Y-%m-%d_%H-%M-%S.png"
|
screenshot-path "~/Pictures/Screenshots/niri_screenshot_%Y-%m-%d_%H-%M-%S.png"
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
render-drm-device "/dev/dri/renderD128"
|
render-drm-device "/dev/dri/renderD129"
|
||||||
honor-xdg-activation-with-invalid-serial
|
honor-xdg-activation-with-invalid-serial
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,5 @@
|
|||||||
|
environment {
|
||||||
|
__NV_PRIME_RENDER_OFFLOAD "1"
|
||||||
|
__VK_LAYER_NV_optimus "NVIDIA_only"
|
||||||
|
__GLX_VENDOR_LIBRARY_NAME "nvidia"
|
||||||
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ window-rule {
|
|||||||
|
|
||||||
// Block from recording
|
// Block from recording
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="thunderbird"
|
match app-id="org.mozilla.Thunderbird"
|
||||||
|
|
||||||
block-out-from "screen-capture"
|
block-out-from "screen-capture"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,15 @@ layer-rule {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
layer-rule {
|
||||||
|
match layer="top"
|
||||||
|
match layer="overlay"
|
||||||
|
|
||||||
|
background-effect {
|
||||||
|
xray false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cursor {
|
cursor {
|
||||||
xcursor-theme "Bibata-Modern-Ice"
|
xcursor-theme "Bibata-Modern-Ice"
|
||||||
xcursor-size 24
|
xcursor-size 24
|
||||||
|
|||||||
@@ -1,25 +1,17 @@
|
|||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=true
|
gtk-theme-name=catppuccin-mocha-blue-standard+default
|
||||||
gtk-button-images=true
|
gtk-icon-theme-name=Papirus
|
||||||
gtk-cursor-blink=true
|
gtk-font-name=Sarasa UI SC 10
|
||||||
gtk-cursor-blink-time=1000
|
|
||||||
gtk-cursor-theme-name=Bibata-Modern-Ice
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
gtk-decoration-layout=icon:minimize,maximize,close
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
gtk-enable-animations=true
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=0
|
||||||
|
gtk-menu-images=0
|
||||||
gtk-enable-event-sounds=1
|
gtk-enable-event-sounds=1
|
||||||
gtk-enable-input-feedback-sounds=0
|
gtk-enable-input-feedback-sounds=0
|
||||||
gtk-font-name=Sarasa UI SC, 10
|
|
||||||
gtk-icon-theme-name=Papirus
|
|
||||||
gtk-menu-images=true
|
|
||||||
gtk-modules=colorreload-gtk-module
|
|
||||||
gtk-primary-button-warps-slider=true
|
|
||||||
gtk-sound-theme-name=ocean
|
|
||||||
gtk-theme-name=catppuccin-mocha-blue-standard+default
|
|
||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
|
||||||
gtk-toolbar-style=3
|
|
||||||
gtk-xft-antialias=1
|
gtk-xft-antialias=1
|
||||||
gtk-xft-dpi=122880
|
|
||||||
gtk-xft-hinting=1
|
gtk-xft-hinting=1
|
||||||
gtk-xft-hintstyle=hintslight
|
gtk-xft-hintstyle=hintslight
|
||||||
gtk-xft-rgba=rgb
|
gtk-xft-rgba=rgb
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
|
|||||||
@@ -1,14 +1,7 @@
|
|||||||
[Settings]
|
[Settings]
|
||||||
gtk-application-prefer-dark-theme=true
|
gtk-theme-name=catppuccin-mocha-blue-standard+default
|
||||||
gtk-cursor-blink=true
|
gtk-icon-theme-name=Papirus
|
||||||
gtk-cursor-blink-time=1000
|
gtk-font-name=Sarasa UI SC 10
|
||||||
gtk-cursor-theme-name=Bibata-Modern-Ice
|
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||||
gtk-cursor-theme-size=24
|
gtk-cursor-theme-size=24
|
||||||
gtk-decoration-layout=icon:minimize,maximize,close
|
gtk-application-prefer-dark-theme=1
|
||||||
gtk-enable-animations=true
|
|
||||||
gtk-font-name=Sarasa UI SC, 10
|
|
||||||
gtk-icon-theme-name=Papirus
|
|
||||||
gtk-primary-button-warps-slider=true
|
|
||||||
gtk-sound-theme-name=ocean
|
|
||||||
gtk-theme-name=catppuccin-mocha-blue-standard+default
|
|
||||||
gtk-xft-dpi=122880
|
|
||||||
|
|||||||
@@ -40,13 +40,9 @@ CONFIG_DIR = Path("~/.config").expanduser()
|
|||||||
|
|
||||||
# An application may have multiple scripts (e.g. due to config-switch)
|
# An application may have multiple scripts (e.g. due to config-switch)
|
||||||
SCRIPTS = {
|
SCRIPTS = {
|
||||||
"eww": [CONFIG_DIR / "eww" / "apply-color"],
|
|
||||||
"fastfetch": [CONFIG_DIR / "fastfetch" / "apply-color"],
|
"fastfetch": [CONFIG_DIR / "fastfetch" / "apply-color"],
|
||||||
"fuzzel": [CONFIG_DIR / "fuzzel" / "apply-color"],
|
|
||||||
"hypr": [CONFIG_DIR / "hypr" / "apply-color"],
|
|
||||||
"kvantum": [CONFIG_DIR / "Kvantum" / "apply-color"],
|
"kvantum": [CONFIG_DIR / "Kvantum" / "apply-color"],
|
||||||
"nwg-look": [CONFIG_DIR / "nwg-look" / "apply-color"],
|
"nwg-look": [CONFIG_DIR / "nwg-look" / "apply-color"],
|
||||||
"mako": [CONFIG_DIR / "mako" / "apply-color"],
|
|
||||||
"niri": [CONFIG_DIR / "niri" / "apply-color"],
|
"niri": [CONFIG_DIR / "niri" / "apply-color"],
|
||||||
"oh-my-posh": [
|
"oh-my-posh": [
|
||||||
CONFIG_DIR / "fish" / "apply-color-omp"
|
CONFIG_DIR / "fish" / "apply-color-omp"
|
||||||
@@ -55,12 +51,7 @@ SCRIPTS = {
|
|||||||
CONFIG_DIR / "fish" / "apply-color-starship"
|
CONFIG_DIR / "fish" / "apply-color-starship"
|
||||||
], # borrowing fish's directory
|
], # borrowing fish's directory
|
||||||
"quickshell": [CONFIG_DIR / "quickshell" / "apply-color"],
|
"quickshell": [CONFIG_DIR / "quickshell" / "apply-color"],
|
||||||
"rofi": [CONFIG_DIR / "rofi" / "apply-color"],
|
"wlogout": [CONFIG_DIR / "wlogout" / "apply-color"],
|
||||||
"waybar": [CONFIG_DIR / "waybar" / "apply-color"],
|
|
||||||
"wlogout": [
|
|
||||||
CONFIG_DIR / ".alt" / "wlogout-default" / "apply-color",
|
|
||||||
CONFIG_DIR / ".alt" / "wlogout-niri" / "apply-color",
|
|
||||||
],
|
|
||||||
"yazi": [CONFIG_DIR / "yazi" / "apply-color"],
|
"yazi": [CONFIG_DIR / "yazi" / "apply-color"],
|
||||||
}
|
}
|
||||||
# or simply `find [-L] <CONFIG_DIR> -type f -name 'apply-color*'` to get all available scripts,
|
# or simply `find [-L] <CONFIG_DIR> -type f -name 'apply-color*'` to get all available scripts,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
# Constants
|
# Constants
|
||||||
niri_config_file="$HOME/.config/niri/config/misc.kdl"
|
niri_config_file="$HOME/.config/niri/config/misc.kdl"
|
||||||
prefer_order=(intel nvidia)
|
prefer_order=(nvidia intel)
|
||||||
|
|
||||||
# Get vendor and path of each GPU
|
# Get vendor and path of each GPU
|
||||||
default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)"
|
default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)"
|
||||||
|
|||||||
@@ -21,4 +21,4 @@ sed -i -E "s/(border-color:\s*#)([0-9A-Fa-f]{6})(;)/\1${colorHex}\3/" "$file" ||
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
log_success "wlogout"
|
log_success "wlogout (niri version)"
|
||||||
|
Before Width: | Height: | Size: 969 B After Width: | Height: | Size: 969 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 877 B After Width: | Height: | Size: 877 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"label": "lock",
|
"label": "lock",
|
||||||
"action": "loginctl lock-session",
|
"action": "hyprlock &",
|
||||||
"text": "Lock",
|
"text": "Lock",
|
||||||
"keybind": "l"
|
"keybind": "l"
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
"label": "logout",
|
"label": "logout",
|
||||||
"action": "hyprctl dispatch exit",
|
"action": "niri msg action quit",
|
||||||
"text": "Logout",
|
"text": "Logout",
|
||||||
"keybind": "e"
|
"keybind": "e"
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ button {
|
|||||||
color: #cdd6f4;
|
color: #cdd6f4;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
outline-style: none;
|
outline-style: none;
|
||||||
background-color: alpha(#1e1e2e, 0.8);
|
background-color: alpha(#1e1e2e, 1);
|
||||||
border: none;
|
border: none;
|
||||||
border-width: 0px;
|
border-width: 0px;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
@@ -30,7 +30,7 @@ button:focus,
|
|||||||
button:active,
|
button:active,
|
||||||
button:hover {
|
button:hover {
|
||||||
background-size: 20%;
|
background-size: 20%;
|
||||||
background-color: alpha(#1e1e2e, 0.7);
|
background-color: alpha(#1c1c2c, 1);
|
||||||
animation: gradient_f 20s ease-in infinite;
|
animation: gradient_f 20s ease-in infinite;
|
||||||
transition: all 0.3s cubic-bezier(0.55, 0, 0.28, 1.682);
|
transition: all 0.3s cubic-bezier(0.55, 0, 0.28, 1.682);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Description:
|
||||||
|
# Updates configurations of several apps according to the current (or given as parameter) desktop environment.
|
||||||
|
|
||||||
|
desktop=${1:-${XDG_CURRENT_DESKTOP:-default}}
|
||||||
|
|
||||||
|
alt() {
|
||||||
|
local item profile
|
||||||
|
item=$1
|
||||||
|
profile=$2
|
||||||
|
if [[ -e $HOME/.config/.alt/${item}-${profile} ]]; then
|
||||||
|
ln -svfT ".alt/${item}-${profile}" "$HOME/.config/$item"
|
||||||
|
elif [[ -e $HOME/.config/.alt/${item}-default ]]; then
|
||||||
|
ln -svfT ".alt/${item}-default" "$HOME/.config/$item"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for item in "kitty" "wlogout" "ghostty"; do
|
||||||
|
if [[ ! -L $HOME/.config/$item ]] && [[ -e $HOME/.config/$item ]]; then
|
||||||
|
echo "Error: $HOME/.config/$item exists and is not a symlink." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$desktop" in
|
||||||
|
niri | GNOME)
|
||||||
|
alt "$item" niri
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
alt "$item" default
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||