diff options
| author | BardofSprites <[email protected]> | 2026-05-26 09:58:25 -0400 |
|---|---|---|
| committer | BardofSprites <[email protected]> | 2026-05-26 09:58:25 -0400 |
| commit | 1a0db1edb0271bfd04a8149efd1434be6a1830b8 (patch) | |
| tree | 7bcadb6d7f1d199691ff6827c095d9cdecb64050 | |
| parent | fd30675550bffcd3247e897f903af126fc2c0120 (diff) | |
niri wayland configuration
54 files changed, 2084 insertions, 0 deletions
diff --git a/bin/.local/bin/scripts/grimpick b/bin/.local/bin/scripts/grimpick new file mode 100755 index 0000000..0c12409 --- /dev/null +++ b/bin/.local/bin/scripts/grimpick @@ -0,0 +1,62 @@ +#!/bin/sh + +# Ensure directory exists +mkdir -p "$HOME/Pictures/screenshots" + +# Variables +TIMESTAMP=$(date '+%y%m%d-%H%M-%S') +DIR="$HOME/Pictures/screenshots" +CLIP_CMD="wl-copy -t image/png" + +# Use fuzzel as a modern dmenu replacement (fallback to standard dmenu if running via XWayland, +# but fuzzel/rofi-wayland is highly recommended for Wayland native surface scaling) +MENU_CMD="fuzzel --dmenu -p" + +# 1. Main menu prompt +selection=$(printf "a selected area\ncurrent window\nfull screen\na selected area (copy)\ncurrent window (copy)\nfull screen (copy)" | $MENU_CMD "Screenshot which area?") + +[ -z "$selection" ] && exit 0 + +# Helper function to get active window geometry from niri +get_active_window_geom() { + # Fetches active window info via Niri IPC and formats it for grim (-g) + niri msg --json outputs | jq -r '.[] | .focused_window | select(. != null) | "\(.position.x),\(.position.y) \(.size.width)x\(.size.height)"' +} + +# 2. Execution Logic +case "$selection" in + "a selected area") + GEOM=$(slurp) + [ -n "$GEOM" ] && grim -g "$GEOM" "$DIR/pic-selected-${TIMESTAMP}.png" + ;; + "current window") + GEOM=$(get_active_window_geom) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" "$DIR/pic-window-${TIMESTAMP}.png" + else + # Fallback to manual selection if no window is focused + grim -g "$(slurp)" "$DIR/pic-window-${TIMESTAMP}.png" + fi + ;; + "full screen") + # Slurp -o lets you click a specific monitor, or press Escape/Click outside to cancel + GEOM=$(slurp -p -o) + [ -n "$GEOM" ] && grim -g "$GEOM" "$DIR/pic-full-${TIMESTAMP}.png" + ;; + "a selected area (copy)") + GEOM=$(slurp) + [ -n "$GEOM" ] && grim -g "$GEOM" - | $CLIP_CMD + ;; + "current window (copy)") + GEOM=$(get_active_window_geom) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" - | $CLIP_CMD + else + grim -g "$(slurp)" - | $CLIP_CMD + fi + ;; + "full screen (copy)") + GEOM=$(slurp -p -o) + [ -n "$GEOM" ] && grim -g "$GEOM" - | $CLIP_CMD + ;; +esac diff --git a/bin/.local/bin/scripts/ww-tag.sh b/bin/.local/bin/scripts/ww-tag.sh new file mode 100755 index 0000000..305937d --- /dev/null +++ b/bin/.local/bin/scripts/ww-tag.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +WALLPAPER_DIR="$HOME/Pictures/wallpaper" + +if [[ ! -d "$WALLPAPER_DIR" ]]; then + echo "$WALLPAPER_DIR does not exist" + exit 1 +fi + +# Extract all unique tags from filenames +selected_tag=$(find "$WALLPAPER_DIR" -type f -print0 \ + | xargs -0 -n1 bash -c 'grep -oP "\[\K[^\]]+" <<< "$0" | tr "," "\n"' \ + | sed 's/^ *//;s/ *$//' \ + | sort -u \ + | fuzzel --dmenu -p "Select tag: ") +[ -z "$selected_tag" ] && exit 1 + +# Find wallpapers matching the tag, pick one via nsxiv thumbnail view +selected_wallpaper=$(find "$WALLPAPER_DIR" -type f -regex ".*\[[^]]*${selected_tag}[^]]*\].*" -print0 \ + | xargs -0 nsxiv -t -o) +[ -z "$selected_wallpaper" ] && exit 1 + +awww img "$selected_wallpaper" diff --git a/bin/.local/bin/scripts/ww.sh b/bin/.local/bin/scripts/ww.sh new file mode 100755 index 0000000..9f3bd76 --- /dev/null +++ b/bin/.local/bin/scripts/ww.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Exit on error +set -e + +# Path to the directory containing your wallpapers +WALLPAPER_DIRS="$HOME/Pictures/wallpaper +$HOME/Pictures/other-wallpaper" + +# Modern Wayland dmenu replacement +MENU_CMD="fuzzel --dmenu -p" + +# If image is passed as argument, skip selection +if [ -n "$1" ]; then + selected_wallpaper="$1" + + # Expand ~ and get absolute path + selected_wallpaper="$(realpath "$selected_wallpaper")" + + if [ ! -f "$selected_wallpaper" ]; then + echo "Error: File does not exist: $selected_wallpaper" + exit 1 + fi +else + # Use Wayland menu to select directory + WALLPAPER_DIR=$(printf "%s\n" "$WALLPAPER_DIRS" | $MENU_CMD "Select directory:") + + [ -z "$WALLPAPER_DIR" ] && exit 1 + + # nsxiv picker + selected_wallpaper=$(xwayland-launch nsxiv -t -r -o "$WALLPAPER_DIR") + + [ -z "$selected_wallpaper" ] && exit 1 +fi + +awww img "$selected_wallpaper" + +echo "Wallpaper set successfully via awww." diff --git a/bin/.local/bin/scripts/xwayland-launch b/bin/.local/bin/scripts/xwayland-launch new file mode 100755 index 0000000..d257f3c --- /dev/null +++ b/bin/.local/bin/scripts/xwayland-launch @@ -0,0 +1,36 @@ +#!/bin/sh + +# Exit early if no command was passed +if [ -z "$1" ]; then + echo "Usage: $0 <command> [arguments]" + exit 1 +fi + +# Ensure a DISPLAY environment variable is set if missing +if [ -z "$DISPLAY" ]; then + export DISPLAY=:0 + xrdb -merge ~/.Xresources + xrdb -merge ~/.Xresources.d/Xresources.vivendi +fi + +# Check if an X11 server is already responding on this display +if ! xset q >/dev/null 2>&1; then + echo "XWayland not running. Launching xwayland-satellite..." + # Start xwayland-satellite in the background + xwayland-satellite :0 & + SATELLITE_PID=$! + # Wait for the X11 server to actually become responsive + timeout=5 + while ! xset q >/dev/null 2>&1; do + sleep 0.1 + timeout=$((timeout - 1)) + if [ "$timeout" -le 0 ]; then + echo "Error: xwayland-satellite failed to start in time." + kill "$SATELLITE_PID" 2>/dev/null + exit 1 + fi + done +fi + +# Execute the application with all passed arguments +exec "$@" diff --git a/niri/.config/foot/foot.ini b/niri/.config/foot/foot.ini new file mode 100644 index 0000000..127e520 --- /dev/null +++ b/niri/.config/foot/foot.ini @@ -0,0 +1,15 @@ +[main] +dpi-aware=no +include=~/.config/foot/themes/vivendi.ini +font=Terminus:size=15 +initial-window-size-chars=80x25 +pad=20x20 + +[scrollback] +lines=10000 + +[url] +launch=xdg-open ${url} + +[csd] +preferred = server diff --git a/niri/.config/foot/themes/arbutus.ini b/niri/.config/foot/themes/arbutus.ini new file mode 100644 index 0000000..4c8a3d1 --- /dev/null +++ b/niri/.config/foot/themes/arbutus.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = ffead8 393330 +foreground = 393330 +background = ffead8 + +regular0 = 393330 +regular1 = aa184f +regular2 = 007000 +regular3 = 906200 +regular4 = 5f55df +regular5 = a23ea4 +regular6 = 3f69af +regular7 = ffead8 + +bright0 = c7b2ab +bright1 = b20f00 +bright2 = 557000 +bright3 = b44405 +bright4 = 265fbf +bright5 = 6448ca +bright6 = 0f7688 +bright7 = ffead8 diff --git a/niri/.config/foot/themes/autumn.ini b/niri/.config/foot/themes/autumn.ini new file mode 100644 index 0000000..0b50df1 --- /dev/null +++ b/niri/.config/foot/themes/autumn.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 0f0e06 cfbcba +foreground = cfbcba +background = 0f0e06 + +regular0 = 0f0e06 +regular1 = ff7a7f +regular2 = 2fa526 +regular3 = c48702 +regular4 = 6a88ff +regular5 = d570af +regular6 = 4fb0cf +regular7 = cfbcba + +bright0 = 36322f +bright1 = f06a3f +bright2 = 64aa0f +bright3 = d0730f +bright4 = 029fff +bright5 = af8aff +bright6 = 6fafff +bright7 = cfbcba diff --git a/niri/.config/foot/themes/bio.ini b/niri/.config/foot/themes/bio.ini new file mode 100644 index 0000000..2befbc3 --- /dev/null +++ b/niri/.config/foot/themes/bio.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 111111 cfdfd5 +foreground = cfdfd5 +background = 111111 + +regular0 = 111111 +regular1 = ef6560 +regular2 = 3fb83f +regular3 = d4aa02 +regular4 = 37aff6 +regular5 = d38faf +regular6 = 6fc5ef +regular7 = cfdfd5 + +bright0 = 2a3644 +bright1 = f47360 +bright2 = 7fc500 +bright3 = e09a0f +bright4 = 78afff +bright5 = af9fff +bright6 = 5dc0aa +bright7 = cfdfd5 diff --git a/niri/.config/foot/themes/cherie.ini b/niri/.config/foot/themes/cherie.ini new file mode 100644 index 0000000..e5ed11a --- /dev/null +++ b/niri/.config/foot/themes/cherie.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 190a0f d3cfcf +foreground = d3cfcf +background = 190a0f + +regular0 = 190a0f +regular1 = ff7359 +regular2 = 60b444 +regular3 = e5b76f +regular4 = 8fa5f6 +regular5 = ef80bf +regular6 = 8fbaef +regular7 = d3cfcf + +bright0 = 1a202b +bright1 = ff7359 +bright2 = 60b444 +bright3 = e5b76f +bright4 = 8fa5f6 +bright5 = ef80bf +bright6 = 8fbaef +bright7 = d3cfcf diff --git a/niri/.config/foot/themes/cyprus.ini b/niri/.config/foot/themes/cyprus.ini new file mode 100644 index 0000000..b867922 --- /dev/null +++ b/niri/.config/foot/themes/cyprus.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = fcf7ef 007f00 +foreground = 242521 +background = fcf7ef + +regular0 = 242521 +regular1 = 9f0d0f +regular2 = 006f00 +regular3 = a7601f +regular4 = 444fcf +regular5 = 9a456f +regular6 = 3f6faf +regular7 = fcf7ef + +bright0 = c5c3b8 +bright1 = dd0020 +bright2 = 557400 +bright3 = bf4400 +bright4 = 065fbf +bright5 = 8448aa +bright6 = 007a9f +bright7 = fcf7ef diff --git a/niri/.config/foot/themes/dark.ini b/niri/.config/foot/themes/dark.ini new file mode 100644 index 0000000..d702f28 --- /dev/null +++ b/niri/.config/foot/themes/dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 000000 ccaaee +foreground = ffffff +background = 000000 + +regular0 = 332d38 +regular1 = eca28f +regular2 = b9d0aa +regular3 = 000000 +regular4 = 9fbfe7 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = a2a0b2 +bright1 = eca28f +bright2 = b9d0aa +bright3 = c0b080 +bright4 = 9fbfe7 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = ffffff diff --git a/niri/.config/foot/themes/day.ini b/niri/.config/foot/themes/day.ini new file mode 100644 index 0000000..ae9cea6 --- /dev/null +++ b/niri/.config/foot/themes/day.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = fff5ea 584141 +foreground = 584141 +background = fff5ea + +regular0 = 584141 +regular1 = ba2d2f +regular2 = 007a0a +regular3 = a45a22 +regular4 = 375cc6 +regular5 = ca3e54 +regular6 = 3f60af +regular7 = fff5ea + +bright0 = c9c0b8 +bright1 = ce3f00 +bright2 = 5a7400 +bright3 = aa4f30 +bright4 = 5f5fdf +bright5 = 8448aa +bright6 = 0f7b8f +bright7 = fff5ea diff --git a/niri/.config/foot/themes/deuteranopia-dark.ini b/niri/.config/foot/themes/deuteranopia-dark.ini new file mode 100644 index 0000000..cd317f4 --- /dev/null +++ b/niri/.config/foot/themes/deuteranopia-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 000a1f ffff00 +foreground = ddddee +background = 000a1f + +regular0 = 000a1f +regular1 = cf7a7a +regular2 = 3faa26 +regular3 = aa9f32 +regular4 = 6a9fff +regular5 = b379bf +regular6 = 5faaef +regular7 = 7f8797 + +bright0 = 243145 +bright1 = e47360 +bright2 = 7aad0f +bright3 = cfaf00 +bright4 = 009fff +bright5 = 9f95ff +bright6 = 0db0ff +bright7 = ddddee diff --git a/niri/.config/foot/themes/dream.ini b/niri/.config/foot/themes/dream.ini new file mode 100644 index 0000000..e0a92f7 --- /dev/null +++ b/niri/.config/foot/themes/dream.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 232025 efd5c5 +foreground = efd5c5 +background = 232025 + +regular0 = 232025 +regular1 = ff6f6f +regular2 = 51b04f +regular3 = c0b24f +regular4 = 57b0ff +regular5 = ffaacf +regular6 = 6fb3c0 +regular7 = efd5c5 + +bright0 = 3b393e +bright1 = ff6f6f +bright2 = 51b04f +bright3 = c0b24f +bright4 = 57b0ff +bright5 = ffaacf +bright6 = 6fb3c0 +bright7 = efd5c5 diff --git a/niri/.config/foot/themes/duo-dark.ini b/niri/.config/foot/themes/duo-dark.ini new file mode 100644 index 0000000..ca98a6a --- /dev/null +++ b/niri/.config/foot/themes/duo-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 070019 ef6f11 +foreground = d0d0d0 +background = 070019 + +regular0 = 070019 +regular1 = ef6560 +regular2 = 3fb83f +regular3 = d4aa02 +regular4 = 37aff6 +regular5 = d38faf +regular6 = 6fc5ef +regular7 = d0d0d0 + +bright0 = 2a2739 +bright1 = f47360 +bright2 = 7fc500 +bright3 = e09a0f +bright4 = 78afff +bright5 = af9fff +bright6 = 5dc0aa +bright7 = d0d0d0 diff --git a/niri/.config/foot/themes/duo-light.ini b/niri/.config/foot/themes/duo-light.ini new file mode 100644 index 0000000..f8a0266 --- /dev/null +++ b/niri/.config/foot/themes/duo-light.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = fff8f0 1144ff +foreground = 222222 +background = fff8f0 + +regular0 = 222222 +regular1 = c04440 +regular2 = 217a3c +regular3 = 8a5d00 +regular4 = 4250ef +regular5 = ba35af +regular6 = 3f70a0 +regular7 = f6ece8 + +bright0 = c7c0ba +bright1 = dd1100 +bright2 = 008058 +bright3 = 9f4a00 +bright4 = 065fff +bright5 = 6052cf +bright6 = 1f77bb +bright7 = f6ece8 diff --git a/niri/.config/foot/themes/eagle.ini b/niri/.config/foot/themes/eagle.ini new file mode 100644 index 0000000..0d3caf3 --- /dev/null +++ b/niri/.config/foot/themes/eagle.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = f1ecd0 774400 +foreground = 231a1f +background = f1ecd0 + +regular0 = 231a1f +regular1 = 8f0038 +regular2 = 226022 +regular3 = 6b4500 +regular4 = 3a3da0 +regular5 = 822478 +regular6 = 2f5f9f +regular7 = f1ecd0 + +bright0 = 685f53 +bright1 = 9a0000 +bright2 = 3a7800 +bright3 = 775228 +bright4 = 000080 +bright5 = 50119f +bright6 = 1077ab +bright7 = f1ecd0 diff --git a/niri/.config/foot/themes/earth.ini b/niri/.config/foot/themes/earth.ini new file mode 100644 index 0000000..a8cb0ba --- /dev/null +++ b/niri/.config/foot/themes/earth.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = f0eddf 770000 +foreground = 30232e +background = f0eddf + +regular0 = 504033 +regular1 = a03000 +regular2 = 206700 +regular3 = 705200 +regular4 = 103060 +regular5 = 690f44 +regular6 = 105f66 +regular7 = 000000 + +bright0 = d1ceb6 +bright1 = a03000 +bright2 = 206700 +bright3 = 705200 +bright4 = 103060 +bright5 = 690f44 +bright6 = 105f66 +bright7 = 30232e same as foreground diff --git a/niri/.config/foot/themes/elea-dark.ini b/niri/.config/foot/themes/elea-dark.ini new file mode 100644 index 0000000..22e7269 --- /dev/null +++ b/niri/.config/foot/themes/elea-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #222524 #eaf2ef +foreground = #eaf2ef +background = #222524 + +regular0 = #222524 +regular1 = #ff656a +regular2 = #7fc87f +regular3 = #cac85f +regular4 = #57aff6 +regular5 = #f59acf +regular6 = #7fcfdf +regular7 = #eaf2ef + +bright0 = #969faf +bright1 = #ff7a5f +bright2 = #50cf89 +bright3 = #e0b02f +bright4 = #78afff +bright5 = #cfaaff +bright6 = #60d5c2 +bright7 = #eaf2ef diff --git a/niri/.config/foot/themes/elea-light.ini b/niri/.config/foot/themes/elea-light.ini new file mode 100644 index 0000000..e839745 --- /dev/null +++ b/niri/.config/foot/themes/elea-light.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #edf5e2 #221321 +foreground = #221321 +background = #edf5e2 + +regular0 = #221321 +regular1 = #c3303a +regular2 = #00601f +regular3 = #9a501f +regular4 = #375cc6 +regular5 = #80308f +regular6 = #1f70af +regular7 = #edf5e2 + +bright0 = #676470 +bright1 = #c3303a +bright2 = #00601f +bright3 = #9a501f +bright4 = #375cc6 +bright5 = #80308f +bright6 = #1f70af +bright7 = #edf5e2 diff --git a/niri/.config/foot/themes/fire.ini b/niri/.config/foot/themes/fire.ini new file mode 100644 index 0000000..f64820e --- /dev/null +++ b/niri/.config/foot/themes/fire.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 282420 ef7839 +foreground = f5ceb0 +background = 282420 + +regular0 = 40332b +regular1 = eca27f +regular2 = b9d08a +regular3 = c5ba80 +regular4 = 9fbfe7 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = afa497 +bright1 = eca27f +bright2 = b9d08a +bright3 = c5ba80 +bright4 = 9fbfe7 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = f5ceb0 same as foreground diff --git a/niri/.config/foot/themes/frost.ini b/niri/.config/foot/themes/frost.ini new file mode 100644 index 0000000..c2a858a --- /dev/null +++ b/niri/.config/foot/themes/frost.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = fcffff 0055bb +foreground = 232323 +background = fcffff + +regular0 = 232323 +regular1 = c42d2f +regular2 = 008a00 +regular3 = aa6100 +regular4 = 4244ef +regular5 = aa44c5 +regular6 = 3a6dd2 +regular7 = eaefef + +bright0 = b5b8b8 +bright1 = cf2f4f +bright2 = 00845f +bright3 = 996c4f +bright4 = 065fff +bright5 = 7f5ae0 +bright6 = 1f6fbf +bright7 = fcffff diff --git a/niri/.config/foot/themes/gruvbox.ini b/niri/.config/foot/themes/gruvbox.ini new file mode 100644 index 0000000..319ec4c --- /dev/null +++ b/niri/.config/foot/themes/gruvbox.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 1d2021 eeddbb +foreground = ebdbb2 +background = ffffff + +regular0 = #505050 +regular1 = #cc241d +regular2 = #98971a +regular3 = #d79921 +regular4 = #458588 +regular5 = #b16286 +regular6 = #689d6a +regular7 = #928374 + +bright0 = #a89984 +bright1 = #fb4934 +bright2 = #b8bb26 +bright3 = #fabd2f +bright4 = #83a598 +bright5 = #d3869b +bright6 = #8ec07c +bright7 = #ebdbb2 same as foreground diff --git a/niri/.config/foot/themes/kassio.ini b/niri/.config/foot/themes/kassio.ini new file mode 100644 index 0000000..733c200 --- /dev/null +++ b/niri/.config/foot/themes/kassio.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = fff7f7 201f36 +foreground = 201f36 +background = fff7f7 + +regular0 = 201f36 +regular1 = b00234 +regular2 = 217a3c +regular3 = 9a6012 +regular4 = 3c3bbe +regular5 = a01f64 +regular6 = 2f5f9f +regular7 = fff7f7 + +bright0 = 776f79 +bright1 = e00033 +bright2 = 4a7d00 +bright3 = a04646 +bright4 = 4250ef +bright5 = 7022bf +bright6 = 1077ab +bright7 = fff7f7 diff --git a/niri/.config/foot/themes/maris-dark.ini b/niri/.config/foot/themes/maris-dark.ini new file mode 100644 index 0000000..2735d8b --- /dev/null +++ b/niri/.config/foot/themes/maris-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #131c2b #eaedef +foreground = #eaedef +background = #131c2b + +regular0 = #131c2b +regular1 = #ff6f6f +regular2 = #31bf4f +regular3 = #d0d24f +regular4 = #57b0ff +regular5 = #f59acf +regular6 = #2fd0db +regular7 = #eaedef + +bright0 = #2a3644 +bright1 = #ff6f6f +bright2 = #31bf4f +bright3 = #d0d24f +bright4 = #57b0ff +bright5 = #f59acf +bright6 = #2fd0db +bright7 = #eaedef diff --git a/niri/.config/foot/themes/maris-light.ini b/niri/.config/foot/themes/maris-light.ini new file mode 100644 index 0000000..cdbb537 --- /dev/null +++ b/niri/.config/foot/themes/maris-light.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #edf4f8 #151a27 +foreground = #151a27 +background = #edf4f8 + +regular0 = #131c2b +regular1 = #c3303a +regular2 = #007010 +regular3 = #805a1f +regular4 = #375cc6 +regular5 = #80308f +regular6 = #1f66af +regular7 = #edf4f8 + +bright0 = #afb8c3 +bright1 = #c3303a +bright2 = #007010 +bright3 = #805a1f +bright4 = #375cc6 +bright5 = #80308f +bright6 = #1f66af +bright7 = #edf4f8 diff --git a/niri/.config/foot/themes/melissa-dark.ini b/niri/.config/foot/themes/melissa-dark.ini new file mode 100644 index 0000000..af5629c --- /dev/null +++ b/niri/.config/foot/themes/melissa-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #352718 #e8e4b1 +foreground = #e8e4b1 +background = #352718 + +regular0 = #352718 +regular1 = #ff7f7f +regular2 = #6fd560 +regular3 = #ffa21f +regular4 = #57aff6 +regular5 = #f0aac5 +regular6 = #6fcad0 +regular7 = #e8e4b1 + +bright0 = #90918a +bright1 = #ff7f7f +bright2 = #6fd560 +bright3 = #ffa21f +bright4 = #57aff6 +bright5 = #f0aac5 +bright6 = #6fcad0 +bright7 = #e8e4b1 diff --git a/niri/.config/foot/themes/melissa-light.ini b/niri/.config/foot/themes/melissa-light.ini new file mode 100644 index 0000000..ad3fee6 --- /dev/null +++ b/niri/.config/foot/themes/melissa-light.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #fff6d8 #484431 +foreground = #484431 +background = #fff6d8 + +regular0 = #484431 +regular1 = #ba2d2f +regular2 = #007a0a +regular3 = #a26310 +regular4 = #375cc6 +regular5 = #aa3e74 +regular6 = #3f60af +regular7 = #fff6d8 + +bright0 = #c7b7a6 +bright1 = #ba2d2f +bright2 = #007a0a +bright3 = #a26310 +bright4 = #375cc6 +bright5 = #aa3e74 +bright6 = #3f60af +bright7 = #fff6d8 diff --git a/niri/.config/foot/themes/mermaid.ini b/niri/.config/foot/themes/mermaid.ini new file mode 100644 index 0000000..81e16e2 --- /dev/null +++ b/niri/.config/foot/themes/mermaid.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 2a2f48 e08ca0 +foreground = dde0f8 +background = 2a2f48 + +regular0 = 3c3e55 +regular1 = eca28f +regular2 = a0d0ba +regular3 = c0b080 +regular4 = 9fbfe7 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = aea7c3 +bright1 = eca28f +bright2 = a0d0ba +bright3 = c0b080 +bright4 = 9fbfe7 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = dde0f8 same as foreground diff --git a/niri/.config/foot/themes/night.ini b/niri/.config/foot/themes/night.ini new file mode 100644 index 0000000..71c8886 --- /dev/null +++ b/niri/.config/foot/themes/night.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 000e17 afbcbf +foreground = afbcbf +background = 000e17 + +regular0 = 000e17 +regular1 = ef656a +regular2 = 1fa526 +regular3 = c48502 +regular4 = 379cf6 +regular5 = d570af +regular6 = 4fb0cf +regular7 = afbcbf + +bright0 = 1a202b +bright1 = f47360 +bright2 = 50a22f +bright3 = e6832f +bright4 = 6a88ff +bright5 = af8aff +bright6 = 3dc0b0 +bright7 = afbcbf diff --git a/niri/.config/foot/themes/oak.ini b/niri/.config/foot/themes/oak.ini new file mode 100644 index 0000000..33a6235 --- /dev/null +++ b/niri/.config/foot/themes/oak.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = e0d8c7 497020 +foreground = 3a2018 +background = e0d8c7 + +regular0 = 000000 +regular1 = 982500 +regular2 = 226700 +regular3 = 595000 +regular4 = 103077 +regular5 = 700054 +regular6 = 005460 +regular7 = 000000 + +bright0 = e0d8c7 same as background +bright1 = 982500 +bright2 = 226700 +bright3 = 595000 +bright4 = 103077 +bright5 = 700054 +bright6 = 005460 +bright7 = 3a2018 same as foreground diff --git a/niri/.config/foot/themes/obsidian.ini b/niri/.config/foot/themes/obsidian.ini new file mode 100644 index 0000000..67f953e --- /dev/null +++ b/niri/.config/foot/themes/obsidian.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 181818 e7e7e7 +foreground = e7e7e7 +background = 181818 + +regular0 = 505050 +regular1 = eca28f +regular2 = b9d0aa +regular3 = c0b080 +regular4 = 9fbfe7 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = b0b0b0 +bright1 = eca28f +bright2 = b9d0aa +bright3 = c0b080 +bright4 = 9fbfe7 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = e7e7e7 diff --git a/niri/.config/foot/themes/operandi-tinted.ini b/niri/.config/foot/themes/operandi-tinted.ini new file mode 100644 index 0000000..4df252a --- /dev/null +++ b/niri/.config/foot/themes/operandi-tinted.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #fbf7f0 #d00000 +foreground = #000000 +background = #fbf7f0 + +regular0 = #000000 +regular1 = #a60000 +regular2 = #006800 +regular3 = #6f5500 +regular4 = #0031a9 +regular5 = #721045 +regular6 = #005e8b +regular7 = #fbf7f0 + +bright0 = #595959 +bright1 = #972500 +bright2 = #00663f +bright3 = #884900 +bright4 = #3548cf +bright5 = #531ab6 +bright6 = #005f5f +bright7 = #fbf7f0 diff --git a/niri/.config/foot/themes/operandi.ini b/niri/.config/foot/themes/operandi.ini new file mode 100644 index 0000000..f71feaf --- /dev/null +++ b/niri/.config/foot/themes/operandi.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = ffffff 000000 +foreground = 000000 +background = ffffff + +regular0 = 000000 +regular1 = a60000 +regular2 = 006800 +regular3 = 6f5500 +regular4 = 0031a9 +regular5 = 721045 +regular6 = 005e8b +regular7 = ffffff + +bright0 = 5c6370 +bright1 = 972500 +bright2 = 00663f +bright3 = 884900 +bright4 = 3548cf +bright5 = 531ab6 +bright6 = 005f5f +bright7 = ffffff diff --git a/niri/.config/foot/themes/orange.ini b/niri/.config/foot/themes/orange.ini new file mode 100644 index 0000000..5282629 --- /dev/null +++ b/niri/.config/foot/themes/orange.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = ffedc9 cf5f00 +foreground = 6c4631 +background = ffedc9 + +regular0 = 6c4631 +regular1 = ba2d2f +regular2 = 007a0a +regular3 = a05a22 +regular4 = 375cc6 +regular5 = ba3e54 +regular6 = 467080 +regular7 = cfbe9b + +bright0 = 6f6a70 +bright1 = c13f00 +bright2 = 5f7200 +bright3 = b05115 +bright4 = 5f50df +bright5 = c32f80 +bright6 = 3f6fa2 +bright7 = efdbac diff --git a/niri/.config/foot/themes/owl.ini b/niri/.config/foot/themes/owl.ini new file mode 100644 index 0000000..8142d01 --- /dev/null +++ b/niri/.config/foot/themes/owl.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 292c2f d0d0d0 +foreground = d0d0d0 +background = 292c2f + +regular0 = 292c2f +regular1 = d67869 +regular2 = 70bb70 +regular3 = c09f6f +regular4 = 80a4e0 +regular5 = e5a0ea +regular6 = 99bfd0 +regular7 = d0d0d0 + +bright0 = 40474b +bright1 = df885f +bright2 = 98c06f +bright3 = cf9f90 +bright4 = 72aff0 +bright5 = cfa0e8 +bright6 = 7ac0b9 +bright7 = d0d0d0 diff --git a/niri/.config/foot/themes/reverie.ini b/niri/.config/foot/themes/reverie.ini new file mode 100644 index 0000000..8a5a8e7 --- /dev/null +++ b/niri/.config/foot/themes/reverie.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = f3eddf 4f204f +foreground = 4f204f +background = f3eddf + +regular0 = 4f204f +regular1 = ba2d2f +regular2 = 5a7400 +regular3 = 87591f +regular4 = 5059c0 +regular5 = 9f4e74 +regular6 = 3060af +regular7 = efd5c5 + +bright0 = 6f6877 +bright1 = b21f00 +bright2 = 008250 +bright3 = a05900 +bright4 = 265fbf +bright5 = 7755b4 +bright6 = 0b6e8a +bright7 = efd5c5 diff --git a/niri/.config/foot/themes/rosa.ini b/niri/.config/foot/themes/rosa.ini new file mode 100644 index 0000000..4392519 --- /dev/null +++ b/niri/.config/foot/themes/rosa.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 322023 ef607a +foreground = e4d3e1 +background = 322023 + +regular0 = 322023 +regular1 = ff707f +regular2 = 5fbb5f +regular3 = e4c53f +regular4 = 57aff6 +regular5 = ffb2d6 +regular6 = 5fc0dc +regular7 = e4d3e1 + +bright0 = 6a5862 +bright1 = ff7f5f +bright2 = 8ad05a +bright3 = f2a85f +bright4 = 78b2ff +bright5 = cfb1ff +bright6 = 80dfbf +bright7 = e4d3e1 diff --git a/niri/.config/foot/themes/spring.ini b/niri/.config/foot/themes/spring.ini new file mode 100644 index 0000000..e22d5d4 --- /dev/null +++ b/niri/.config/foot/themes/spring.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = f6fff9 bf005f +foreground = 34494a +background = f6fff9 + +regular0 = 34494a +regular1 = c42d2f +regular2 = 1a870f +regular3 = b6540f +regular4 = 5f5fdf +regular5 = d5206f +regular6 = 1f6fbf +regular7 = f6fff9 + +bright0 = 595959 +bright1 = cf2f4f +bright2 = 007f68 +bright3 = a45f22 +bright4 = 265fbf +bright5 = 9435b4 +bright6 = 0f7b8f +bright7 = f6fff9 diff --git a/niri/.config/foot/themes/symbiosis.ini b/niri/.config/foot/themes/symbiosis.ini new file mode 100644 index 0000000..4d6eb30 --- /dev/null +++ b/niri/.config/foot/themes/symbiosis.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 130911 d0d0d0 +foreground = d0d0d0 +background = 130911 + +regular0 = 130911 +regular1 = fe5a7a +regular2 = 0faa26 +regular3 = bf9032 +regular4 = 6a9fff +regular5 = d369af +regular6 = 4fbaef +regular7 = d0d0d0 + +bright0 = 4b3f47 +bright1 = ff7355 +bright2 = 6aad0f +bright3 = df8a5a +bright4 = 029fff +bright5 = af85ff +bright6 = 1dbfcf +bright7 = d0d0d0 diff --git a/niri/.config/foot/themes/tao-yang.ini b/niri/.config/foot/themes/tao-yang.ini new file mode 100644 index 0000000..6aba884 --- /dev/null +++ b/niri/.config/foot/themes/tao-yang.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #171717 #fcfcfc +foreground = #fcfcfc +background = #171717 + +regular0 = #000000 +regular1 = #a5372e +regular2 = #4a663c +regular3 = #7c5618 +regular4 = #566060 +regular5 = #8e4948 +regular6 = #6d5b42 +regular7 = #8d8d8d + +bright0 = #2b2b2b +bright1 = #e06c5c +bright2 = #7b996c +bright3 = #b38849 +bright4 = #889393 +bright5 = #c67c78 +bright6 = #a28d73 +bright7 = #c6c6c6 diff --git a/niri/.config/foot/themes/trio-dark.ini b/niri/.config/foot/themes/trio-dark.ini new file mode 100644 index 0000000..80af867 --- /dev/null +++ b/niri/.config/foot/themes/trio-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #160f0f #ff99ff +foreground = #d8cfd5 +background = #160f0f + +regular0 = #160f0f +regular1 = #ff85aa +regular2 = #60b444 +regular3 = #d4a052 +regular4 = #8895ff +regular5 = #d37faf +regular6 = #8fbaff +regular7 = #d8cfd5 + +bright0 = #564f55 +bright1 = #ff7560 +bright2 = #a0c27f +bright3 = #ef926f +bright4 = #72afff +bright5 = #a698ef +bright6 = #8fcfdf +bright7 = #d8cfd5 diff --git a/niri/.config/foot/themes/tritanopia-dark.ini b/niri/.config/foot/themes/tritanopia-dark.ini new file mode 100644 index 0000000..4889ab2 --- /dev/null +++ b/niri/.config/foot/themes/tritanopia-dark.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #15050f #fd3333 +foreground = #dfd0d5 +background = #15050f + +regular0 = #15050f +regular1 = #d24f7f +regular2 = #2fa526 +regular3 = #c48702 +regular4 = #6a88ff +regular5 = #b0648f +regular6 = #3fafcf +regular7 = #908890 + +bright0 = #352f2f +bright1 = #df4f4f +bright2 = #64aa0f +bright3 = #d0730f +bright4 = #029fff +bright5 = #a6699f +bright6 = #4fafaf +bright7 = #dfd0d5 diff --git a/niri/.config/foot/themes/vivendi-tinted.ini b/niri/.config/foot/themes/vivendi-tinted.ini new file mode 100644 index 0000000..e393524 --- /dev/null +++ b/niri/.config/foot/themes/vivendi-tinted.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #0d0e1c #ff66ff +foreground = #ffffff +background = #0d0e1c + +regular0 = #0d0e1c +regular1 = #ff5f59 +regular2 = #44bc44 +regular3 = #d0bc00 +regular4 = #2fafff +regular5 = #feacd0 +regular6 = #00d3d0 +regular7 = #fff7f7 + +bright0 = #4a4f69 +bright1 = #ff6b55 +bright2 = #00c06f +bright3 = #fec43f +bright4 = #79a8ff +bright5 = #b6a0ff +bright6 = #6ae4b9 +bright7 = #fff7f7 diff --git a/niri/.config/foot/themes/vivendi-tritanopia.ini b/niri/.config/foot/themes/vivendi-tritanopia.ini new file mode 100644 index 0000000..37ad774 --- /dev/null +++ b/niri/.config/foot/themes/vivendi-tritanopia.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = #000000 #ff5f5f +foreground = #ffffff +background = #000000 + +regular0 = #000000 +regular1 = #ff5f59 +regular2 = #44bc44 +regular3 = #cabf00 +regular4 = #2fafff +regular5 = #feacd0 +regular6 = #00d3d0 +regular7 = #ffffff + +bright0 = #535353 +bright1 = #ff6b55 +bright2 = #00c06f +bright3 = #ffa00f +bright4 = #79a8ff +bright5 = #b6a0ff +bright6 = #6ae4b9 +bright7 = #ffffff diff --git a/niri/.config/foot/themes/vivendi.ini b/niri/.config/foot/themes/vivendi.ini new file mode 100644 index 0000000..084bad3 --- /dev/null +++ b/niri/.config/foot/themes/vivendi.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 000000 ffffff +foreground = ffffff +background = 000000 + +regular0 = 000000 +regular1 = ff5f59 +regular2 = 44bc44 +regular3 = d0bc00 +regular4 = 2fafff +regular5 = feacd0 +regular6 = 00d3d0 +regular7 = ffffff + +bright0 = 595959 +bright1 = ff6b55 +bright2 = 00c06f +bright3 = fec43f +bright4 = 79a8ff +bright5 = b6a0ff +bright6 = 6ae4b9 +bright7 = ffffff diff --git a/niri/.config/foot/themes/walnut.ini b/niri/.config/foot/themes/walnut.ini new file mode 100644 index 0000000..a7ce93f --- /dev/null +++ b/niri/.config/foot/themes/walnut.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 153227 d3b18e +foreground = b9d3b0 +background = 153227 + +regular0 = 303931 +regular1 = e8a27f +regular2 = 82cc7f +regular3 = c4b980 +regular4 = 8fbae5 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = 9ba3a2 +bright1 = e8a27f +bright2 = 82cc7f +bright3 = c4b980 +bright4 = 8fbae5 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = b9d3b0 same as foreground diff --git a/niri/.config/foot/themes/water.ini b/niri/.config/foot/themes/water.ini new file mode 100644 index 0000000..80960b5 --- /dev/null +++ b/niri/.config/foot/themes/water.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 2a283d 99ddee +foreground = edf0f8 +background = 2a283d + +regular0 = 3a3c4c +regular1 = eca28f +regular2 = a0d0ba +regular3 = c0b080 +regular4 = 9fbfe7 +regular5 = e9acbf +regular6 = a0c0d0 +regular7 = 000000 + +bright0 = aea6b8 +bright1 = eca28f +bright2 = a0d0ba +bright3 = c0b080 +bright4 = 9fbfe7 +bright5 = e9acbf +bright6 = a0c0d0 +bright7 = edf0f8 same as foreground diff --git a/niri/.config/foot/themes/wind.ini b/niri/.config/foot/themes/wind.ini new file mode 100644 index 0000000..dc02091 --- /dev/null +++ b/niri/.config/foot/themes/wind.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = e8f0e9 10600b +foreground = 000f0f +background = e8f0e9 + +regular0 = 000000 +regular1 = 990020 +regular2 = 006710 +regular3 = 706000 +regular4 = 003370 +regular5 = 782050 +regular6 = 006070 +regular7 = 000000 + +bright0 = e8f0e9 same as background +bright1 = 990020 +bright2 = 006710 +bright3 = 706000 +bright4 = 003370 +bright5 = 782050 +bright6 = 006070 +bright7 = 000f0f same as foreground diff --git a/niri/.config/foot/themes/winter.ini b/niri/.config/foot/themes/winter.ini new file mode 100644 index 0000000..1ac7838 --- /dev/null +++ b/niri/.config/foot/themes/winter.ini @@ -0,0 +1,23 @@ +[colors] +alpha=0.95 +cursor = 0f0b15 b8c6d5 +foreground = b8c6d5 +background = 0f0b15 + +regular0 = 0f0b15 +regular1 = ff6a7a +regular2 = 29a444 +regular3 = b58a52 +regular4 = 6a9fff +regular5 = d369af +regular6 = 4fbaef +regular7 = b8c6d5 + +bright0 = 2a2f42 +bright1 = ef6560 +bright2 = 6aad0f +bright3 = d1803f +bright4 = 029fff +bright5 = af85ea +bright6 = 35afbf +bright7 = b8c6d5 diff --git a/niri/.config/fuzzel/fuzzel.ini b/niri/.config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..27e4377 --- /dev/null +++ b/niri/.config/fuzzel/fuzzel.ini @@ -0,0 +1,41 @@ +horizontal-pad=20 +inner-pad=20 +dpi-aware=no +width=40 +lines=20 +y-margin=50 +placeholder=Search here... + +font=Terminus:size=16 +# prompt=" " +prompt="M-x " +terminal=foot +layer=overlay +icons-enabled=no + +[colors] +# background=181818ff +# input=e7e7e7ff +# text=e7e7e7ff +# match=b0b0b0ff +# selection=505050ff +# selection-text=b0b0b0ff +# selection-match=b0b0b0ff +# border=505050ff +# placeholder=505050ff +# prompt=e7e7e7ff + +background=000000ff +input=ffffffff +text=ffffffff +match=ffffffff +selection=2f447fff +selection-text=ffffffff +selection-match=ffffffff +border=505050ff +placeholder=989898ff +prompt=6ae4b9ff + +[border] +width=2 +radius=0
\ No newline at end of file diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl new file mode 100644 index 0000000..e8907b1 --- /dev/null +++ b/niri/.config/niri/config.kdl @@ -0,0 +1,503 @@ +input { + keyboard { + xkb { + // You can set rules, model, layout, variant and options. + // For more information, see xkeyboard-config(7). + + // For example: + // layout "us,ru" + // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + options "ctrl:nocaps" + + // If this section is empty, niri will fetch xkb settings + // from org.freedesktop.locale1. You can control these using + // localectl set-x11-keymap. + } + + // Enable numlock on startup, omitting this setting disables it. + numlock + } + + // Next sections include libinput settings. + // Omitting settings disables them, or leaves them at their default values. + // All commented-out settings here are examples, not defaults. + touchpad { + // off + tap + // dwt + // dwtp + // drag false + // drag-lock + natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "two-finger" + // disabled-on-external-mouse + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + accel-profile "flat" + // scroll-method "no-scroll" + } + + trackpoint { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "on-button-down" + // scroll-button 273 + // scroll-button-lock + // middle-emulation + } + + // Uncomment this to make the mouse warp to the center of newly focused windows. + warp-mouse-to-focus + + // Focus windows and outputs automatically when moving the mouse into them. + // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. + focus-follows-mouse max-scroll-amount="0%" +} + +cursor { + xcursor-theme "MacOS-Pixel-Dark" + xcursor-size 12 +} + +gestures { + hot-corners { + off + } +} + +output "DP-1" { + scale 1.0 +} + +output "HDMI-A-1" { + scale 1.0 +} + +layout { + gaps 10 + + center-focused-column "never" + + preset-column-widths { + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + } + + default-column-width { proportion 0.5; } + + focus-ring { + off + } + + border { + on + width 5 + active-color "#989898" + inactive-color "#000000" + urgent-color "#9b0000" + } + + // You can enable drop shadows for windows. + shadow { + // Uncomment the next line to enable shadows. + on + + // By default, the shadow draws only around its window, and not behind it. + // Uncomment this setting to make the shadow draw behind its window. + // + // Note that niri has no way of knowing about the CSD window corner + // radius. It has to assume that windows have square corners, leading to + // shadow artifacts inside the CSD rounded corners. This setting fixes + // those artifacts. + // + // However, instead you may want to set prefer-no-csd and/or + // geometry-corner-radius. Then, niri will know the corner radius and + // draw the shadow correctly, without having to draw it behind the + // window. These will also remove client-side shadows if the window + // draws any. + // + // draw-behind-window true + + // You can change how shadows look. The values below are in logical + // pixels and match the CSS box-shadow properties. + + // Softness controls the shadow blur radius. + softness 30 + + // Spread expands the shadow. + spread 5 + + // Offset moves the shadow relative to the window. + offset x=0 y=5 + + // You can also change the shadow color and opacity. + color "#0007" + } + + // Struts shrink the area occupied by windows, similarly to layer-shell panels. + // You can think of them as a kind of outer gaps. They are set in logical pixels. + // Left and right struts will cause the next window to the side to always be visible. + // Top and bottom struts will simply add outer gaps in addition to the area occupied by + // layer-shell panels and regular gaps. + struts { + // left 64 + // right 64 + // top 64 + // bottom 64 + } +} + +spawn-at-startup "xwayland-satellite" +spawn-at-startup "xrandr --dpi 96" +spawn-at-startup "xss-lock -- /usr/bin/slock" +spawn-at-startup "$HOME/.local/bin/scripts/startpage.sh" +spawn-at-startup "$HOME/.screenlayout/twomonitors.sh" +spawn-at-startup "picom --daemon" +spawn-at-startup "$HOME/.fehbg" +spawn-at-startup "xsetroot -cursor_name left_ptr" +spawn-at-startup "playerctld" +spawn-at-startup "foot -s" +spawn-at-startup "swww-daemon" +spawn-at-startup "dunst" +// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup: +// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell" + +hotkey-overlay { + // Uncomment this line to disable the "Important Hotkeys" pop-up at startup. + // skip-at-startup +} + +// Uncomment this line to ask the clients to omit their client-side decorations if possible. +// If the client will specifically ask for CSD, the request will be honored. +// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. +// This option will also fix border/focus ring drawing behind some semitransparent windows. +// After enabling or disabling this, you need to restart the apps for this to take effect. +prefer-no-csd + +// You can change the path where screenshots are saved. +// A ~ at the front will be expanded to the home directory. +// The path is formatted with strftime(3) to give you the screenshot date and time. +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +// You can also set this to null to disable saving screenshots to disk. +// screenshot-path null + +// Animation settings. +// The wiki explains how to configure individual animations: +// https://niri-wm.github.io/niri/Configuration:-Animations +animations { + // Uncomment to turn off all animations. + // off + + // Slow down all animations by this factor. Values below 1 speed them up instead. + slowdown 0.3 +} + +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://niri-wm.github.io/niri/Configuration:-Window-Rules + +// Work around WezTerm's initial configure bug +// by setting an empty default-column-width. +window-rule { + // This regular expression is intentionally made as specific as possible, + // since this is the default config, and we want no false positives. + // You can get away with just app-id="wezterm" if you want. + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} + +// Open the Firefox picture-in-picture player as floating by default. +window-rule { + // This app-id regular expression will work for both: + // - host Firefox (app-id is "firefox") + // - Flatpak Firefox (app-id is "org.mozilla.firefox") + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + open-floating true +} + +window-rule { + match app-id="spaudio" + open-floating true + // default-floating-position x=0 y=0 +} + +// Example: block out two password managers from screen capture. +// (This example rule is commented out with a "/-" in front.) +/-window-rule { + match app-id=r#"^org\.keepassxc\.KeePassXC$"# + match app-id=r#"^org\.gnome\.World\.Secrets$"# + + block-out-from "screen-capture" + + // Use this instead if you want them visible on third-party screenshot tools. + // block-out-from "screencast" +} + +// Example: enable rounded corners for all windows. +// (This example rule is commented out with a "/-" in front.) +window-rule { + geometry-corner-radius 0 + clip-to-geometry true +} + +window-rule { + background-effect { + blur false + } +} + +binds { + // Keys consist of modifiers separated by + signs, followed by an XKB key name + // in the end. To find an XKB name for a particular key, you may use a program + // like wev. + // + // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt + // when running as a winit window. + // + // Most actions that you can bind here can also be invoked programmatically with + // `niri msg action do-something`. + + // Mod-Shift-/, which is usually the same as Mod-?, + // shows a list of important hotkeys. + Mod+Shift+Slash { show-hotkey-overlay; } + + // Suggested binds for running programs: terminal, app launcher, screen locker. + Mod+Return hotkey-overlay-title="Open a Terminal: foot" { spawn "footclient"; } + Mod+E hotkey-overlay-title="Open a GNU Emacs frame" { spawn "emacs"; } + Mod+N hotkey-overlay-title="Open a Emacsclient frame" { spawn "emacsclient" "-c"; } + Mod+W hotkey-overlay-title="Open Zen browser" { spawn "zen"; } + Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } + Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } + Super+Shift+M hotkey-overlay-title="Select wallpaper" { spawn "ww.sh"; } + + // Terminal launching shortcuts + Super+P hotkey-overlay-title="Open alsamixer" { spawn "foot" "-e" "alsamixer"; } + // Super+Quote hotkey-overlay-title="Open bc calculator" { spawn "foot" "-e" "bc -lq"; } + + + // Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc. + // Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`. + // For example, this is a standard bind to toggle the screen reader (orca). + Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + // Using spawn-sh allows to pass multiple arguments together with the command. + // "-l 1.0" limits the volume to 100%. + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } + + // Example media keys mapping using playerctl. + // This will work with any MPRIS-enabled media player. + XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } + XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } + XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } + XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } + + Mod+Shift+P allow-when-locked=true { spawn-sh "playerctl play-pause"; } + Mod+Shift+BracketLeft allow-when-locked=true { spawn-sh "playerctl previous"; } + Mod+Shift+BracketRight allow-when-locked=true { spawn-sh "playerctl next"; } + + // Example brightness key mappings for brightnessctl. + // You can use regular spawn with multiple arguments too (to avoid going through "sh"), + // but you need to manually put each argument in separate "" quotes. + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } + + // Open/close the Overview: a zoomed-out view of workspaces and windows. + // You can also move the mouse into the top-left hot corner, + // or do a four-finger swipe up on a touchpad. + Mod+Space repeat=false { toggle-overview; } + + Mod+Q repeat=false { close-window; } + + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+H { focus-column-left; } + // Mod+J { focus-window-down; } + // Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + Mod+Ctrl+Left { move-column-left; } + Mod+Ctrl+Down { move-window-down; } + Mod+Ctrl+Up { move-window-up; } + Mod+Ctrl+Right { move-column-right; } + Mod+Ctrl+H { move-column-left; } + // Mod+Ctrl+J { move-window-down; } + // Mod+Ctrl+K { move-window-up; } + Mod+Ctrl+L { move-column-right; } + + // Alternative commands that move across workspaces when reaching + // the first or last window in a column. + Mod+J { focus-window-or-workspace-down; } + Mod+K { focus-window-or-workspace-up; } + Mod+Shift+J { move-window-down-or-to-workspace-down; } + Mod+Shift+K { move-window-up-or-to-workspace-up; } + + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + Mod+Shift+Left { focus-monitor-left; } + Mod+Shift+Down { focus-monitor-down; } + Mod+Shift+Up { focus-monitor-up; } + Mod+Shift+Right { focus-monitor-right; } + Mod+Shift+H { focus-monitor-left; } + // Mod+Shift+J { focus-monitor-down; } + // Mod+Shift+K { focus-monitor-up; } + Mod+Shift+L { focus-monitor-right; } + + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + Mod+Shift+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + Mod+WheelScrollDown { focus-column-right; } + Mod+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+1 { move-column-to-workspace 1; } + Mod+Ctrl+2 { move-column-to-workspace 2; } + Mod+Ctrl+3 { move-column-to-workspace 3; } + Mod+Ctrl+4 { move-column-to-workspace 4; } + Mod+Ctrl+5 { move-column-to-workspace 5; } + Mod+Ctrl+6 { move-column-to-workspace 6; } + Mod+Ctrl+7 { move-column-to-workspace 7; } + Mod+Ctrl+8 { move-column-to-workspace 8; } + Mod+Ctrl+9 { move-column-to-workspace 9; } + + // Alternatively, there are commands to move just a single window: + // Mod+Ctrl+1 { move-window-to-workspace 1; } + + // Switches focus between the current and the previous workspace. + // Mod+Tab { focus-workspace-previous; } + + // The following binds move the focused window in and out of a column. + // If the window is alone, they will consume it into the nearby column to the side. + // If the window is already in a column, they will expel it out. + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + + // Consume one window from the right to the bottom of the focused column. + Mod+Comma { consume-window-into-column; } + // Expel the bottom window from the focused column to the right. + Mod+Period { expel-window-from-column; } + + // Cycle through widths set in preset-column-widths. + Mod+R { switch-preset-column-width; } + // Cycling through the presets in reverse order is also possible. + Mod+Shift+R { switch-preset-column-width-back; } + + Mod+Ctrl+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + + // While maximize-column leaves gaps and borders around the window, + // maximize-window-to-edges doesn't: the window expands to the edges of the screen. + // This bind corresponds to normal window maximizing, + // e.g. by double-clicking on the titlebar. + Mod+M { maximize-window-to-edges; } + + // Expand the focused column to space not taken up by other fully visible columns. + // Makes the column "fill the rest of the space". + Mod+Ctrl+F { expand-column-to-available-width; } + + Mod+C { center-column; } + + // Center all fully visible columns on screen. + Mod+Ctrl+C { center-visible-columns; } + + // Finer width adjustments. + // This command can also: + // * set width in pixels: "1000" + // * adjust width in pixels: "-5" or "+5" + // * set width as a percentage of screen width: "25%" + // * adjust width as a percentage of screen width: "-10%" or "+10%" + // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, + // set-column-width "100" will make the column occupy 200 physical screen pixels. + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // Move the focused window between the floating and the tiling layout. + Mod+V { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + + // Toggle tabbed column display mode. + // Windows in this column will appear as vertical tabs, + // rather than stacked on top of each other. + // Mod+W { toggle-column-tabbed-display; } + + // Actions to switch layouts. + // Note: if you uncomment these, make sure you do NOT have + // a matching layout switch hotkey configured in xkb options above. + // Having both at once on the same hotkey will break the switching, + // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). + // Mod+Space { switch-layout "next"; } + // Mod+Shift+Space { switch-layout "prev"; } + + Shift+Print { spawn "grim \"$HOME/Pictures/screenshots/pic-full-$(date '+%y%m%d-%H%M-%S').png\""; } + Print { spawn "grimpick"; } + + // Applications such as remote-desktop clients and software KVM switches may + // request that niri stops processing the keyboard shortcuts defined here + // so they may, for example, forward the key presses as-is to a remote machine. + // It's a good idea to bind an escape hatch to toggle the inhibitor, + // so a buggy application can't hold your session hostage. + // + // The allow-inhibiting=false property can be applied to other binds as well, + // which ensures niri always processes them, even when an inhibitor is active. + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + + // The quit action will show a confirmation dialog to avoid accidental exits. + Mod+Shift+E { quit; } + Ctrl+Alt+Delete { quit; } + + // Powers off the monitors. To turn them back on, do any input like + // moving the mouse or pressing any other key. + Mod+Shift+X { power-off-monitors; } +}
\ No newline at end of file diff --git a/niri/.config/waybar/config.jsonc b/niri/.config/waybar/config.jsonc new file mode 100644 index 0000000..d43f13c --- /dev/null +++ b/niri/.config/waybar/config.jsonc @@ -0,0 +1,222 @@ +// -*- mode: jsonc -*- +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + "expand-left": true, + // Choose the order of the modules + "modules-left": [ + "niri/workspaces", + "niri/window" + ], + "modules-center": [ + ], + "modules-right": [ + "pulseaudio", + // "mpd", + // "idle_inhibitor", + // "network", + // "power-profiles-daemon", + // "cpu", + // "memory", + // "temperature", + // "backlight", + // "keyboard-state", + // "sway/language", + // "battery", + // "battery#bat2", + "clock", + "tray" + // "custom/power" + ], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "window": { + "format": "{}", + "expand": true + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "<span style=\"italic\">{}</span>" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": "<span color=\"#f53c3c\"></span> ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + "format-alt": "{:%R}", + "format": "{:%Y-%m-%d (%a) %R}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {text}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + } +} diff --git a/niri/.config/waybar/style.css b/niri/.config/waybar/style.css new file mode 100644 index 0000000..d8ac208 --- /dev/null +++ b/niri/.config/waybar/style.css @@ -0,0 +1,109 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Terminus; + font-size: 14px; +} + +window#waybar { + /* background-color: rgba(24, 24, 24, 0.95); */ + background-color: rgba(0, 0, 0, 0.95); + /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + color: #ffffff; + /* transition-property: background-color; */ + /* transition-duration: .5s; */ +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 0px; + /* background-color: transparent; */ + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; +} + +#window, +#workspaces { + /* margin: 0 4px; */ +} + +#workspaces button.active { + background-color: #505050; +} + +/* #window { */ +/* padding: 0 10px; */ +/* background-color: #505050; */ +/* } */ + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} |
