put files in folder
This commit is contained in:
-1
Submodule dot-config deleted from e3572e1f5e
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
icons=("" "" "" "")
|
||||||
|
state_file="/tmp/battery_anim_index"
|
||||||
|
|
||||||
|
# init
|
||||||
|
[ ! -f "$state_file" ] && echo 0 > "$state_file"
|
||||||
|
i=$(cat "$state_file")
|
||||||
|
|
||||||
|
capacity=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||||
|
status=$(cat /sys/class/power_supply/BAT0/status)
|
||||||
|
|
||||||
|
if [ "$capacity" -le 15 ]; then
|
||||||
|
echo "{\"text\": \" Connect charger $capacity%\", \"class\": \"critical\"}"
|
||||||
|
|
||||||
|
elif [ "$capacity" -le 25 ]; then
|
||||||
|
echo "{\"text\": \" Battery low $capacity%\", \"class\": \"warning\"}"
|
||||||
|
|
||||||
|
elif [[ "$status" == "Full" ]]; then
|
||||||
|
echo "{\"text\": \" Battery full $capacity%\", \"class\": \"full\"}"
|
||||||
|
|
||||||
|
elif [[ "$status" == "Charging" ]]; then
|
||||||
|
echo "{\"text\": \"${icons[$i]} Charging $capacity%\", \"class\": \"charging\"}"
|
||||||
|
i=$(( (i+1) % ${#icons[@]} ))
|
||||||
|
echo $i > "$state_file"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "{\"text\": \" $capacity%\", \"class\": \"normal\"}"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# CONFIG
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
DIR="$HOME/Pictures/Screenshots"
|
||||||
|
DEVICE_NAME="" # Optional
|
||||||
|
|
||||||
|
SOUND="/usr/share/sounds/freedesktop/stereo/screen-capture.oga"
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# SETUP
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
mkdir -p "$DIR"
|
||||||
|
TIME=$(date +"%d-%m-%Y_%H-%M-%S")
|
||||||
|
FILE="$DIR/Screenshot_${TIME}.png"
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# SCREENSHOT
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if ! grim - | tee "$FILE" | wl-copy; then
|
||||||
|
notify-send "❌ Screenshot failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# PLAY SOUND
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if [ -f "$SOUND" ]; then
|
||||||
|
paplay "$SOUND" &
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# FILE READY CHECK
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
for i in {1..10}; do
|
||||||
|
[ -f "$FILE" ] && break
|
||||||
|
sleep 0.2
|
||||||
|
done
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# KDE CONNECT READY
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if ! pgrep -x kdeconnectd >/dev/null; then
|
||||||
|
kdeconnectd &
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# DEVICE DETECTION
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if [ -n "$DEVICE_NAME" ]; then
|
||||||
|
DEVICE_ID=$(kdeconnect-cli -a | grep "$DEVICE_NAME" | cut -d':' -f1)
|
||||||
|
else
|
||||||
|
DEVICE_ID=$(kdeconnect-cli -a --id-only | head -n 1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# SEND FILE
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if [ -n "$DEVICE_ID" ]; then
|
||||||
|
if kdeconnect-cli -d "$DEVICE_ID" --share "$FILE"; then
|
||||||
|
notify-send "Sent to your phone" "$(basename "$FILE")"
|
||||||
|
else
|
||||||
|
notify-send "⚠️ Send failed" "Saved locally"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
notify-send "⚠️ No device found" "Saved locally"
|
||||||
|
fi
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
hour=$(date +%H)
|
||||||
|
|
||||||
|
if [ "$hour" -ge 5 ] && [ "$hour" -lt 12 ]; then
|
||||||
|
echo "Good Morning"
|
||||||
|
elif [ "$hour" -ge 12 ] && [ "$hour" -lt 17 ]; then
|
||||||
|
echo "Good Afternoon"
|
||||||
|
elif [ "$hour" -ge 17 ] && [ "$hour" -lt 21 ]; then
|
||||||
|
echo "Good Evening"
|
||||||
|
else
|
||||||
|
echo "Good Night"
|
||||||
|
fi
|
||||||
Executable
+61
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -u
|
||||||
|
|
||||||
|
fallback_text="Nothing is playing"
|
||||||
|
|
||||||
|
json_escape() {
|
||||||
|
printf '%s' "$1" | sed 's/\\/\\\\/g; s/"/\\"/g'
|
||||||
|
}
|
||||||
|
|
||||||
|
player_icon() {
|
||||||
|
case "$1" in
|
||||||
|
*spotify*) printf '%s' " " ;;
|
||||||
|
*firefox* | *zen*) printf '%s' " " ;;
|
||||||
|
*chromium*) printf '%s' " " ;;
|
||||||
|
*vlc*) printf '%s' " " ;;
|
||||||
|
*) printf '%s' " " ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
playing_player=""
|
||||||
|
paused_player=""
|
||||||
|
while IFS= read -r p; do
|
||||||
|
[ -n "$p" ] || continue
|
||||||
|
status="$(playerctl -p "$p" status 2>/dev/null || true)"
|
||||||
|
if [ "$status" = "Playing" ]; then
|
||||||
|
playing_player="$p"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if [ "$status" = "Paused" ] && [ -z "$paused_player" ]; then
|
||||||
|
paused_player="$p"
|
||||||
|
fi
|
||||||
|
done < <(playerctl -l 2>/dev/null || true)
|
||||||
|
|
||||||
|
target_player="$playing_player"
|
||||||
|
[ -n "$target_player" ] || target_player="$paused_player"
|
||||||
|
|
||||||
|
if [ -z "$target_player" ]; then
|
||||||
|
printf '{"text":"%s","tooltip":"%s"}\n' "$(json_escape "$fallback_text")" "$(json_escape "$fallback_text")"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
status="$(playerctl -p "$target_player" status 2>/dev/null || true)"
|
||||||
|
title="$(playerctl -p "$target_player" metadata xesam:title 2>/dev/null || true)"
|
||||||
|
artist="$(playerctl -p "$target_player" metadata xesam:artist 2>/dev/null | paste -sd ', ' - || true)"
|
||||||
|
icon="$(player_icon "$target_player")"
|
||||||
|
|
||||||
|
[ -n "$title" ] || {
|
||||||
|
printf '{"text":"%s","tooltip":"%s"}\n' "$(json_escape "$fallback_text")" "$(json_escape "$fallback_text")"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$status" = "Paused" ]; then
|
||||||
|
text="⏸ $icon $title"
|
||||||
|
else
|
||||||
|
text="$icon $title"
|
||||||
|
fi
|
||||||
|
tooltip="$title"
|
||||||
|
[ -n "$artist" ] && tooltip="$title - $artist"
|
||||||
|
|
||||||
|
printf '{"text":"%s","tooltip":"%s"}\n' "$(json_escape "$text")" "$(json_escape "$tooltip")"
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# CONFIG
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
DIR="$HOME/Pictures/Screenshots"
|
||||||
|
DEVICE_NAME=""
|
||||||
|
SOUND="/usr/share/sounds/freedesktop/stereo/screen-capture.oga"
|
||||||
|
|
||||||
|
mkdir -p "$DIR"
|
||||||
|
TIME=$(date +"%d-%m-%Y_%H-%M-%S")
|
||||||
|
FILE="$DIR/Screenshot_${TIME}.png"
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# WAYLAND CHECK
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if [ -z "$WAYLAND_DISPLAY" ]; then
|
||||||
|
notify-send "❌ Not running in Wayland"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# AREA SELECT
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
GEOM=$(slurp 2>/dev/null)
|
||||||
|
|
||||||
|
# cancel case
|
||||||
|
if [ -z "$GEOM" ]; then
|
||||||
|
notify-send "❌ Screenshot cancelled"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# SCREENSHOT
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if ! grim -g "$GEOM" "$FILE"; then
|
||||||
|
notify-send "❌ Screenshot failed (grim error)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# copy to clipboard
|
||||||
|
wl-copy < "$FILE"
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# SOUND
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
[ -f "$SOUND" ] && paplay "$SOUND" &
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# KDE CONNECT
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
if ! pgrep -x kdeconnectd >/dev/null; then
|
||||||
|
kdeconnectd &
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$DEVICE_NAME" ]; then
|
||||||
|
DEVICE_ID=$(kdeconnect-cli -a | grep "$DEVICE_NAME" | cut -d':' -f1)
|
||||||
|
else
|
||||||
|
DEVICE_ID=$(kdeconnect-cli -a --id-only | head -n 1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$DEVICE_ID" ]; then
|
||||||
|
kdeconnect-cli -d "$DEVICE_ID" --share "$FILE" && \
|
||||||
|
notify-send "Sent to your phone" "$(basename "$FILE")"
|
||||||
|
else
|
||||||
|
notify-send "⚠️ No device found" "Saved locally"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
WALL_DIR="$HOME/Wallpapers"
|
||||||
|
|
||||||
|
WALL=$(find "$WALL_DIR" -type f | shuf -n 1)
|
||||||
|
|
||||||
|
pkill swaybg
|
||||||
|
|
||||||
|
swaybg -i "$WALL" -m fill &
|
||||||
|
|
||||||
|
notify-send "Wallpaper changed" "$(basename "$WALL")" -i "$WALL"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DIR="$HOME/Wallpapers"
|
||||||
|
|
||||||
|
IMG=$(find "$DIR" -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.jpeg" -o -iname "*.webp" \) | shuf -n 1)
|
||||||
|
|
||||||
|
cp "$IMG" ~/.cache/hyprlock_wall.png
|
||||||
|
|
||||||
|
hyprlock
|
||||||
@@ -0,0 +1,370 @@
|
|||||||
|
# driftwm configuration
|
||||||
|
# Copy to ~/.config/driftwm/config.toml and uncomment what you want to change.
|
||||||
|
# Missing fields use built-in defaults. Invalid entries are logged and skipped.
|
||||||
|
# Run `driftwm --check-config` to validate without starting the compositor.
|
||||||
|
|
||||||
|
# Window manager modifier key: "super" (default) or "alt"
|
||||||
|
# mod_key = "super"
|
||||||
|
|
||||||
|
# Sloppy focus: keyboard focus follows the pointer to windows.
|
||||||
|
# Moving to empty canvas keeps focus; click empty canvas to unfocus.
|
||||||
|
focus_follows_mouse = true
|
||||||
|
|
||||||
|
# Commands to run at startup (after WAYLAND_DISPLAY is set).
|
||||||
|
# Each entry is passed to sh -c, so full shell syntax works (pipes, &&, env vars).
|
||||||
|
autostart = [ "vicinae server", "waybar -c ~/.config/waybar/driftwm/config.jsonc", "hiddify", "gnome-keyring-daemon --start --components=secrets"]
|
||||||
|
|
||||||
|
# Environment variables set before any clients launch.
|
||||||
|
# Child processes (autostart, exec bindings) inherit these.
|
||||||
|
# These override the compositor's built-in toolkit defaults
|
||||||
|
# (MOZ_ENABLE_WAYLAND, QT_QPA_PLATFORM, SDL_VIDEODRIVER, GDK_BACKEND, ELECTRON_OZONE_PLATFORM_HINT).
|
||||||
|
[env]
|
||||||
|
# Examples:
|
||||||
|
# # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"
|
||||||
|
# # MOZ_ENABLE_WAYLAND = "1"
|
||||||
|
|
||||||
|
[input.keyboard]
|
||||||
|
layout = "us,ru" # XKB layout (e.g., "us,ru" for multi-layout)
|
||||||
|
# variant = "" # XKB variant (e.g., "dvorak", or "," for two defaults)
|
||||||
|
options = "grp:win_space_toggle,ctrl:swap_lalt_lctl" # XKB options (e.g., "grp:win_space_toggle" for Super+Space layout switch)
|
||||||
|
# model = "" # XKB model (e.g., "pc105")
|
||||||
|
# repeat_rate = 25 # keys/sec
|
||||||
|
# repeat_delay = 200 # ms before repeat starts
|
||||||
|
# layout_independent = true # match bindings by physical key position across layouts
|
||||||
|
# num_lock = true # num lock state on startup
|
||||||
|
# caps_lock = false # caps lock state on startup
|
||||||
|
|
||||||
|
[input.trackpad]
|
||||||
|
# tap_to_click = true # enable tap-to-click
|
||||||
|
natural_scroll = true # reverse scroll direction (content follows fingers)
|
||||||
|
# tap_and_drag = true # double-tap-hold to drag
|
||||||
|
# accel_speed = 0.0 # pointer acceleration (-1.0 to 1.0)
|
||||||
|
# accel_profile = "adaptive" # "flat" or "adaptive"
|
||||||
|
# click_method = "none" # none = device default; clickfinger = finger count (1=left, 2=right, 3=middle); button_areas = position on trackpad
|
||||||
|
|
||||||
|
[input.mouse]
|
||||||
|
accel_speed = 0.0 # pointer acceleration (-1.0 to 1.0)
|
||||||
|
# accel_profile = "flat" # "flat" or "adaptive"
|
||||||
|
natural_scroll = true # reverse scroll direction
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
theme = "Adwaita" # sets XCURSOR_THEME
|
||||||
|
#theme = "Catppuccin-Mocha-Dark" # sets XCURSOR_THEME
|
||||||
|
size = 24 # sets XCURSOR_SIZE
|
||||||
|
inactive_opacity = 0.5 # cursor opacity on non-active outputs (0.0–1.0)
|
||||||
|
|
||||||
|
[navigation]
|
||||||
|
# trackpad_speed = 1.5 # trackpad (scroll/gestures) pan multiplier
|
||||||
|
mouse_speed = 1.0 # mouse (drag) pan multiplier (1.0 = direct)
|
||||||
|
# friction = 0.94 # momentum decay (0.90=snappy, 0.98=floaty)
|
||||||
|
# animation_speed = 0.3 # camera lerp factor (higher = faster)
|
||||||
|
# nudge_step = 20 # px per nudge-window action (mod-shift-arrow by default)
|
||||||
|
# pan_step = 100.0 # px per pan-viewport action (mod-ctrl-arrow by default)
|
||||||
|
# Anchors: canvas points discoverable by center-nearest (4-finger swipe / Mod+Arrow)
|
||||||
|
# even when no window is there. Uses Y-up coordinate system.
|
||||||
|
# anchors = [[0, 0]]
|
||||||
|
# Example with 4 corners:
|
||||||
|
# # anchors = [[0, 0], [-1750, 1750], [1750, 1750], [1750, -1750], [-1750, -1750]]
|
||||||
|
|
||||||
|
[navigation.edge_pan]
|
||||||
|
zone = 100.0 # activation zone width (px from viewport edge)
|
||||||
|
# speed_min = 4.0 # px/frame at zone boundary
|
||||||
|
# speed_max = 10.0 # px/frame at viewport edge
|
||||||
|
|
||||||
|
[zoom]
|
||||||
|
# step = 1.1 # multiplier per keypress (1.1 = 10% per press)
|
||||||
|
# fit_padding = 100.0 # canvas px padding for zoom-to-fit
|
||||||
|
# reset_on_new_window = true # animate zoom to 1.0 when a new window is mapped
|
||||||
|
# # (false = keep current zoom, pan only)
|
||||||
|
# reset_on_activation = true # animate zoom to 1.0 when an off-screen window
|
||||||
|
# # requests focus
|
||||||
|
# # (false = keep current zoom, pan only)
|
||||||
|
|
||||||
|
[snap]
|
||||||
|
enabled = true # magnetic edge snapping during window drag
|
||||||
|
# gap = 12.0 # gap between snapped windows (canvas px)
|
||||||
|
# distance = 24.0 # activation threshold (screen px from edge)
|
||||||
|
# break_force = 32.0 # screen px past snap to break free
|
||||||
|
# same_edge = false # also snap same edges (left-to-left, top-to-top)
|
||||||
|
|
||||||
|
[decorations]
|
||||||
|
# bg_color = "#303030" # title bar background (default: dark gray)
|
||||||
|
# fg_color = "#FFFFFF" # close button × color (default: white)
|
||||||
|
# corner_radius = 8 # clip window corners to this radius (no effect if client rounds more)
|
||||||
|
|
||||||
|
[effects]
|
||||||
|
# blur_radius = 2 # number of Kawase down+up passes (default: 2)
|
||||||
|
# blur_strength = 1.1 # per-pass texel spread (default: 1.1)
|
||||||
|
|
||||||
|
[backend]
|
||||||
|
# Hardware stability quirks. All default to false (opt-in).
|
||||||
|
# Enable these if you experience flickering, crashes, or rendering issues.
|
||||||
|
# Particularly useful on NVIDIA GPUs with proprietary drivers.
|
||||||
|
# Note: These flags must be set before launching driftwm. Changing them requires a restart.
|
||||||
|
# For additional NVIDIA-specific settings, set these environment variables in your
|
||||||
|
# session wrapper script or shell profile before starting driftwm:
|
||||||
|
# export SMITHAY_USE_LEGACY=1 # Use legacy DRM API instead of atomic modesetting
|
||||||
|
# export __GL_GSYNC_ALLOWED=0
|
||||||
|
# export __GL_VRR_ALLOWED=0
|
||||||
|
# export __GL_MaxFramesAllowed=1
|
||||||
|
# export NVD_BACKEND=direct
|
||||||
|
# wait_for_frame_completion = false # Wait for GPU fences before page flip
|
||||||
|
# disable_direct_scanout = false # Force EGL composition (disable direct scanout)
|
||||||
|
|
||||||
|
[output]
|
||||||
|
# Global output settings. Per-output scale/transform/mode/position
|
||||||
|
# are configured in [[outputs]] sections below.
|
||||||
|
|
||||||
|
[output.outline]
|
||||||
|
# color = "#ffffff" # outline color for other monitors' viewports
|
||||||
|
# thickness = 1 # pixels (0 to disable)
|
||||||
|
# opacity = 0.5 # 0.0–1.0
|
||||||
|
|
||||||
|
[background]
|
||||||
|
tile_path = "/home/krosh/Downloads/loop-pile-carpet-hexagonal-2400-mm-architextures.jpg"
|
||||||
|
#tile_path = "/home/krosh/Downloads/calacatta-vena-2200-mm-architextures-photoaidcom-invert.jpg"
|
||||||
|
#tile_path = "/home/krosh/Pictures/Wallpapers/wallhaven-7pmkj3.png"
|
||||||
|
#tile_path = "~/Pictures/Wallpapers/wallhaven-yx1zdk.png" # tiled image (mutually exclusive with shader)
|
||||||
|
#tile_path = "~/.config/driftwm/tile.png" # tiled image (mutually exclusive with shader)
|
||||||
|
# Examples:
|
||||||
|
# # shader_path = "~/.config/driftwm/bg.glsl" # custom GLSL fragment shader
|
||||||
|
#tile_path = "~/.config/driftwm/tile.png" # tiled image (mutually exclusive with shader)
|
||||||
|
#
|
||||||
|
# Custom shaders receive these uniforms:
|
||||||
|
# - u_camera: vec2 - camera position in canvas coordinates
|
||||||
|
# - u_time: float - time in seconds since compositor start (for animations)
|
||||||
|
# - size: vec2 - viewport size in pixels
|
||||||
|
#
|
||||||
|
# Example animated shader: extras/wallpapers/animated_squares.glsl
|
||||||
|
|
||||||
|
# Keyboard bindings: "Modifier+...+Keysym" = "action [arg]"
|
||||||
|
# Merges with defaults. Use "none" to unbind a default binding.
|
||||||
|
# "mod" expands to mod_key. Literal modifiers: alt, super, ctrl, shift.
|
||||||
|
# Keysyms are XKB names (case-insensitive): return, tab, up, a, equal, etc.
|
||||||
|
#
|
||||||
|
# Actions:
|
||||||
|
# exec <cmd> — launch an app (shows loading cursor until window appears, exits fullscreen)
|
||||||
|
# spawn <cmd> — run a command without loading cursor and exiting fullscreen (toggles, OSD, screenshots)
|
||||||
|
# close-window — close the focused window
|
||||||
|
# nudge-window <dir> — move focused window by nudge_step px
|
||||||
|
# pan-viewport <dir> — pan camera by pan_step px
|
||||||
|
# center-window — center viewport on focused window + reset zoom
|
||||||
|
# focus-center — focus + center on the window under the pointer + reset zoom
|
||||||
|
# center-nearest <dir> — navigate to nearest window in direction
|
||||||
|
# cycle-windows forward — Alt-Tab style window cycling
|
||||||
|
# cycle-windows backward — reverse cycle
|
||||||
|
# home-toggle — toggle between current position and origin
|
||||||
|
# zoom-in / zoom-out — step zoom
|
||||||
|
# zoom-reset — zoom to 1.0
|
||||||
|
# go-to <x> <y> — jump camera to canvas position (bookmarks, Y-up)
|
||||||
|
# zoom-to-fit — fit all windows in viewport
|
||||||
|
# toggle-fullscreen — toggle focused window fullscreen
|
||||||
|
# fit-window — toggle maximize: centers + resets zoom + fills viewport; restore only resizes back
|
||||||
|
# reload-config — hot-reload config file
|
||||||
|
# quit — exit the compositor
|
||||||
|
# send-to-output <dir> — move focused window to adjacent output
|
||||||
|
# none — unbind this key combo
|
||||||
|
#
|
||||||
|
# Directions: up, down, left, right, up-left, up-right, down-left, down-right
|
||||||
|
|
||||||
|
[keybindings]
|
||||||
|
"mod+shift+s" = "exec grim -g \"$(slurp)\" - | wl-copy"
|
||||||
|
"mod+shift+r" = "reload-config"
|
||||||
|
"mod+return" = "exec kitty"
|
||||||
|
"ctrl+return" = "exec kitty"
|
||||||
|
"mod+w" = "exec zen-browser"
|
||||||
|
"ctrl+space" = "exec vicinae toggle"
|
||||||
|
#"mod+d" = "exec vicinae toggle"
|
||||||
|
"mod+e" = "exec nemo"
|
||||||
|
"ctrl+5" = "exec Telegram"
|
||||||
|
# "mod+d" = "exec "
|
||||||
|
# "mod+q" = "close-window"
|
||||||
|
# "mod+f" = "toggle-fullscreen"
|
||||||
|
# "mod+m" = "fit-window"
|
||||||
|
# "mod+c" = "center-window"
|
||||||
|
# "mod+x" = "focus-center"
|
||||||
|
# "mod+a" = "home-toggle"
|
||||||
|
# "mod+up" = "center-nearest up"
|
||||||
|
# "mod+down" = "center-nearest down"
|
||||||
|
# "mod+left" = "center-nearest left"
|
||||||
|
# "mod+right" = "center-nearest right"
|
||||||
|
# "mod+shift+up" = "nudge-window up"
|
||||||
|
# "mod+shift+down" = "nudge-window down"
|
||||||
|
# "mod+shift+left" = "nudge-window left"
|
||||||
|
# "mod+shift+right" = "nudge-window right"
|
||||||
|
# "mod+ctrl+up" = "pan-viewport up"
|
||||||
|
# "mod+ctrl+down" = "pan-viewport down"
|
||||||
|
# "mod+ctrl+left" = "pan-viewport left"
|
||||||
|
# "mod+ctrl+right" = "pan-viewport right"
|
||||||
|
# "alt+tab" = "cycle-windows forward"
|
||||||
|
# "alt+shift+tab" = "cycle-windows backward"
|
||||||
|
# "mod+equal" = "zoom-in"
|
||||||
|
# "mod+minus" = "zoom-out"
|
||||||
|
# "mod+0" = "zoom-reset"
|
||||||
|
# "mod+z" = "zoom-reset"
|
||||||
|
# "mod+w" = "zoom-to-fit"
|
||||||
|
"mod+1" = "go-to -2000 2000" # top-left bookmark
|
||||||
|
"mod+2" = "go-to 2000 2000" # top-right bookmark
|
||||||
|
"mod+3" = "go-to 2000 -2000" # bottom-right bookmark
|
||||||
|
"mod+4" = "go-to -2000 -2000" # bottom-left bookmark
|
||||||
|
#"mod+1" = "go-to -1750 1750" # top-left bookmark
|
||||||
|
#"mod+2" = "go-to 1750 1750" # top-right bookmark
|
||||||
|
#"mod+3" = "go-to 1750 -1750" # bottom-right bookmark
|
||||||
|
#"mod+4" = "go-to -1750 -1750" # bottom-left bookmark
|
||||||
|
# "mod+alt+up" = "send-to-output up" # move window to output above
|
||||||
|
# "mod+alt+down" = "send-to-output down"
|
||||||
|
# "mod+alt+left" = "send-to-output left"
|
||||||
|
# "mod+alt+right" = "send-to-output right"
|
||||||
|
# "mod+l" = "spawn swaylock -f -c 000000 -kl"
|
||||||
|
"mod+ctrl+shift+q" = "quit"
|
||||||
|
# "XF86AudioRaiseVolume" = "spawn wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
# "XF86AudioLowerVolume" = "spawn wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
# "XF86AudioMute" = "spawn wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
# "XF86MonBrightnessUp" = "spawn brightnessctl set +5%"
|
||||||
|
# "XF86MonBrightnessDown" = "spawn brightnessctl set 5%-"
|
||||||
|
"Print" = "exec mkdir -p ~/Pictures/Screenshots && grim ~/Pictures/Screenshots/ss-$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||||
|
# "shift+Print" = "spawn grim -g \"$(slurp -d)\" - | wl-copy"
|
||||||
|
|
||||||
|
# Mouse bindings: "Modifier+...+Trigger" = "action"
|
||||||
|
# Context-aware: on-window, on-canvas, anywhere.
|
||||||
|
# Specific context checked first, then "anywhere" as fallback.
|
||||||
|
# Click-to-focus and SSD decoration clicks are always hardcoded.
|
||||||
|
# Triggers: left, right, middle (buttons), trackpad-scroll, wheel-scroll
|
||||||
|
# Merges with defaults. Use "none" to unbind.
|
||||||
|
#
|
||||||
|
# Mouse actions: move-window, resize-window, pan-viewport, zoom, center-nearest
|
||||||
|
# Any keyboard action also works for button triggers: exec, close-window, toggle-fullscreen, etc.
|
||||||
|
|
||||||
|
[mouse.on-window]
|
||||||
|
# "alt+left" = "move-window"
|
||||||
|
# "alt+right" = "resize-window"
|
||||||
|
# "alt+middle" = "fit-window"
|
||||||
|
# "mod+middle" = "toggle-fullscreen"
|
||||||
|
|
||||||
|
[mouse.on-canvas]
|
||||||
|
# "left" = "pan-viewport" # unmodified left-click on empty canvas → pan
|
||||||
|
# "trackpad-scroll" = "pan-viewport" # trackpad scroll on empty canvas → pan
|
||||||
|
# "wheel-scroll" = "zoom" # mouse wheel on empty canvas → zoom
|
||||||
|
|
||||||
|
[mouse.anywhere]
|
||||||
|
# "mod+left" = "pan-viewport"
|
||||||
|
# "mod+ctrl+left" = "center-nearest" # direction from drag delta
|
||||||
|
# "mod+trackpad-scroll" = "pan-viewport"
|
||||||
|
# "mod+wheel-scroll" = "zoom"
|
||||||
|
|
||||||
|
# Gesture bindings: "Modifier+N-finger-<type>" = "action"
|
||||||
|
# Context-aware: on-window, on-canvas, anywhere.
|
||||||
|
# Unbound gestures are forwarded to the focused app.
|
||||||
|
# "none" unbinds (prevents anywhere fallback, still forwards).
|
||||||
|
#
|
||||||
|
# Gesture types:
|
||||||
|
# N-finger-swipe — continuous OR threshold (action determines behavior)
|
||||||
|
# N-finger-swipe-up/down/left/right — threshold only, checked before swipe fallback
|
||||||
|
# 3-finger-doubletap-swipe — continuous OR threshold (3-finger tap then swipe)
|
||||||
|
# N-finger-pinch — continuous only (use pinch-in/out for discrete)
|
||||||
|
# N-finger-pinch-in/out — threshold only
|
||||||
|
# N-finger-hold — threshold only (fires on release)
|
||||||
|
#
|
||||||
|
# Continuous actions: pan-viewport, zoom, move-window, resize-window
|
||||||
|
# Threshold actions: center-nearest, center-window, home-toggle, zoom-to-fit, fit-window, exec <cmd>, etc.
|
||||||
|
|
||||||
|
# Gesture thresholds — tune for your touchpad size.
|
||||||
|
[gestures]
|
||||||
|
# swipe_threshold = 12.0 # px cumulative distance before directional swipe fires
|
||||||
|
# pinch_in_threshold = 0.85 # scale below which pinch-in fires (1.0 = no pinch)
|
||||||
|
# pinch_out_threshold = 1.15 # scale above which pinch-out fires (1.0 = no pinch)
|
||||||
|
|
||||||
|
[gestures.on-window]
|
||||||
|
# "alt+3-finger-swipe" = "resize-window"
|
||||||
|
# "3-finger-doubletap-swipe" = "move-window"
|
||||||
|
# "alt+2-finger-pinch-in" = "fit-window"
|
||||||
|
# "alt+2-finger-pinch-out" = "fit-window"
|
||||||
|
# "alt+3-finger-pinch-in" = "toggle-fullscreen"
|
||||||
|
# "alt+3-finger-pinch-out" = "toggle-fullscreen"
|
||||||
|
|
||||||
|
[gestures.on-canvas]
|
||||||
|
# "2-finger-pinch" = "zoom"
|
||||||
|
|
||||||
|
[gestures.anywhere]
|
||||||
|
# "3-finger-swipe" = "pan-viewport" # continuous (per-frame dx/dy)
|
||||||
|
# "4-finger-swipe" = "center-nearest" # threshold (accumulate, detect direction, fire once)
|
||||||
|
# "mod+3-finger-swipe" = "center-nearest" # mod makes 3-finger swipe navigate too
|
||||||
|
# Per-direction overrides examples (threshold only, checked before swipe fallback):
|
||||||
|
# # "4-finger-swipe-up" = "exec brightnessctl set +5%"
|
||||||
|
# # "4-finger-swipe-down" = "exec brightnessctl set 5%-"
|
||||||
|
# "mod+2-finger-pinch" = "zoom" # mod overrides app forwarding
|
||||||
|
# "3-finger-pinch" = "zoom" # continuous
|
||||||
|
# "4-finger-pinch-in" = "zoom-to-fit" # threshold
|
||||||
|
# "4-finger-pinch-out" = "home-toggle" # threshold
|
||||||
|
# "mod+3-finger-pinch-in" = "zoom-to-fit"
|
||||||
|
# "mod+3-finger-pinch-out" = "home-toggle"
|
||||||
|
# "4-finger-hold" = "center-window" # fires on release
|
||||||
|
# "mod+3-finger-hold" = "center-window"
|
||||||
|
|
||||||
|
# Per-output configuration. Each [[outputs]] entry matches by connector name.
|
||||||
|
# Find connector names with wlr-randr or check driftwm logs at startup.
|
||||||
|
# Outputs without a matching entry default to scale 1.0.
|
||||||
|
# Winit backend ignores [[outputs]] entries.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# # [[outputs]]
|
||||||
|
# # name = "eDP-1" # connector name (required)
|
||||||
|
# # scale = 1.5 # fractional scale (default: 1.0)
|
||||||
|
# # transform = "normal" # normal, 90, 180, 270, flipped, flipped-90, flipped-180, flipped-270
|
||||||
|
# # position = "auto" # "auto" (left-to-right) or [x, y] in layout coords
|
||||||
|
# # mode = "preferred" # "preferred", "1920x1080", or "2560x1440@144"
|
||||||
|
# #
|
||||||
|
# # [[outputs]]
|
||||||
|
# # name = "HDMI-A-1"
|
||||||
|
# # scale = 1.0
|
||||||
|
# # mode = "1920x1080@60"
|
||||||
|
|
||||||
|
[[outputs]]
|
||||||
|
name = "HDMI-A-2"
|
||||||
|
#scale = 1.0
|
||||||
|
#mode = "1920x1080@60"
|
||||||
|
position = [0, 0]
|
||||||
|
|
||||||
|
[[outputs]]
|
||||||
|
name = "eDP-1" # connector name (required)
|
||||||
|
position = [1920, 0]
|
||||||
|
|
||||||
|
# Window rules: match windows by app_id and/or title and apply overrides.
|
||||||
|
# At least one of app_id or title is required. Both support * glob.
|
||||||
|
# To find an app's app_id: cat $XDG_RUNTIME_DIR/driftwm/state (see "windows=" line)
|
||||||
|
#
|
||||||
|
# Fields:
|
||||||
|
# app_id — app_id to match (optional, supports * glob)
|
||||||
|
# title — window title to match (optional, supports * glob)
|
||||||
|
# position — [x, y] canvas coordinates to place the window
|
||||||
|
# size — [width, height] to force window dimensions
|
||||||
|
# widget — true: pinned (immovable), below normal windows, excluded from navigation (default: false)
|
||||||
|
# decoration — "client" (default), "server", or "none" (borderless)
|
||||||
|
# blur — true: blur background behind this window (default: false)
|
||||||
|
# opacity — 0.0–1.0: window transparency (default: 1.0, fully opaque)
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# # [[window_rules]]
|
||||||
|
# # app_id = "my-widget"
|
||||||
|
# # position = [0, 0]
|
||||||
|
# # widget = true
|
||||||
|
# # decoration = "none"
|
||||||
|
#
|
||||||
|
# # Blurred terminal
|
||||||
|
# # [[window_rules]]
|
||||||
|
# # app_id = "Alacritty"
|
||||||
|
# # opacity = 0.85
|
||||||
|
# # blur = true
|
||||||
|
#
|
||||||
|
# # Hide iced/libcosmic utility windows (same app_id as main window)
|
||||||
|
# # [[window_rules]]
|
||||||
|
# # title = "winit window"
|
||||||
|
# # widget = true
|
||||||
|
[[window_rules]]
|
||||||
|
app_id = "kitty"
|
||||||
|
opacity = 0.85
|
||||||
|
# blur = true
|
||||||
|
|
||||||
|
[[window_rules]]
|
||||||
|
app_id = "Firefox"
|
||||||
|
position = [0, 0]
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||||
|
|
||||||
|
if test (tty) = "/dev/tty1"
|
||||||
|
set LOG_FOLDER .log/$(date +%Y%m%d)
|
||||||
|
mkdir -p $LOG_FOLDER
|
||||||
|
syncthing 2>&1 > $LOG_FOLDER/syncthing.log & disown
|
||||||
|
exec driftwm
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
if status is-interactive
|
||||||
|
alias ls="eza --icons --group-directories-first"
|
||||||
|
|
||||||
|
function __ls_after_cd --on-variable PWD
|
||||||
|
ls
|
||||||
|
end
|
||||||
|
|
||||||
|
# Commands to run in interactive sessions can go here
|
||||||
|
end
|
||||||
|
|
||||||
|
zoxide init fish --cmd cd | source
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR __fish_initialized:4300
|
||||||
Executable
+23
@@ -0,0 +1,23 @@
|
|||||||
|
tab_bar_edge top
|
||||||
|
tab_bar_style powerline
|
||||||
|
tab_powerline_style slanted
|
||||||
|
tab_bar_align left
|
||||||
|
tab_bar_min_tabs 2
|
||||||
|
tab_bar_margin_width 0.0
|
||||||
|
tab_bar_margin_height 2.5 1.5
|
||||||
|
tab_bar_margin_color #131314
|
||||||
|
|
||||||
|
tab_bar_background #131314
|
||||||
|
|
||||||
|
active_tab_foreground #23323b
|
||||||
|
active_tab_background #deeffb
|
||||||
|
active_tab_font_style bold
|
||||||
|
|
||||||
|
inactive_tab_foreground #c3c7cb
|
||||||
|
inactive_tab_background #131314
|
||||||
|
inactive_tab_font_style normal
|
||||||
|
|
||||||
|
tab_activity_symbol " ● "
|
||||||
|
|
||||||
|
tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title[:30]}{title[30:] and '…'} [{index}]"
|
||||||
|
active_tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title[:30]}{title[30:] and '…'} [{index}]"
|
||||||
Executable
+25
@@ -0,0 +1,25 @@
|
|||||||
|
cursor #e4e2e2
|
||||||
|
cursor_text_color #c3c7cb
|
||||||
|
|
||||||
|
foreground #e4e2e2
|
||||||
|
background #131314
|
||||||
|
selection_foreground #2b3135
|
||||||
|
selection_background #c2c7cc
|
||||||
|
url_color #deeffb
|
||||||
|
|
||||||
|
color0 #131314
|
||||||
|
color1 #ff729e
|
||||||
|
color2 #7dfb8c
|
||||||
|
color3 #fff672
|
||||||
|
color4 #cde0ee
|
||||||
|
color5 #5b6a74
|
||||||
|
color6 #deeffb
|
||||||
|
color7 #eff8ff
|
||||||
|
color8 #969ea3
|
||||||
|
color9 #ff9fbd
|
||||||
|
color10 #a5ffb0
|
||||||
|
color11 #fff9a5
|
||||||
|
color12 #e5f4ff
|
||||||
|
color13 #eaf6ff
|
||||||
|
color14 #f1f9ff
|
||||||
|
color15 #f8fcff
|
||||||
Executable
+40
@@ -0,0 +1,40 @@
|
|||||||
|
# Font Configuration
|
||||||
|
font_size 12.0
|
||||||
|
|
||||||
|
# Window Configuration
|
||||||
|
window_padding_width 12
|
||||||
|
background_opacity 1.0
|
||||||
|
background_blur 32
|
||||||
|
hide_window_decorations yes
|
||||||
|
|
||||||
|
# Cursor Configuration
|
||||||
|
cursor_shape block
|
||||||
|
cursor_blink_interval 1
|
||||||
|
|
||||||
|
# Scrollback
|
||||||
|
scrollback_lines 3000
|
||||||
|
|
||||||
|
# Terminal features
|
||||||
|
copy_on_select yes
|
||||||
|
strip_trailing_spaces smart
|
||||||
|
|
||||||
|
# Key bindings for common actions
|
||||||
|
map ctrl+shift+n new_window
|
||||||
|
map ctrl+t new_tab
|
||||||
|
map ctrl+plus change_font_size all +1.0
|
||||||
|
map ctrl+minus change_font_size all -1.0
|
||||||
|
map ctrl+0 change_font_size all 0
|
||||||
|
|
||||||
|
map ctrl+c copy_and_clear_or_interrupt
|
||||||
|
map ctrl+v paste_from_clipboard
|
||||||
|
|
||||||
|
# Tab configuration
|
||||||
|
tab_bar_style powerline
|
||||||
|
tab_bar_align left
|
||||||
|
|
||||||
|
# Shell integration
|
||||||
|
shell_integration enabled
|
||||||
|
|
||||||
|
# Dank color generation
|
||||||
|
include dank-tabs.conf
|
||||||
|
include dank-theme.conf
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
[Default Applications]
|
||||||
|
x-scheme-handler/http=zen.desktop
|
||||||
|
x-scheme-handler/https=zen.desktop
|
||||||
|
x-scheme-handler/chrome=zen.desktop
|
||||||
|
text/html=zen.desktop
|
||||||
|
application/x-extension-htm=zen.desktop
|
||||||
|
application/x-extension-html=zen.desktop
|
||||||
|
application/x-extension-shtml=zen.desktop
|
||||||
|
application/xhtml+xml=zen.desktop
|
||||||
|
application/x-extension-xhtml=zen.desktop
|
||||||
|
application/x-extension-xht=zen.desktop
|
||||||
|
inode/directory=nemo.desktop
|
||||||
|
application/x-gnome-saved-search=nemo.desktop
|
||||||
|
|
||||||
|
[Added Associations]
|
||||||
|
x-scheme-handler/http=zen.desktop;
|
||||||
|
x-scheme-handler/https=zen.desktop;
|
||||||
|
x-scheme-handler/chrome=zen.desktop;
|
||||||
|
text/html=zen.desktop;
|
||||||
|
application/x-extension-htm=zen.desktop;
|
||||||
|
application/x-extension-html=zen.desktop;
|
||||||
|
application/x-extension-shtml=zen.desktop;
|
||||||
|
application/xhtml+xml=zen.desktop;
|
||||||
|
application/x-extension-xhtml=zen.desktop;
|
||||||
|
application/x-extension-xht=zen.desktop;
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=SSH key agent
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
|
||||||
|
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// This configuration is merged with the default vicinae configuration file, which you can obtain by running the `vicinae config default` command.
|
||||||
|
// Every item defined in this file takes precedence over the values defined in the default config or any other imported file.
|
||||||
|
//
|
||||||
|
// You can make manual edits to this file, however you should keep in mind that this file may be written to by vicinae when a configuration change is made through the GUI.
|
||||||
|
// When that happens, any custom comments or formatting will be lost.
|
||||||
|
//
|
||||||
|
// If you want to maintain a configuration file with your own comments and formatting, you should create a separate file and add it to the 'imports' array.
|
||||||
|
//
|
||||||
|
// Learn more about configuration at https://docs.vicinae.com/config
|
||||||
|
|
||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
"theme": {
|
||||||
|
"dark": {
|
||||||
|
"name": "rose-pine"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
//"margin-top": 5,
|
||||||
|
//"margin-left": 10,
|
||||||
|
//"margin-right": 10,
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 6,
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
|
||||||
|
"modules-left":[
|
||||||
|
"custom/logo",
|
||||||
|
"custom/mpris",
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/logo": {
|
||||||
|
"format" : " Hyprland",
|
||||||
|
"tooltip": false,
|
||||||
|
"tooltip-format": "App launcher",
|
||||||
|
"on-click": "pkill rofi || rofi -show drun -theme ~/.config/rofi/launchpad.rasi",
|
||||||
|
"on-click-right": "kitty"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"include": [
|
||||||
|
"~/.config/waybar/Modules/*.jsonc"
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
//"margin-top": 5,
|
||||||
|
//"margin-left": 10,
|
||||||
|
//"margin-right": 10,
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 6,
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
|
||||||
|
"modules-left":[
|
||||||
|
"custom/logo",
|
||||||
|
"custom/mpris",
|
||||||
|
"ext/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/logo": {
|
||||||
|
"format" : " MangoWM",
|
||||||
|
"tooltip": false,
|
||||||
|
"tooltip-format": "App launcher",
|
||||||
|
"on-click": "pkill rofi || rofi -show drun",
|
||||||
|
"on-click-right": "kitty"
|
||||||
|
},
|
||||||
|
|
||||||
|
"ext/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"ignore-hidden": true,
|
||||||
|
"on-click": "activate",
|
||||||
|
"on-click-right": "deactivate",
|
||||||
|
"sort-by-id": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"include": [
|
||||||
|
"~/.config/waybar/Modules/*.jsonc"
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
/*"custom/battery": {
|
||||||
|
"exec": "~/.config/waybar/battery-anime.sh",
|
||||||
|
"interval": 1.0,
|
||||||
|
"return-type": "json",
|
||||||
|
"format": "{}",
|
||||||
|
"on-click-right": "kitty sh -c 'upower -i /org/freedesktop/UPower/devices/battery_BAT0; read'"
|
||||||
|
},*/
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"backlight": {
|
||||||
|
"reverse-scrolling": true,
|
||||||
|
"smooth-scrolling-threshold": 2.0,
|
||||||
|
"on-scroll-up": "brightnessctl set 1%+",
|
||||||
|
"on-scroll-down": "brightnessctl set 1%-",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Current brightness is {percent} percent",
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", ""],
|
||||||
|
"on-click": "brightnessctl set 10%-",
|
||||||
|
"on-click-right": "brightnessctl set 10%+",
|
||||||
|
"on-click-middle": "bash $HOME/.config/Scripts/random_wall_on_home.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"battery": { "states": {"warning": 25,"critical": 15 },
|
||||||
|
"interval": 1,
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-time": "{H} hours {M} minutes",
|
||||||
|
"on-click-right": "kitty sh -c 'upower -i /org/freedesktop/UPower/devices/battery_BAT0; read'",
|
||||||
|
"format-full": "{icon} Battery full {capacity}%",
|
||||||
|
"format-warning": "{icon} Battery low {capacity}%",
|
||||||
|
"format-critical": " Connect charger {capacity}%",
|
||||||
|
"format-charging": " Charging {capacity}%",
|
||||||
|
"format-alt": "{icon} Health ({health}%) Charge cycles ({cycles})",
|
||||||
|
"format-icons": { "default": [ "", "", "", "", "", "", "", "", "", "", "" ] },
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Battery level: {capacity}%\nPower usage: {power} watts\nDischarge in: {time}\nBattery health: {health}%\nCharge cycles: {cycles}",
|
||||||
|
"tooltip-format-charging": "Charging at {capacity}%\nPower usage: {power} watts\nFull charge in: {time}\nBattery health: {health}%\nCharge cycles: {cycles}",
|
||||||
|
"tooltip-format-critical": "Battery low: {capacity}%\nPower usage: {power} watts\nShutdown in: {time}\nConnect the charger immediately.",
|
||||||
|
"tooltip-format-warning": "Battery low: {capacity}%\nPower usage: {power} watts\nDischarge in: {time}\nConnect the charger soon.",
|
||||||
|
|
||||||
|
"events": {
|
||||||
|
"on-discharging-warning": "notify-send 'Battery Low (25%)' 'Connect the charger soon'",
|
||||||
|
"on-discharging-critical": "notify-send 'Battery Critical (15%)' 'Connect the charger immediately'",
|
||||||
|
"on-charging-100": "notify-send 'Battery Full' 'Please unplug the charger'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"modules-center":[
|
||||||
|
"clock"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"clock": {
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip": true,
|
||||||
|
"format": "It's {:%H:%M:%S}",
|
||||||
|
"format-alt": "It’s {:%H:%M:%S on %A, %d %B %Y}",
|
||||||
|
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||||
|
"on-click-right": "kitty -e bluetui"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {}%",
|
||||||
|
"format-alt": " {avg_frequency} GHz",
|
||||||
|
"on-click-right": "kitty -e btop",
|
||||||
|
"tooltip": true
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"format-alt": " {used} / {total}",
|
||||||
|
"path": "/",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{used} is used out of {total}\nCurrently free storage is {free} ({percentage_free}%)",
|
||||||
|
"on-click-right": "kitty -e ncdu /"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"memory": {
|
||||||
|
"interval": 2,
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-alt": " {used:0.1f}GiB / {total:0.1f}GiB",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{used} GiB RAM is used out of {total} GiB\n{swapUsed} GiB SWAP is used out of {swapTotal} GiB",
|
||||||
|
"on-click-right": "kitty -e btop"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"custom/mpris": {
|
||||||
|
"exec": "~/.config/Scripts/mpris.sh",
|
||||||
|
"interval": 2,
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 15,
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"network": {
|
||||||
|
"interval": 1,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-alt": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||||
|
"tooltip-format-wifi": "You are connected to {essid} ({signalStrength}%)",
|
||||||
|
"format-disconnected": " No internet",
|
||||||
|
"on-click-right": "kitty -e nmtui"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"custom/power": {
|
||||||
|
"format" : "",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Power menu",
|
||||||
|
//"menu": "on-click",
|
||||||
|
"on-click-right": "pkill wlogout || wlogout",
|
||||||
|
"on-click": "pkill wlogout || wlogout",
|
||||||
|
"on-click-middle": "systemctl poweroff"
|
||||||
|
//"menu-file": "~/.config/waybar/power_menu.xml",
|
||||||
|
//"menu-actions": {
|
||||||
|
// "shutdown": "systemctl poweroff",
|
||||||
|
// "reboot": "systemctl reboot",
|
||||||
|
// "suspend": "systemctl suspend",
|
||||||
|
// "logout": "loginctl terminate-user $USER",
|
||||||
|
//},
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"pulseaudio": {
|
||||||
|
"scroll-step": 1,
|
||||||
|
"reverse-scrolling": true,
|
||||||
|
"smooth-scrolling-threshold": 1.0,
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-bluetooth":" {icon} {volume}%",
|
||||||
|
"format-muted": " Muted",
|
||||||
|
"format-icons": { "default": [" ", " ", " "]},
|
||||||
|
"on-click": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-",
|
||||||
|
"on-click-middle": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
||||||
|
"on-click-right": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -l 1.0 10%+",
|
||||||
|
"on-double-click-middle": "kitty -e pulsemixer"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"modules-right": [
|
||||||
|
"custom/power",
|
||||||
|
"temperature",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"disk",
|
||||||
|
"network",
|
||||||
|
"pulseaudio",
|
||||||
|
"backlight",
|
||||||
|
/*"custom/battery"*/
|
||||||
|
"battery"
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"temperature": {
|
||||||
|
"hwmon-path": "/sys/class/hwmon/hwmon4/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
"warning-threshold": 60,
|
||||||
|
"format": " {temperatureC}°C",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "CPU temperature: {temperatureC}°C",
|
||||||
|
"on-click-right": "kitty sh -c 'sensors; read'"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
//"margin-top": 5,
|
||||||
|
//"margin-left": 10,
|
||||||
|
//"margin-right": 10,
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 6,
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
|
||||||
|
"modules-left":[
|
||||||
|
"custom/logo",
|
||||||
|
"custom/mpris",
|
||||||
|
"niri/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/logo": {
|
||||||
|
"format" : " Niri",
|
||||||
|
"tooltip": false,
|
||||||
|
"tooltip-format": "App launcher",
|
||||||
|
"on-click": "pkill rofi || rofi -show drun",
|
||||||
|
"on-click-right": "kitty"
|
||||||
|
},
|
||||||
|
|
||||||
|
"niri/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": { "active": "", "default": "" }
|
||||||
|
},
|
||||||
|
|
||||||
|
"include": [
|
||||||
|
"~/.config/waybar/Modules/*.jsonc"
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
//"margin-top": 5,
|
||||||
|
//"margin-left": 5,
|
||||||
|
//"margin-right": 5,
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 6,
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
|
||||||
|
"modules-left": [ "custom/logo","custom/mpris" ],
|
||||||
|
|
||||||
|
"modules-center": [ "clock" ],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"custom/power",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"disk",
|
||||||
|
"network#wifi",
|
||||||
|
"pulseaudio",
|
||||||
|
"backlight",
|
||||||
|
"battery"
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/logo": {
|
||||||
|
"format" : " DriftWM",
|
||||||
|
"tooltip": false,
|
||||||
|
"tooltip-format": "App launcher",
|
||||||
|
"on-click": "vicinae toggle",
|
||||||
|
"on-click-right": "kitty"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/mpris": {
|
||||||
|
"exec": "~/.config/Scripts/mpris.sh",
|
||||||
|
"interval": 2,
|
||||||
|
"return-type": "json",
|
||||||
|
"max-length": 15,
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip": false,
|
||||||
|
"format": "It’s {:%H:%M:%S on %A, %d %B %Y}",
|
||||||
|
"on-click-right": "kitty -e bluetui"
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {}%",
|
||||||
|
"format-alt": " {avg_frequency} GHz",
|
||||||
|
"on-click-right": "kitty -e btop",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"format-alt": " {used} / {total}",
|
||||||
|
"path": "/",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{used} is used out of {total}\nCurrently free storage is {free} ({percentage_free}%)",
|
||||||
|
"on-click-right": "kitty -e ncdu"
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 2,
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"format-alt": " {used:0.1f}GiB / {total:0.1f}GiB",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{used} GiB RAM is used out of {total} GiB\n{swapUsed} GiB SWAP is used out of {swapTotal} GiB",
|
||||||
|
"on-click-right": "ncdu -e btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"reverse-scrolling": true,
|
||||||
|
"smooth-scrolling-threshold": 5.0,
|
||||||
|
"on-scroll-up": "brightnessctl set 1%+",
|
||||||
|
"on-scroll-down": "brightnessctl set 1%-",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Current brightness: {percent}%",
|
||||||
|
"format": "{icon} {percent}%",
|
||||||
|
"format-icons": ["", "", ""]
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": { "states": {"warning": 25,"critical": 15 },
|
||||||
|
"interval": 1,
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-time": "{H} hours {M} minutes",
|
||||||
|
"on-click-right": "kitty -e sh -c 'upower -i /org/freedesktop/UPower/devices/battery_BAT0; read'",
|
||||||
|
"format-full": "{icon} Battery full {capacity}%",
|
||||||
|
"format-warning": "{icon} Battery low {capacity}%",
|
||||||
|
"format-critical": " Connect charger {capacity}%",
|
||||||
|
"format-charging": " Charging {capacity}%",
|
||||||
|
"format-plugged": " Plugged in {capacity}%",
|
||||||
|
"format-alt": "{icon} Health ({health}%) Charge cycles ({cycles})",
|
||||||
|
"format-icons": { "default": ["", "", "", "", ""]},
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Battery level: {capacity}%\nPower usage: {power} watts\nDischarge in: {time}\nBattery health: {health}%\nCharge cycles: {cycles}",
|
||||||
|
"tooltip-format-charging": "Charging at {capacity}%\nPower usage: {power} watts\nFull charge in: {time}\nBattery health: {health}%\nCharge cycles: {cycles}",
|
||||||
|
"tooltip-format-critical": "Low battery: {capacity}%\nPower usage: {power} watts\nShutdown in: {time}\nConnect the charger immediately.",
|
||||||
|
"tooltip-format-warning": "Low battery: {capacity}%\nPower usage: {power} watts\nDischarge in: {time}\nConnect the charger soon."
|
||||||
|
},
|
||||||
|
|
||||||
|
"network#wifi": {
|
||||||
|
"interval": 1,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-alt": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||||
|
"tooltip-format-wifi": "You are connected to {essid} ({signalStrength}%)",
|
||||||
|
"format-disconnected": " No internet",
|
||||||
|
"on-click-right": "kitty -e nmtui"
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"scroll-step": 1,
|
||||||
|
"reverse-scrolling": true,
|
||||||
|
"smooth-scrolling-threshold": 2.0,
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-bluetooth":" {icon} {volume}%",
|
||||||
|
"format-muted": " Muted",
|
||||||
|
"format-icons": { "default": [" ", " ", " "]},
|
||||||
|
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
||||||
|
"on-click-right": "kitty -e pulsemixer"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format" : "",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "Power menu",
|
||||||
|
//"menu": "on-click",
|
||||||
|
"on-click": "pkill wlogout || wlogout",
|
||||||
|
"on-click-right": "pkill wlogout || wlogout",
|
||||||
|
//"menu-file": "~/.config/waybar/power_menu.xml",
|
||||||
|
//"menu-actions": {
|
||||||
|
//"shutdown": "systemctl poweroff",
|
||||||
|
//"reboot": "systemctl reboot",
|
||||||
|
//"suspend": "systemctl suspend",
|
||||||
|
//"logout": "loginctl terminate-user $USER",
|
||||||
|
//},
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
* {
|
||||||
|
font-family: Google Sans Flex;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 0px 2px 0px 2px;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(00, 00, 00, 0.99);
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
color: white;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight:hover,
|
||||||
|
#pulseaudio:hover {
|
||||||
|
background-color: #5962ff;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
border-radius: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: white;
|
||||||
|
padding: 12px 20px 12px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces,
|
||||||
|
#battery.critical:not(.charging),
|
||||||
|
#custom-notification,
|
||||||
|
#battery.warning:not(.charging),
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged,
|
||||||
|
#battery.full,
|
||||||
|
#custom-logo,
|
||||||
|
#custom-power,
|
||||||
|
#custom-mpris,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#backlight,
|
||||||
|
#battery,
|
||||||
|
#network.disconnected,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#clock {
|
||||||
|
background-color: #303030;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
color: white;
|
||||||
|
border-radius: 24px;
|
||||||
|
padding: 4px 12px 3px 12px;
|
||||||
|
margin: 4px 0px 4px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
padding: 0px 4px 0px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
background-color: #00aa01;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f2000e;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 1.0s;
|
||||||
|
animation-timing-function: steps(20);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging) {
|
||||||
|
background-color: #f74f08;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.full {
|
||||||
|
background-color: #5962ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
padding: 1px 16px 0px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: #f2000e;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notification {}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<object class="GtkMenu" id="menu">
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="suspend">
|
||||||
|
<property name="label"> Suspend</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="logout">
|
||||||
|
<property name="label"> Logout</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="reboot">
|
||||||
|
<property name="label"> Reboot</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSeparatorMenuItem" id="delimiter1" />
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="shutdown">
|
||||||
|
<property name="label"> Shutdown</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
* {
|
||||||
|
font-family: Google Sans Flex;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 0px 2px 0px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(00, 00, 00, 0.4);
|
||||||
|
color: white;
|
||||||
|
border-radius: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: white;
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
color: white;
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight:hover,
|
||||||
|
#pulseaudio:hover {
|
||||||
|
background-color: #5962ff;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
border-radius: 32px;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: white;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
padding: 12px 20px 12px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces,
|
||||||
|
#temperature,
|
||||||
|
#temperature.warning,
|
||||||
|
#temperature.critical,
|
||||||
|
#battery.critical:not(.charging),
|
||||||
|
#battery.warning:not(.charging),
|
||||||
|
#battery.charging,
|
||||||
|
/*#custom-battery,*/
|
||||||
|
#battery.plugged,
|
||||||
|
#battery.full,
|
||||||
|
#custom-logo,
|
||||||
|
#custom-power,
|
||||||
|
#custom-mpris,
|
||||||
|
#pulseaudio.muted,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#network.disconnected,
|
||||||
|
#backlight,
|
||||||
|
#battery,
|
||||||
|
#network.disconnected,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#clock {
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
color: white;
|
||||||
|
border-radius: 32px;
|
||||||
|
padding: 1px 12px 0px 12px;
|
||||||
|
margin: 4px 0px 4px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
padding: 0px 4px 0px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging,
|
||||||
|
#battery.plugged
|
||||||
|
/*#custom-battery.charging*/ {
|
||||||
|
background-color: /*#27D301*/#00aa01;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: rgba(255, 255, 255, 0.1);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging),
|
||||||
|
#temperature.critical
|
||||||
|
/*#custom-battery.critical*/ {
|
||||||
|
background-color: #FF0000;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 1.0s;
|
||||||
|
animation-timing-function: steps(20);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning:not(.charging),
|
||||||
|
#temperature.warning
|
||||||
|
/*#custom-battery.warning*/ {
|
||||||
|
background-color: #FF7300;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.full {
|
||||||
|
background-color: #5962ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
padding: 1px 16px 0px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected,
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: #f2000e;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user