Compare commits
@@ -82,6 +82,7 @@ Use these instead of raw shell commands:
|
||||
- `omarchy-cmd-missing` / `omarchy-cmd-present` - check for commands
|
||||
- `omarchy-pkg-missing` / `omarchy-pkg-present` - check for packages
|
||||
- `omarchy-pkg-add` - install packages (handles both pacman and AUR)
|
||||
- `omarchy-notification-send` - send desktop notifications; do not call `notify-send` directly
|
||||
- `omarchy-hw-asus-rog` - detect ASUS ROG hardware (and similar `hw-*` commands)
|
||||
|
||||
Exceptions are allowed for bootstrap, preflight, migration, and package-helper scripts where the helper may not be available yet, where the helper itself is being implemented, or where direct package-manager behavior is required.
|
||||
@@ -92,6 +93,10 @@ Exceptions are allowed for bootstrap, preflight, migration, and package-helper s
|
||||
- `default/themed/*.tpl` - templates with `{{ variable }}` placeholders for theme colors
|
||||
- `themes/*/colors.toml` - theme color definitions (accent, background, foreground, color0-15)
|
||||
|
||||
# Visual Changes
|
||||
|
||||
When making visual changes, such as Waybar styles or desktop appearance, always take and analyze a screenshot after applying the change to verify the result. Use `omarchy capture screenshot fullscreen save` for fullscreen screenshots.
|
||||
|
||||
# Refresh Pattern
|
||||
|
||||
To copy a default config to user config with automatic backup:
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
After Width: | Height: | Size: 63 KiB |
@@ -40,12 +40,14 @@ GROUP_DESCRIPTIONS[default]="Default application selection"
|
||||
GROUP_DESCRIPTIONS[dev]="Omarchy development tools"
|
||||
GROUP_DESCRIPTIONS[drive]="Drive selection and encryption"
|
||||
GROUP_DESCRIPTIONS[font]="Font management"
|
||||
GROUP_DESCRIPTIONS[games]="Game launchers and helpers"
|
||||
GROUP_DESCRIPTIONS[hibernation]="Hibernation setup and removal"
|
||||
GROUP_DESCRIPTIONS[hook]="User hook runner"
|
||||
GROUP_DESCRIPTIONS[hw]="Hardware detection and controls"
|
||||
GROUP_DESCRIPTIONS[hyprland]="Hyprland window, monitor, and toggle controls"
|
||||
GROUP_DESCRIPTIONS[install]="Optional software installers"
|
||||
GROUP_DESCRIPTIONS[launch]="Application launchers"
|
||||
GROUP_DESCRIPTIONS[mako]="Mako notification controls"
|
||||
GROUP_DESCRIPTIONS[menu]="Omarchy menu commands"
|
||||
GROUP_DESCRIPTIONS[migrate]="Migration runner"
|
||||
GROUP_DESCRIPTIONS[notification]="Notification helpers"
|
||||
@@ -61,6 +63,7 @@ GROUP_DESCRIPTIONS[restart]="Restart Omarchy components"
|
||||
GROUP_DESCRIPTIONS[setup]="Interactive setup wizards"
|
||||
GROUP_DESCRIPTIONS[screensaver]="Screensaver branding and animation"
|
||||
GROUP_DESCRIPTIONS[snapshot]="System snapshots"
|
||||
GROUP_DESCRIPTIONS[style]="Global UI style controls"
|
||||
GROUP_DESCRIPTIONS[sudo]="Sudo configuration helpers"
|
||||
GROUP_DESCRIPTIONS[swayosd]="SwayOSD status display helpers"
|
||||
GROUP_DESCRIPTIONS[system]="Reboot, shutdown, logout, and lock"
|
||||
|
||||
@@ -8,10 +8,12 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SOURCE_DIR="${XDG_PICTURES_DIR:-$HOME/Pictures}"
|
||||
|
||||
case "${1:-}" in
|
||||
image)
|
||||
image=$(omarchy-menu-file "Logo image" "$HOME" "svg png")
|
||||
if [[ -n $image ]] && omarchy-transcode-ascii "$image" ~/.config/omarchy/branding/about.txt --width 54 --height 26 --mode block; then
|
||||
image=$(omarchy-menu-file "Pick png/svg from $SOURCE_DIR" "${SOURCE_DIR}" "svg png")
|
||||
if [[ -n $image ]] && omarchy-transcode-ascii "$image" ~/.config/omarchy/branding/about.txt --width 54 --height 26; then
|
||||
omarchy-launch-about >/dev/null 2>&1
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -8,9 +8,11 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SOURCE_DIR="${XDG_PICTURES_DIR:-$HOME/Pictures}"
|
||||
|
||||
case "${1:-}" in
|
||||
image)
|
||||
image=$(omarchy-menu-file "Logo image" "$HOME" "svg png")
|
||||
image=$(omarchy-menu-file "Pick png/svg from $SOURCE_DIR" "${SOURCE_DIR}" "svg png")
|
||||
if [[ -n $image ]] && omarchy-transcode-ascii "$image" ~/.config/omarchy/branding/screensaver.txt; then
|
||||
omarchy-launch-screensaver force >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
@@ -233,6 +233,7 @@ stop_screenrecording() {
|
||||
else
|
||||
finalize_recording
|
||||
local filename=$(cat "$RECORDING_FILE" 2>/dev/null)
|
||||
echo "$filename"
|
||||
local preview="${filename%.mp4}-preview.png"
|
||||
|
||||
# Generate a preview thumbnail from the first frame
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# omarchy:summary=Take a screenshot
|
||||
# omarchy:group=capture
|
||||
# omarchy:args=[smart|region|windows|fullscreen] [slurp|copy] [--editor=<name>]
|
||||
# omarchy:args=[smart|region|windows|fullscreen] [slurp|copy|save] [--editor=<name>]
|
||||
# omarchy:examples=omarchy screenshot | omarchy capture screenshot region
|
||||
# omarchy:aliases=omarchy screenshot
|
||||
|
||||
@@ -126,14 +126,22 @@ esac
|
||||
FILENAME="screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png"
|
||||
FILEPATH="$OUTPUT_DIR/$FILENAME"
|
||||
|
||||
if [[ $PROCESSING == "slurp" ]]; then
|
||||
grim -g "$SELECTION" "$FILEPATH" || exit 1
|
||||
wl-copy <"$FILEPATH"
|
||||
case "$PROCESSING" in
|
||||
slurp)
|
||||
grim -g "$SELECTION" "$FILEPATH" || exit 1
|
||||
echo "$FILEPATH"
|
||||
wl-copy <"$FILEPATH"
|
||||
|
||||
(
|
||||
ACTION=$(notify-send "Screenshot saved to clipboard and file" "Edit with Super + Alt + , (or click this)" -t 10000 -i "$FILEPATH" -A "default=edit")
|
||||
[[ $ACTION == "default" ]] && open_editor "$FILEPATH"
|
||||
) &
|
||||
else
|
||||
grim -g "$SELECTION" - | wl-copy
|
||||
fi
|
||||
(
|
||||
ACTION=$(notify-send "Screenshot saved to clipboard and file" "Edit with Super + Alt + , (or click this)" -t 10000 -i "$FILEPATH" -A "default=edit")
|
||||
[[ $ACTION == "default" ]] && open_editor "$FILEPATH"
|
||||
) >/dev/null 2>&1 &
|
||||
;;
|
||||
copy)
|
||||
grim -g "$SELECTION" - | wl-copy
|
||||
;;
|
||||
save)
|
||||
grim -g "$SELECTION" "$FILEPATH" || exit 1
|
||||
echo "$FILEPATH"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -25,7 +25,7 @@ brave) desktop_id="brave-browser.desktop"; name="Brave"; glyph="" ;;
|
||||
brave-origin) desktop_id="brave-origin-beta.desktop"; name="Brave Origin"; glyph="" ;;
|
||||
edge) desktop_id="microsoft-edge.desktop"; name="Edge"; glyph="" ;;
|
||||
firefox) desktop_id="firefox.desktop"; name="Firefox"; glyph="" ;;
|
||||
zen) desktop_id="zen.desktop"; name="Zen"; glyph="" ;;
|
||||
zen) desktop_id="zen.desktop"; name="Zen"; glyph="" ;;
|
||||
*)
|
||||
echo "Usage: omarchy-default-browser <chromium|chrome|brave|brave-origin|edge|firefox|zen>"
|
||||
exit 1
|
||||
|
||||
@@ -16,6 +16,7 @@ if [[ -f $FIRST_RUN_MODE ]]; then
|
||||
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/gdk-scale.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/swayosd.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/gtk-primary-paste.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=List installed RetroArch core names
|
||||
|
||||
set -e
|
||||
|
||||
core_dir="/usr/lib/libretro"
|
||||
preferred_cores=(
|
||||
"Amstrad CPC|cap32"
|
||||
"Arcade FBNeo|fbneo"
|
||||
"Arcade MAME|mame"
|
||||
"Commodore Amiga|puae"
|
||||
"Commodore C128|vice_x128"
|
||||
"Commodore C64|vice_x64"
|
||||
"Commodore VIC-20|vice_xvic"
|
||||
"Nintendo DS|desmume"
|
||||
"Nintendo Game Boy / Color|gambatte"
|
||||
"Nintendo Game Boy Advance|mgba"
|
||||
"Nintendo GameCube / Wii|dolphin"
|
||||
"Nintendo NES / Famicom|mesen"
|
||||
"Nintendo 64|parallel_n64"
|
||||
"Nintendo SNES / SFC|snes9x"
|
||||
"NEC PC Engine / TurboGrafx-16|mednafen_pce_fast"
|
||||
"NEC PC Engine CD / TurboGrafx-CD|mednafen_pce"
|
||||
"NEC PC Engine SuperGrafx|mednafen_supergrafx"
|
||||
"Sega Dreamcast|flycast"
|
||||
"Sega Mega Drive / Master System / Game Gear|genesis_plus_gx"
|
||||
"Sega Saturn|kronos"
|
||||
"Sony PlayStation|mednafen_psx_hw"
|
||||
"Sony PlayStation Portable|ppsspp"
|
||||
)
|
||||
|
||||
[[ -d $core_dir ]] || exit 0
|
||||
|
||||
for preferred_core in "${preferred_cores[@]}"; do
|
||||
label="${preferred_core%%|*}"
|
||||
core="${preferred_core#*|}"
|
||||
[[ -f $core_dir/${core}_libretro.so ]] && printf '%s (%s)\n' "$label" "$core"
|
||||
done
|
||||
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Create a desktop launcher for a RetroArch game
|
||||
# omarchy:args=[core path-to-game]
|
||||
# omarchy:examples=omarchy games retro install snes9x ~/Games/roms/snes/game.sfc | omarchy-games-retro-install /usr/lib/libretro/mgba_libretro.so ~/Games/roms/gba/game.gba
|
||||
|
||||
set -e
|
||||
|
||||
if (( $# == 0 )); then
|
||||
mapfile -t cores < <(omarchy-games-retro-cores)
|
||||
|
||||
if (( ${#cores[@]} == 0 )); then
|
||||
omarchy-notification-send -g "" "No RetroArch cores found" "/usr/lib/libretro"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
core=$(omarchy-menu-select "RetroArch core" "${cores[@]}") || exit 0
|
||||
[[ -n $core ]] || exit 0
|
||||
core="${core##*(}"
|
||||
core="${core%)}"
|
||||
|
||||
game_path=$(omarchy-menu-file "Retro game" "$HOME/Games/roms" "7z bin ccd chd cue dmg elf fds gb gba gbc iso lha m3u md n64 nds nes pbp sfc smc swc zip z64") || exit 0
|
||||
[[ -n $game_path ]] || exit 0
|
||||
elif (( $# == 2 )); then
|
||||
core="$1"
|
||||
game_path="$2"
|
||||
else
|
||||
echo "Usage: omarchy-games-retro-install [core path-to-game]"
|
||||
echo "Example: omarchy-games-retro-install snes9x ~/Games/roms/snes/game.sfc"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f $game_path ]]; then
|
||||
echo "Game not found: $game_path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $core == */* ]]; then
|
||||
core_path="$core"
|
||||
else
|
||||
core_path="/usr/lib/libretro/${core}_libretro.so"
|
||||
fi
|
||||
|
||||
if [[ ! -f $core_path ]]; then
|
||||
echo "Core not found: $core_path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
game_name=$(printf '%s' "${game_path##*/}" | sed 's/\.[^.]*$//; s/[[:space:]]*([^)]*)//g; s/[[:space:]]\+/ /g; s/^ //; s/ $//' | perl -Mopen=locale -pe 's/(^|[[:space:]])([^[:space:]])/$1\U$2/g')
|
||||
desktop_name="$game_name"
|
||||
desktop_id=$(printf '%s' "$desktop_name" | tr '[:upper:]' '[:lower:]' | tr -cs '[:alnum:]' '-' | sed 's/^-//; s/-$//')
|
||||
desktop_dir="$HOME/.local/share/applications"
|
||||
desktop_file="$desktop_dir/$desktop_id.desktop"
|
||||
icon_dir="$desktop_dir/icons"
|
||||
icon_path="$icon_dir/Retro Gaming.png"
|
||||
|
||||
mkdir -p "$desktop_dir" "$icon_dir"
|
||||
[[ -f $icon_path ]] || cp "$HOME/.local/share/omarchy/applications/icons/Retro Gaming.png" "$icon_path"
|
||||
|
||||
cat >"$desktop_file" <<EOF
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=$desktop_name
|
||||
Comment=Play $game_name with RetroArch
|
||||
Exec=retroarch -L "$core_path" "$game_path"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=$icon_path
|
||||
StartupNotify=true
|
||||
Categories=Game;Emulator;
|
||||
EOF
|
||||
|
||||
chmod +x "$desktop_file"
|
||||
update-desktop-database "$desktop_dir" &>/dev/null || true
|
||||
|
||||
omarchy-notification-send -g "" "$game_name installed" "Start it with Super + Space"
|
||||
@@ -10,34 +10,44 @@ MIRROR_TOGGLE="internal-monitor-mirror"
|
||||
# Get internal monitor name dynamically
|
||||
INTERNAL=$(hyprctl monitors -j | jq -r '.[] | select(.name | contains("eDP")).name' | head -n 1)
|
||||
|
||||
enable() {
|
||||
if omarchy-hyprland-toggle-enabled "$TOGGLE"; then
|
||||
omarchy-hyprland-toggle --disabled-notification " Laptop display enabled" "$TOGGLE"
|
||||
on() {
|
||||
if omarchy-hyprland-toggle-enabled $TOGGLE; then
|
||||
omarchy-hyprland-toggle $TOGGLE off
|
||||
omarchy-notification-send -g "Laptop display enabled"
|
||||
fi
|
||||
}
|
||||
|
||||
disable() {
|
||||
off() {
|
||||
if ! omarchy-hw-external-monitors; then
|
||||
notify-send -u low " Can't disable the only active display"
|
||||
omarchy-notification-send -g "Can't disable the only active display"
|
||||
exit 1
|
||||
fi
|
||||
if omarchy-hyprland-toggle-disabled "$TOGGLE" && omarchy-hyprland-toggle-disabled "$MIRROR_TOGGLE"; then
|
||||
|
||||
if omarchy-hyprland-toggle-disabled $TOGGLE && omarchy-hyprland-toggle-disabled $MIRROR_TOGGLE; then
|
||||
echo "monitor=$INTERNAL,disable" >"$TOGGLE_FLAG"
|
||||
notify-send -u low " Laptop display disabled"
|
||||
omarchy-notification-send -g "Laptop display disabled"
|
||||
hyprctl reload
|
||||
fi
|
||||
}
|
||||
|
||||
recover() {
|
||||
if ! omarchy-hw-external-monitors && omarchy-hyprland-toggle-enabled "$TOGGLE"; then
|
||||
omarchy-hyprland-toggle "$TOGGLE"
|
||||
if ! omarchy-hw-external-monitors; then
|
||||
omarchy-hyprland-toggle $TOGGLE off
|
||||
fi
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if omarchy-hyprland-toggle-enabled $TOGGLE; then
|
||||
on
|
||||
else
|
||||
off
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
on) enable ;;
|
||||
off) disable ;;
|
||||
toggle) if omarchy-hyprland-toggle-enabled "$TOGGLE"; then enable; else disable; fi ;;
|
||||
on) on ;;
|
||||
off) off ;;
|
||||
toggle) toggle ;;
|
||||
recover) recover ;;
|
||||
*)
|
||||
echo "Usage: $(basename "$0") {on|off|toggle|recover}" >&2
|
||||
|
||||
@@ -12,44 +12,48 @@ INTERNAL=$(hyprctl monitors -j | jq -r '.[] | select(.name | contains("eDP")).na
|
||||
# Get the first available external monitor
|
||||
EXTERNAL=$(hyprctl monitors -j | jq -r '.[] | select(.name | contains("eDP") | not).name' | head -n 1)
|
||||
|
||||
enable() {
|
||||
if [[ -z "$EXTERNAL" ]]; then
|
||||
notify-send -u low " No external monitors found for mirror"
|
||||
on() {
|
||||
if [[ -z $EXTERNAL ]]; then
|
||||
omarchy-notification-send -g "No external monitors found for mirror"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$INTERNAL" ]]; then
|
||||
notify-send -u low " No laptop monitor found to mirror"
|
||||
if [[ -z $INTERNAL ]]; then
|
||||
omarchy-notification-send -g "No laptop monitor found to mirror"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if omarchy-hyprland-toggle-enabled "$DISABLE_TOGGLE"; then
|
||||
omarchy-hyprland-toggle "$DISABLE_TOGGLE"
|
||||
fi
|
||||
omarchy-hyprland-toggle $DISABLE_TOGGLE off
|
||||
echo "monitor=$EXTERNAL, preferred, auto, 1, mirror, $INTERNAL" >"$TOGGLE_FLAG"
|
||||
omarchy-notification-send -g "Mirroring enabled ($EXTERNAL)"
|
||||
hyprctl reload
|
||||
}
|
||||
|
||||
if omarchy-hyprland-toggle-disabled "$TOGGLE"; then
|
||||
echo "monitor=$EXTERNAL, preferred, auto, 1, mirror, $INTERNAL" > "$TOGGLE_FLAG"
|
||||
notify-send -u low " Mirroring enabled ($EXTERNAL)"
|
||||
hyprctl reload
|
||||
off() {
|
||||
if omarchy-hyprland-toggle-enabled $TOGGLE; then
|
||||
omarchy-hyprland-toggle $TOGGLE off
|
||||
omarchy-notification-send -g "Extended mode restored"
|
||||
fi
|
||||
}
|
||||
|
||||
disable() {
|
||||
if omarchy-hyprland-toggle-enabled "$TOGGLE"; then
|
||||
omarchy-hyprland-toggle --disabled-notification " Extended mode restored" "$TOGGLE"
|
||||
toggle() {
|
||||
if omarchy-hyprland-toggle-enabled $TOGGLE; then
|
||||
off
|
||||
else
|
||||
on
|
||||
fi
|
||||
}
|
||||
|
||||
recover() {
|
||||
if ! omarchy-hw-external-monitors && omarchy-hyprland-toggle-enabled "$TOGGLE"; then
|
||||
omarchy-hyprland-toggle "$TOGGLE"
|
||||
if ! omarchy-hw-external-monitors; then
|
||||
omarchy-hyprland-toggle $TOGGLE off
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
on) enable ;;
|
||||
off) disable ;;
|
||||
toggle) if omarchy-hyprland-toggle-enabled "$TOGGLE"; then disable; else enable; fi ;;
|
||||
on) on ;;
|
||||
off) off ;;
|
||||
toggle) toggle ;;
|
||||
recover) recover ;;
|
||||
*)
|
||||
echo "Usage: $(basename "$0") {on|off|toggle|recover}" >&2
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Print the monitor scale of the internal monitor or first other monitor
|
||||
|
||||
hyprctl monitors -j | jq -r '([.[] | select(.name | contains("eDP"))][0] // .[0]).scale // empty | tonumber | if . == floor then floor else . end'
|
||||
@@ -40,7 +40,10 @@ MONITOR_CONF="$HOME/.config/hypr/monitors.conf"
|
||||
if [[ -f $MONITOR_CONF ]]; then
|
||||
mapfile -t ACTIVE_LINES < <(grep -E '^[[:space:]]*monitor=' "$MONITOR_CONF" | grep -vE 'disable[[:space:]]*$')
|
||||
if [[ ${#ACTIVE_LINES[@]} -eq 1 ]] && [[ "${ACTIVE_LINES[0]}" =~ ^monitor=,preferred,auto, ]]; then
|
||||
sed -i -E "s|^(monitor=,preferred,auto,).*|\\1${NEW_SCALE}|" "$MONITOR_CONF"
|
||||
sed -i -E \
|
||||
-e "s|^(monitor=,preferred,auto,).*|\\1${NEW_SCALE}|" \
|
||||
-e "s|^([[:space:]]*env[[:space:]]*=[[:space:]]*GDK_SCALE,).*|\\1${NEW_SCALE}|" \
|
||||
"$MONITOR_CONF"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,32 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Toggle permanent Hyprland flags by copying them into a directory that's sourced entirely.
|
||||
# omarchy:args=[--enabled-notification <text>] [--disabled-notification <text>] <flag-name>
|
||||
|
||||
ENABLED_NOTIFICATION=""
|
||||
DISABLED_NOTIFICATION=""
|
||||
|
||||
while [[ $# -gt 1 ]]; do
|
||||
case $1 in
|
||||
--enabled-notification) ENABLED_NOTIFICATION="$2"; shift 2 ;;
|
||||
--disabled-notification) DISABLED_NOTIFICATION="$2"; shift 2 ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
# omarchy:args=<flag-name> [on|off]
|
||||
|
||||
FLAG_NAME="$1"
|
||||
ACTION="${2:-toggle}"
|
||||
FLAG="$HOME/.local/state/omarchy/toggles/hypr/$FLAG_NAME.conf"
|
||||
FLAG_SOURCE="$OMARCHY_PATH/default/hypr/toggles/$FLAG_NAME.conf"
|
||||
|
||||
if [[ -f $FLAG ]]; then
|
||||
rm $FLAG
|
||||
[[ -n $DISABLED_NOTIFICATION ]] && notify-send -u low "$DISABLED_NOTIFICATION"
|
||||
elif [[ -f $FLAG_SOURCE ]]; then
|
||||
cp $FLAG_SOURCE $FLAG
|
||||
[[ -n $ENABLED_NOTIFICATION ]] && notify-send -u low "$ENABLED_NOTIFICATION"
|
||||
else
|
||||
echo "Flag not found: $FLAG_NAME"
|
||||
exit 1
|
||||
fi
|
||||
on() {
|
||||
if [[ -f $FLAG_SOURCE ]]; then
|
||||
mkdir -p "$(dirname "$FLAG")"
|
||||
cp "$FLAG_SOURCE" "$FLAG"
|
||||
else
|
||||
echo "Flag not found: $FLAG_NAME"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
hyprctl reload
|
||||
off() {
|
||||
rm -f "$FLAG"
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if [[ -f $FLAG ]]; then
|
||||
off
|
||||
echo "off"
|
||||
else
|
||||
on
|
||||
echo "on"
|
||||
fi
|
||||
}
|
||||
|
||||
case $ACTION in
|
||||
on) on ;;
|
||||
off) off ;;
|
||||
toggle) toggle ;;
|
||||
*)
|
||||
echo "Usage: omarchy-hyprland-toggle <flag-name> [on|off]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
hyprctl reload >/dev/null
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# omarchy:summary=Toggle single-window square aspect ratio.
|
||||
|
||||
omarchy-hyprland-toggle \
|
||||
--enabled-notification " Enable single-window square aspect ratio" \
|
||||
--disabled-notification " Disable single-window square aspect ratio" \
|
||||
single-window-aspect-ratio
|
||||
case $(omarchy-hyprland-toggle single-window-aspect-ratio) in
|
||||
on) omarchy-notification-send -g "Enable single-window square aspect ratio" ;;
|
||||
off) omarchy-notification-send -g "Disable single-window square aspect ratio" ;;
|
||||
esac
|
||||
|
||||
@@ -21,7 +21,10 @@ omarchy-pkg-add \
|
||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||
libretro-sameboy libretro-scummvm libretro-shaders-slang libretro-snes9x \
|
||||
libretro-yabause \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git libretro-vice-git \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git \
|
||||
libretro-vice-x128-git libretro-vice-x64-git libretro-vice-x64dtv-git libretro-vice-x64sc-git \
|
||||
libretro-vice-xcbm2-git libretro-vice-xcbm5x0-git libretro-vice-xpet-git \
|
||||
libretro-vice-xplus4-git libretro-vice-xscpu64-git libretro-vice-xvic-git \
|
||||
libretro-database-git \
|
||||
retroarch-joypad-autoconfig-git
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ show_custom_reminder_input() {
|
||||
if [[ $minutes =~ ^[0-9]+$ ]] && ((minutes > 0)); then
|
||||
show_reminder_message_input "$minutes"
|
||||
elif [[ -n $minutes ]]; then
|
||||
omarchy-notification-send "" "Invalid reminder" "Enter the number of minutes" -u critical
|
||||
omarchy-notification-send -g "Invalid reminder" "Enter the number of minutes" -u critical
|
||||
show_custom_reminder_input
|
||||
else
|
||||
back_to show_reminder_menu
|
||||
@@ -195,7 +195,8 @@ show_screenrecord_menu() {
|
||||
}
|
||||
|
||||
show_share_menu() {
|
||||
case $(menu "Share" " Clipboard\n File \n Folder") in
|
||||
case $(menu "Share" " Clipboard\n File \n Folder\n Receive") in
|
||||
*Receive*) uwsm-app -- localsend ;;
|
||||
*Clipboard*) omarchy-menu-share clipboard ;;
|
||||
*File*) terminal bash -c "omarchy-menu-share file" ;;
|
||||
*Folder*) terminal bash -c "omarchy-menu-share folder" ;;
|
||||
@@ -264,18 +265,39 @@ show_hardware_touchpad_haptics_menu() {
|
||||
}
|
||||
|
||||
show_style_menu() {
|
||||
case $(menu "Style" " Theme\n Unlock\n Font\n Background\n Hyprland\n Screensaver\n About") in
|
||||
case $(menu "Style" " Theme\n Unlock\n Font\n Background\n Waybar\n Corners\n Hyprland\n Screensaver\n About") in
|
||||
|
||||
*Theme*) show_theme_menu ;;
|
||||
*Unlock*) omarchy-launch-walker -m menus:omarchyunlocks --width 800 --minheight 400 ;;
|
||||
*Font*) show_font_menu ;;
|
||||
*Background*) show_background_menu ;;
|
||||
*Corners*) show_style_corners_menu ;;
|
||||
*Hyprland*) open_in_editor ~/.config/hypr/looknfeel.conf ;;
|
||||
*Waybar*) show_waybar_position_menu ;;
|
||||
*Screensaver*) show_screensaver_menu ;;
|
||||
*About*) show_about_menu ;;
|
||||
*) show_main_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_style_corners_menu() {
|
||||
case $(omarchy-menu-select "Corners" " Sharp" " Round") in
|
||||
*Sharp*) omarchy-style-corners sharp ;;
|
||||
*Round*) omarchy-style-corners round ;;
|
||||
*) show_style_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_waybar_position_menu() {
|
||||
case $(menu "Waybar Position" " Top\n Bottom\n Left\n Right") in
|
||||
*Top*) omarchy-style-waybar-position top ;;
|
||||
*Bottom*) omarchy-style-waybar-position bottom ;;
|
||||
*Left*) omarchy-style-waybar-position left ;;
|
||||
*Right*) omarchy-style-waybar-position right ;;
|
||||
*) show_style_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
show_about_menu() {
|
||||
case $(menu "About" " Edit Text\n Set From Image\n Restore Default") in
|
||||
*Text*) omarchy-branding-about text ;;
|
||||
@@ -578,8 +600,9 @@ show_install_ai_menu() {
|
||||
}
|
||||
|
||||
show_install_gaming_menu() {
|
||||
case $(menu "Install" " Steam\n RetroArch\n Minecraft\n NVIDIA GeForce NOW\n Xbox Cloud Gaming\n Xbox Controller\n Moonlight (GameStream)\n Lutris (Battle.net)\n Heroic (Epic Games)") in
|
||||
case $(menu "Install" " Steam\n RetroArch\n Minecraft\n NVIDIA GeForce NOW\n Xbox Cloud Gaming\n Xbox Controller\n Moonlight (GameStream)\n Lutris (Battle.net)\n Heroic (Epic Games)\n RetroArch Game Launcher") in
|
||||
*Steam*) present_terminal omarchy-install-gaming-steam ;;
|
||||
*"RetroArch Game Launcher"*) omarchy-games-retro-install ;;
|
||||
*RetroArch*) present_terminal omarchy-install-gaming-retroarch ;;
|
||||
*Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;;
|
||||
*GeForce*) present_terminal omarchy-install-gaming-geforce-now ;;
|
||||
|
||||
@@ -3,6 +3,23 @@
|
||||
# omarchy:summary=Display Hyprland keybindings defined in your configuration using walker for an interactive search menu.
|
||||
|
||||
declare -A KEYCODE_SYM_MAP
|
||||
# Hyprland reports XKB keycodes for code: bindings. Keep a small fallback for
|
||||
# common keys so the menu remains readable if xkbcli cannot resolve a symbol.
|
||||
declare -A FALLBACK_KEYCODE_SYM_MAP=(
|
||||
[10]="1"
|
||||
[11]="2"
|
||||
[12]="3"
|
||||
[13]="4"
|
||||
[14]="5"
|
||||
[15]="6"
|
||||
[16]="7"
|
||||
[17]="8"
|
||||
[18]="9"
|
||||
[19]="0"
|
||||
[20]="MINUS"
|
||||
[21]="EQUAL"
|
||||
[61]="SLASH"
|
||||
)
|
||||
|
||||
build_keymap_cache() {
|
||||
local keymap
|
||||
@@ -37,7 +54,18 @@ build_keymap_cache() {
|
||||
}
|
||||
|
||||
lookup_keycode_cached() {
|
||||
printf '%s\n' "${KEYCODE_SYM_MAP[$1]}"
|
||||
local symbol
|
||||
symbol="${KEYCODE_SYM_MAP[$1]}"
|
||||
|
||||
if [[ -z $symbol ]]; then
|
||||
symbol="${FALLBACK_KEYCODE_SYM_MAP[$1]}"
|
||||
fi
|
||||
|
||||
if [[ -z $symbol ]]; then
|
||||
symbol="code:$1"
|
||||
fi
|
||||
|
||||
printf '%s\n' "${symbol^^}"
|
||||
}
|
||||
|
||||
parse_keycodes() {
|
||||
|
||||
@@ -1,32 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Send a desktop notification with Omarchy glyph and body spacing
|
||||
# omarchy:args=<glyph> <headline> [description] [notify-send options]
|
||||
# omarchy:examples=omarchy notification send "" "Reminder" "5 minutes are up" -u critical
|
||||
# omarchy:args=<headline> [description] [-g <glyph>] [-u <low|normal|critical>] [notify-send options]
|
||||
# omarchy:examples=omarchy notification send "Reminder" "5 minutes are up" -g -u critical
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if (($# < 2)); then
|
||||
echo "Usage: omarchy-notification-send <glyph> <headline> [description] [notify-send options]"
|
||||
headline=""
|
||||
description=""
|
||||
glyph=""
|
||||
urgency="low"
|
||||
args=()
|
||||
|
||||
parse_omarchy_option() {
|
||||
case $1 in
|
||||
-g | --glyph)
|
||||
if (($# < 2)); then
|
||||
echo "Missing value for $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
glyph="$2"
|
||||
return 0
|
||||
;;
|
||||
-u | --urgency)
|
||||
if (($# < 2)); then
|
||||
echo "Missing value for $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
urgency="$2"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
while (($# > 0)); do
|
||||
if parse_omarchy_option "$@"; then
|
||||
shift 2
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if (($# < 1)); then
|
||||
echo "Usage: omarchy-notification-send [-g <glyph>] [-u <low|normal|critical>] <headline> [description] [notify-send options]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
glyph=$1
|
||||
headline=$2
|
||||
description=${3:-}
|
||||
shift 2
|
||||
headline=$1
|
||||
shift
|
||||
|
||||
if (($# > 0)) && [[ $1 != -* ]]; then
|
||||
description=$1
|
||||
shift
|
||||
else
|
||||
description=""
|
||||
fi
|
||||
|
||||
while (($# > 0)); do
|
||||
if parse_omarchy_option "$@"; then
|
||||
shift 2
|
||||
else
|
||||
args+=("$1")
|
||||
shift
|
||||
fi
|
||||
done
|
||||
|
||||
summary="$glyph $headline"
|
||||
args+=("-u" "$urgency")
|
||||
|
||||
if [[ -n $description ]]; then
|
||||
description=$(sed 's/^/ /' <<<"$description")
|
||||
notify-send "$@" "$summary" "$description"
|
||||
description=$(printf '%b' "$description" | sed 's/^/ /')
|
||||
notify-send "${args[@]}" "$summary" "$description"
|
||||
else
|
||||
notify-send "$@" "$summary"
|
||||
notify-send "${args[@]}" "$summary"
|
||||
fi
|
||||
|
||||
@@ -19,5 +19,8 @@ echo
|
||||
sudo cp -f "$OMARCHY_PATH/default/pacman/pacman-$channel.conf" /etc/pacman.conf
|
||||
sudo cp -f "$OMARCHY_PATH/default/pacman/mirrorlist-$channel" /etc/pacman.d/mirrorlist
|
||||
|
||||
# Allow user customization of /etc/pacman.conf before the upgrade runs
|
||||
omarchy-hook pre-refresh-pacman
|
||||
|
||||
# Reset all package DBs and then update
|
||||
sudo pacman -Syyuu --noconfirm
|
||||
|
||||
@@ -5,5 +5,4 @@
|
||||
|
||||
omarchy-refresh-config waybar/config.jsonc
|
||||
omarchy-refresh-config waybar/style.css
|
||||
echo "top" >"$HOME/.config/waybar/.style"
|
||||
omarchy-restart-waybar
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Reinstall the Omarchy source directory from git
|
||||
# omarchy:summary=Reinstall the stable Omarchy source directory from git
|
||||
|
||||
set -e
|
||||
|
||||
# Reinstall the Omarchy configuration directory from the git source.
|
||||
|
||||
git clone --depth=1 "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null
|
||||
git clone "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null
|
||||
mv $OMARCHY_PATH ~/.local/share/omarchy-old
|
||||
mv ~/.local/share/omarchy-new $OMARCHY_PATH
|
||||
|
||||
@@ -41,21 +41,18 @@ parse_systemd_timespan() {
|
||||
}
|
||||
|
||||
show_reminders() {
|
||||
local timers timer next next_seconds uptime remaining body=""
|
||||
local timer next remaining body=""
|
||||
local reminder_dir="${XDG_RUNTIME_DIR:-/tmp}/omarchy-reminders"
|
||||
local reminder_message=""
|
||||
local now=$(date +%s)
|
||||
|
||||
timers=$(systemctl --user list-timers --all --no-legend --no-pager "omarchy-reminder-*.timer" 2>/dev/null | awk '{ print $(NF - 1) }')
|
||||
uptime=${SECONDS_SINCE_BOOT:-$(awk '{ print int($1) }' /proc/uptime)}
|
||||
while IFS=$'\t' read -r timer next; do
|
||||
[[ -z $timer || -z $next ]] && continue
|
||||
|
||||
for timer in $timers; do
|
||||
next=$(systemctl --user show -P NextElapseUSecMonotonic "$timer" 2>/dev/null || true)
|
||||
[[ -z $next ]] && continue
|
||||
next=$((next / 1000000))
|
||||
((next <= now)) && continue
|
||||
|
||||
next_seconds=$(parse_systemd_timespan "$next")
|
||||
((next_seconds <= uptime)) && continue
|
||||
|
||||
remaining=$((next_seconds - uptime))
|
||||
remaining=$((next - now))
|
||||
reminder=${timer%.timer}
|
||||
reminder=${reminder#omarchy-reminder-}
|
||||
set_at=${reminder##*-}
|
||||
@@ -64,16 +61,16 @@ show_reminders() {
|
||||
[[ -f $reminder_dir/${timer%.timer}.message ]] && reminder_message=$(<"$reminder_dir/${timer%.timer}.message")
|
||||
|
||||
if [[ -n $reminder_message ]]; then
|
||||
body+="$reminder_message in $(format_remaining $remaining) ($(date -d "@$((set_at + reminder_minutes * 60))" +%-H:%M))"$'\n'
|
||||
body+="$reminder_message in $(format_remaining $remaining) ($(date -d "@$next" +%-H:%M))"$'\n'
|
||||
else
|
||||
body+="${reminder_minutes}-min reminder in $(format_remaining $remaining) ($(date -d "@$((set_at + reminder_minutes * 60))" +%-H:%M))"$'\n'
|
||||
body+="${reminder_minutes}-min reminder in $(format_remaining $remaining) ($(date -d "@$next" +%-H:%M))"$'\n'
|
||||
fi
|
||||
done
|
||||
done < <(systemctl --user list-timers --all --output=json "omarchy-reminder-*.timer" 2>/dev/null | jq -r '.[] | [.unit, .next] | @tsv')
|
||||
|
||||
if [[ -z $body ]]; then
|
||||
omarchy-notification-send "" "Upcoming reminders" "No outstanding reminders" -u low
|
||||
omarchy-notification-send -g "Upcoming reminders" "No outstanding reminders"
|
||||
else
|
||||
omarchy-notification-send "" "Upcoming reminders" "${body%$'\n'}" -u low
|
||||
omarchy-notification-send -g "Upcoming reminders" "${body%$'\n'}"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -88,7 +85,7 @@ clear_reminders() {
|
||||
fi
|
||||
|
||||
rm -f "$reminder_dir"/omarchy-reminder-*.message 2>/dev/null || true
|
||||
omarchy-notification-send "" "All reminders have been cleared" -u low
|
||||
omarchy-notification-send -g "All reminders have been cleared"
|
||||
}
|
||||
|
||||
case ${1:-} in
|
||||
@@ -134,6 +131,6 @@ if [[ -n $custom_message ]]; then
|
||||
fi
|
||||
|
||||
systemd-run --user --quiet --collect --on-active="${minutes}m" --unit="$unit" \
|
||||
bash -c 'omarchy-notification-send "" "Reminder" "$1" -u critical; rm -f "$2"' bash "$message" "$message_file"
|
||||
bash -c 'omarchy-notification-send -g "Reminder" "$1" -u critical; rm -f "$2"' bash "$message" "$message_file"
|
||||
|
||||
omarchy-notification-send "" "$confirmation_title" "$confirmation" -u low
|
||||
omarchy-notification-send -g "$confirmation_title" "$confirmation"
|
||||
|
||||
@@ -21,7 +21,10 @@ omarchy-pkg-drop \
|
||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||
libretro-sameboy libretro-scummvm libretro-shaders-slang libretro-snes9x \
|
||||
libretro-yabause \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git libretro-vice-git \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git \
|
||||
libretro-vice-x128-git libretro-vice-x64-git libretro-vice-x64dtv-git libretro-vice-x64sc-git \
|
||||
libretro-vice-xcbm2-git libretro-vice-xcbm5x0-git libretro-vice-xpet-git \
|
||||
libretro-vice-xplus4-git libretro-vice-xscpu64-git libretro-vice-xvic-git \
|
||||
retroarch-joypad-autoconfig-git
|
||||
|
||||
rm -rf \
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set Hyprland, Hyprlock, Mako, and Walker corners to sharp or round
|
||||
# omarchy:args=<sharp|round>
|
||||
# omarchy:examples=omarchy style corners round | omarchy style corners sharp
|
||||
|
||||
if [[ $1 != "sharp" && $1 != "round" ]]; then
|
||||
echo "Usage: omarchy-style-corners <sharp|round>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
omarchy-style-corners-hyprland "$1"
|
||||
omarchy-style-corners-hyprlock "$1"
|
||||
omarchy-style-corners-mako "$1"
|
||||
omarchy-style-corners-walker "$1"
|
||||
|
||||
case $1 in
|
||||
sharp) omarchy-notification-send "Sharp corners enabled" -g ;;
|
||||
round) omarchy-notification-send "Round corners enabled" -g ;;
|
||||
esac
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set or toggle shape of Hyprland window corners
|
||||
# omarchy:args=[toggle|sharp|round]
|
||||
# omarchy:examples=omarchy style corners hyprland toggle | omarchy style corners hyprland round | omarchy style corners hyprland sharp
|
||||
|
||||
case "${1:-toggle}" in
|
||||
round) set -- on ;;
|
||||
sharp) set -- off ;;
|
||||
toggle) ;;
|
||||
*)
|
||||
echo "Usage: omarchy-style-corners-hyprland [toggle|sharp|round]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
omarchy-hyprland-toggle rounded-corners "$1"
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set or toggle rounded Hyprlock input field corners
|
||||
# omarchy:args=[toggle|sharp|round]
|
||||
# omarchy:examples=omarchy style corners hyprlock toggle | omarchy style corners hyprlock round | omarchy style corners hyprlock sharp
|
||||
|
||||
TOGGLES_CONFIG="$HOME/.local/state/omarchy/toggles/hyprlock.conf"
|
||||
|
||||
set_rounding() {
|
||||
local radius="$1"
|
||||
|
||||
mkdir -p "$(dirname "$TOGGLES_CONFIG")"
|
||||
|
||||
cat >"$TOGGLES_CONFIG" <<EOF
|
||||
input-field {
|
||||
rounding = $radius
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
case "${1:-toggle}" in
|
||||
round) set_rounding 6 ;;
|
||||
sharp) set_rounding 0 ;;
|
||||
toggle)
|
||||
if [[ -f $TOGGLES_CONFIG ]] && grep -q '^ rounding = 6$' "$TOGGLES_CONFIG"; then
|
||||
set_rounding 0
|
||||
else
|
||||
set_rounding 6
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: omarchy-style-corners-hyprlock [toggle|sharp|round]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set or toggle rounded Mako notification corners
|
||||
# omarchy:args=[toggle|sharp|round]
|
||||
# omarchy:examples=omarchy style corners mako toggle | omarchy style corners mako round | omarchy style corners mako sharp
|
||||
|
||||
TOGGLES_CONFIG="$HOME/.local/state/omarchy/toggles/mako.ini"
|
||||
|
||||
set_radius() {
|
||||
local radius="$1"
|
||||
|
||||
mkdir -p "$(dirname "$TOGGLES_CONFIG")"
|
||||
touch "$TOGGLES_CONFIG"
|
||||
|
||||
if grep -q '^border-radius=' "$TOGGLES_CONFIG"; then
|
||||
sed -i "s/^border-radius=.*/border-radius=$radius/" "$TOGGLES_CONFIG"
|
||||
else
|
||||
echo "border-radius=$radius" >>"$TOGGLES_CONFIG"
|
||||
fi
|
||||
}
|
||||
|
||||
case "${1:-toggle}" in
|
||||
round) set_radius 6 ;;
|
||||
sharp) set_radius 0 ;;
|
||||
toggle)
|
||||
if [[ -f $TOGGLES_CONFIG ]] && grep -q '^border-radius=6$' "$TOGGLES_CONFIG"; then
|
||||
set_radius 0
|
||||
else
|
||||
set_radius 6
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: omarchy-style-corners-mako [toggle|sharp|round]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
makoctl reload
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set or toggle rounded Walker corners
|
||||
# omarchy:args=[toggle|sharp|round]
|
||||
# omarchy:examples=omarchy style corners walker toggle | omarchy style corners walker round | omarchy style corners walker sharp
|
||||
|
||||
TOGGLES_CSS="$HOME/.local/state/omarchy/toggles/walker.css"
|
||||
|
||||
set_radius() {
|
||||
local radius="$1"
|
||||
|
||||
mkdir -p "$(dirname "$TOGGLES_CSS")"
|
||||
touch "$TOGGLES_CSS"
|
||||
|
||||
if grep -q '^ border-radius:' "$TOGGLES_CSS"; then
|
||||
sed -i "s/^ border-radius:.*/ border-radius: ${radius}px;/" "$TOGGLES_CSS"
|
||||
elif grep -q '^border-radius:' "$TOGGLES_CSS"; then
|
||||
sed -i "s/^border-radius:.*/border-radius: ${radius}px;/" "$TOGGLES_CSS"
|
||||
else
|
||||
echo ".box-wrapper { border-radius: ${radius}px; }" >>"$TOGGLES_CSS"
|
||||
fi
|
||||
}
|
||||
|
||||
case "${1:-toggle}" in
|
||||
round) set_radius 6 ;;
|
||||
sharp) set_radius 0 ;;
|
||||
toggle)
|
||||
if [[ -f $TOGGLES_CSS ]] && grep -q 'border-radius: 6px;' "$TOGGLES_CSS"; then
|
||||
set_radius 0
|
||||
else
|
||||
set_radius 6
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: omarchy-style-corners-walker [toggle|sharp|round]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
omarchy-restart-walker
|
||||
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set Waybar position
|
||||
# omarchy:args=<top|bottom|left|right>
|
||||
# omarchy:examples=omarchy-style-waybar-position top | omarchy style waybar-position bottom
|
||||
|
||||
set -e
|
||||
|
||||
WAYBAR_CONFIG="$HOME/.config/waybar/config.jsonc"
|
||||
|
||||
position=$1
|
||||
|
||||
if [[ ! $position =~ ^(top|bottom|left|right)$ ]]; then
|
||||
echo "Usage: omarchy-style-waybar-position top|bottom|left|right" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Reset config and styles before making adjustments
|
||||
omarchy-refresh-config waybar/config.jsonc
|
||||
omarchy-refresh-config waybar/style.css
|
||||
|
||||
if [[ $position == "left" || $position == "right" ]]; then
|
||||
height=0
|
||||
width=28
|
||||
horizontal=false
|
||||
else
|
||||
height=26
|
||||
width=0
|
||||
horizontal=true
|
||||
fi
|
||||
|
||||
# Change position
|
||||
sed -i -E "s/(\"position\"[[:space:]]*:[[:space:]]*\")[a-z]+(\")/\\1${position}\\2/" "$WAYBAR_CONFIG"
|
||||
|
||||
# Change height/width
|
||||
sed -i -E "s/(\"height\"[[:space:]]*:[[:space:]]*)[0-9]+/\\1${height}/; s/(\"width\"[[:space:]]*:[[:space:]]*)[0-9]+/\\1${width}/" "$WAYBAR_CONFIG"
|
||||
|
||||
# Change the clock format
|
||||
if [[ $horizontal == true ]]; then
|
||||
sed -i -E '/"clock"[[:space:]]*:[[:space:]]*\{/,/\}/ s/"format"[[:space:]]*:[[:space:]]*"[^"]*"/"format": "{:L%A %H:%M}"/' "$WAYBAR_CONFIG"
|
||||
else
|
||||
sed -i -E '/"clock"[[:space:]]*:[[:space:]]*\{/,/\}/ s/"format"[[:space:]]*:[[:space:]]*"[^"]*"/"format": "{:%H\\n —\\n%M}"/' "$WAYBAR_CONFIG"
|
||||
fi
|
||||
|
||||
omarchy-restart-waybar
|
||||
@@ -193,14 +193,14 @@ main() {
|
||||
output=$(output_path "$input" "$format" "$resolution")
|
||||
|
||||
if [[ $type == "video" ]]; then
|
||||
omarchy-notification-send "" "Transcoding video…" "$(basename -- "$input") to $format ($resolution)"
|
||||
omarchy-notification-send -g "Transcoding video…" "$(basename -- "$input") to $format ($resolution)"
|
||||
transcode_video "$input" "$format" "$resolution" "$output"
|
||||
copy_to_clipboard "$output"
|
||||
omarchy-notification-send "" "Transcoded to $resolution $format" "Saved and copied to clipboard."
|
||||
omarchy-notification-send -g "Transcoded to $resolution $format" "Saved and copied to clipboard."
|
||||
else
|
||||
transcode_picture "$input" "$format" "$resolution" "$output"
|
||||
copy_to_clipboard "$output"
|
||||
omarchy-notification-send "" "Transcoded to $resolution $format" "Saved and copied to clipboard."
|
||||
omarchy-notification-send -g "Transcoded to $resolution $format" "Saved and copied to clipboard."
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Set Waybar style
|
||||
# omarchy:args=<top|pill|float|toggle|list>
|
||||
# omarchy:examples=omarchy waybar set pill | omarchy waybar set float | omarchy waybar set toggle
|
||||
|
||||
OMARCHY_PATH=${OMARCHY_PATH:-$HOME/.local/share/omarchy}
|
||||
STYLE_DIR="$OMARCHY_PATH/config/waybar/styles"
|
||||
CONFIG_DIR="$OMARCHY_PATH/config/waybar/configs"
|
||||
CURRENT_STYLE_FILE="$HOME/.config/waybar/.style"
|
||||
STYLE=${1:-toggle}
|
||||
|
||||
list_styles() {
|
||||
for style in "$STYLE_DIR"/*.css; do
|
||||
[[ -e $style ]] || continue
|
||||
basename "$style" .css
|
||||
done
|
||||
}
|
||||
|
||||
current_style() {
|
||||
if [[ -f $CURRENT_STYLE_FILE ]]; then
|
||||
read -r current <"$CURRENT_STYLE_FILE"
|
||||
[[ -n $current ]] && printf '%s\n' "$current" && return
|
||||
fi
|
||||
|
||||
echo "top"
|
||||
}
|
||||
|
||||
if [[ $STYLE == "list" ]]; then
|
||||
list_styles
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $STYLE == "default" ]]; then
|
||||
STYLE="top"
|
||||
fi
|
||||
|
||||
if [[ $STYLE == "toggle" ]]; then
|
||||
if [[ $(current_style) == "pill" ]]; then
|
||||
STYLE="top"
|
||||
else
|
||||
STYLE="pill"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -f $STYLE_DIR/$STYLE.css || ! -f $CONFIG_DIR/$STYLE.jsonc ]]; then
|
||||
echo "Unknown Waybar style '$STYLE'"
|
||||
echo "Available styles:"
|
||||
list_styles
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.config/waybar"
|
||||
cp "$CONFIG_DIR/$STYLE.jsonc" "$HOME/.config/waybar/config.jsonc"
|
||||
cp "$STYLE_DIR/$STYLE.css" "$HOME/.config/waybar/style.css"
|
||||
echo "$STYLE" >"$CURRENT_STYLE_FILE"
|
||||
|
||||
omarchy-restart-waybar
|
||||
@@ -23,7 +23,7 @@
|
||||
<test name="family" qual="any">
|
||||
<string>monospace</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="strong">
|
||||
<edit name="family" mode="append" binding="same">
|
||||
<string>JetBrainsMono Nerd Font</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
@@ -41,3 +41,5 @@ input-field {
|
||||
auth {
|
||||
fingerprint:enabled = false
|
||||
}
|
||||
|
||||
source = ~/.local/state/omarchy/toggles/hyprlock.conf
|
||||
|
||||
@@ -2,25 +2,12 @@
|
||||
# List current monitors and resolutions possible: hyprctl monitors
|
||||
# Format: monitor = [port], resolution, position, scale
|
||||
|
||||
# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
|
||||
# Default configuration
|
||||
env = GDK_SCALE,2
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
# Good compromise for 27" or 32" 4K monitors (but fractional!)
|
||||
# env = GDK_SCALE,1.75
|
||||
# monitor=,preferred,auto,1.6
|
||||
|
||||
# Straight 1x setup for low-resolution displays like 1080p or 1440p
|
||||
# Or for ultrawide monitors like 34" 3440x1440 or 49" 5120x1440
|
||||
# env = GDK_SCALE,1
|
||||
# monitor=,preferred,auto,1
|
||||
|
||||
# Portrait/rotated secondary monitor (transform: 1 = 90°, 3 = 270°)
|
||||
# monitor = DP-2, preferred, auto, 1, transform, 1
|
||||
|
||||
# Example for Framework 13 w/ 6K XDR Apple display
|
||||
# monitor = DP-5, 6016x3384@60, auto, 2
|
||||
# monitor = eDP-1, 2880x1920@120, auto, 2
|
||||
|
||||
# Disable the second ghost monitor on an Apple 6K XDR over Thunderbolt
|
||||
# monitor=DP-2,disable
|
||||
|
||||
@@ -3,11 +3,14 @@
|
||||
# Print the current image file
|
||||
<Ctrl+p> = exec lp "$imv_current_file"
|
||||
|
||||
# Delete the current image and quit the viewer
|
||||
<Ctrl+x> = exec rm "$imv_current_file"; quit
|
||||
# Trash the current image and quit the viewer (recoverable from Trash)
|
||||
<Ctrl+x> = exec gio trash -- "$imv_current_file"; quit
|
||||
|
||||
# Delete the current image and move to the next one
|
||||
<Ctrl+Shift+X> = exec rm "$imv_current_file"; close
|
||||
# Trash the current image and move to the next one
|
||||
<Ctrl+Shift+X> = exec gio trash -- "$imv_current_file"; close
|
||||
|
||||
# Rotate the currently open image by 90 degrees
|
||||
<Ctrl+r> = exec mogrify -rotate 90 "$imv_current_file"
|
||||
|
||||
# Edit the current image in Satty and quit the viewer
|
||||
<Ctrl+e> = exec satty --filename "$imv_current_file" & ; quit
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This hook is called by `omarchy refresh pacman` AFTER the channel template
|
||||
# is copied to /etc/pacman.conf and BEFORE `pacman -Syyuu` runs. Use it to
|
||||
# layer customizations onto the freshly-written pacman.conf so they're
|
||||
# respected by the upgrade — common cases are adding a custom repository
|
||||
# (e.g. CachyOS, Chaotic-AUR, an internal company repo) or extra IgnorePkg
|
||||
# lines.
|
||||
#
|
||||
# The hook runs as the invoking user with a warm sudo cache.
|
||||
#
|
||||
# To put it into use, remove .sample from this file name.
|
||||
|
||||
# Example: add an Include line above [core] for a custom repo.
|
||||
# Maintain the repo entries in /etc/pacman.d/custom-repos.conf yourself.
|
||||
|
||||
CONF=/etc/pacman.conf
|
||||
SNIPPET=/etc/pacman.d/custom-repos.conf
|
||||
MARKER="Include = $SNIPPET"
|
||||
|
||||
[[ -r $SNIPPET ]] || exit 0
|
||||
grep -qxF "$MARKER" "$CONF" && exit 0
|
||||
|
||||
sudo sed -i "0,/^\[core\]/s||$MARKER\n\n[core]|" "$CONF"
|
||||
@@ -4,6 +4,7 @@
|
||||
"position": "top",
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"width": 0,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||
"modules-center": ["clock", "custom/weather", "custom/update", "custom/voxtype", "custom/screenrecording-indicator", "custom/idle-indicator", "custom/notification-silencing-indicator"],
|
||||
"modules-right": [
|
||||
|
||||
@@ -1,193 +0,0 @@
|
||||
{
|
||||
"reload_style_on_change": true,
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"margin-top": 10,
|
||||
"margin-left": 10,
|
||||
"margin-right": 10,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces", "hyprland/window"],
|
||||
"modules-center": ["clock", "custom/update", "custom/screenrecording-indicator", "custom/idle-indicator", "custom/notification-silencing-indicator"],
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"group/tray-expander",
|
||||
"backlight",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"cpu",
|
||||
"battery"
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "0",
|
||||
"active": ""
|
||||
},
|
||||
"persistent-workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": []
|
||||
}
|
||||
},
|
||||
"custom/omarchy": {
|
||||
"format": "<span font='omarchy'>\ue900</span>",
|
||||
"on-click": "omarchy-menu",
|
||||
"on-click-right": "xdg-terminal-exec",
|
||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||
},
|
||||
"custom/update": {
|
||||
"format": "",
|
||||
"exec": "omarchy-update-available",
|
||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||
"tooltip-format": "Omarchy update available",
|
||||
"signal": 7,
|
||||
"interval": 21600
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "",
|
||||
"on-click": "omarchy-launch-or-focus-tui btop",
|
||||
"on-click-right": "alacritty"
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%I:%M %p}",
|
||||
"format-alt": "{:%A %d/%m/%Y}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select"
|
||||
},
|
||||
"network": {
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"format": "{icon} {essid}",
|
||||
"format-wifi": "{icon} {essid}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"interval": 3,
|
||||
"spacing": 1,
|
||||
"on-click": "omarchy-launch-wifi"
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-discharging": "{icon}",
|
||||
"format-charging": "{icon}",
|
||||
"format-plugged": "",
|
||||
"format-icons": {
|
||||
"charging": ["", "", "", "", "", "", "", "", "", ""],
|
||||
"default": ["", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"format-full": "",
|
||||
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
||||
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
|
||||
"interval": 5,
|
||||
"on-click": "omarchy-menu power",
|
||||
"on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"",
|
||||
"states": {
|
||||
"warning": 20,
|
||||
"critical": 10
|
||||
}
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-off": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"format-no-controller": "",
|
||||
"tooltip-format": "Devices connected: {num_connections}",
|
||||
"on-click": "omarchy-launch-bluetooth"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}",
|
||||
"on-click": "omarchy-launch-audio",
|
||||
"on-click-right": "pamixer -t",
|
||||
"tooltip-format": "Playing at {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"headset": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
"group/tray-expander": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 600,
|
||||
"children-class": "tray-group-item"
|
||||
},
|
||||
"modules": ["custom/expand-icon", "tray", "memory", "custom/weather"]
|
||||
},
|
||||
"custom/expand-icon": {
|
||||
"format": " ",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/screenrecording-indicator": {
|
||||
"on-click": "omarchy-capture-screenrecording",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh",
|
||||
"signal": 8,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/idle-indicator": {
|
||||
"on-click": "omarchy-toggle-idle",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",
|
||||
"signal": 9,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/notification-silencing-indicator": {
|
||||
"on-click": "omarchy-toggle-notification-silencing",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh",
|
||||
"signal": 10,
|
||||
"return-type": "json"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 12
|
||||
},
|
||||
"backlight": {
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["🌑", "🌘", "🌗", "🌖", "🌕"]
|
||||
},
|
||||
"memory": {
|
||||
"format": " {used:0.1f}gb",
|
||||
"interval": 2,
|
||||
"on-click": "omarchy-launch-or-focus-tui btop"
|
||||
},
|
||||
"custom/weather": {
|
||||
"format": "{}°",
|
||||
"tooltip": true,
|
||||
"interval": 600,
|
||||
"exec": "omarchy-cmd-present wttrbar && wttrbar || true",
|
||||
"return-type": "json"
|
||||
},
|
||||
"mpris": {
|
||||
"format": "{player_icon} {artist} - {title}",
|
||||
"format-paused": "{status_icon} <i>{artist} - {title}</i>",
|
||||
"player-icons": {
|
||||
"default": "🎵",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "⏸"
|
||||
},
|
||||
"max-length": 50
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}"
|
||||
}
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
{
|
||||
"reload_style_on_change": true,
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces", "hyprland/window"],
|
||||
"modules-center": ["clock", "custom/update", "custom/screenrecording-indicator", "custom/idle-indicator", "custom/notification-silencing-indicator"],
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"group/tray-expander",
|
||||
"backlight",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"cpu",
|
||||
"battery"
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": "",
|
||||
"6": "",
|
||||
"7": "",
|
||||
"8": "",
|
||||
"9": "",
|
||||
"10": "",
|
||||
"active": ""
|
||||
},
|
||||
"persistent-workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": []
|
||||
}
|
||||
},
|
||||
"custom/omarchy": {
|
||||
"format": "<span font='omarchy'>\ue900</span>",
|
||||
"on-click": "omarchy-menu",
|
||||
"on-click-right": "xdg-terminal-exec",
|
||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||
},
|
||||
"custom/update": {
|
||||
"format": "",
|
||||
"exec": "omarchy-update-available",
|
||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||
"tooltip-format": "Omarchy update available",
|
||||
"signal": 7,
|
||||
"interval": 21600
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "",
|
||||
"on-click": "omarchy-launch-or-focus-tui btop",
|
||||
"on-click-right": "alacritty"
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%I:%M %p}",
|
||||
"format-alt": "{:%A %d/%m/%Y}",
|
||||
"tooltip-format": "<span>{calendar}</span>",
|
||||
"on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select"
|
||||
},
|
||||
"network": {
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"format": "{icon} {essid}",
|
||||
"format-wifi": "{icon} {essid}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"interval": 3,
|
||||
"spacing": 1,
|
||||
"on-click": "omarchy-launch-wifi"
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-discharging": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% {icon}",
|
||||
"format-plugged": "",
|
||||
"format-icons": {
|
||||
"charging": ["", "", "", "", "", "", "", "", "", ""],
|
||||
"default": ["", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"format-full": "",
|
||||
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
||||
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
|
||||
"interval": 5,
|
||||
"on-click": "omarchy-menu power",
|
||||
"on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"",
|
||||
"states": {
|
||||
"warning": 20,
|
||||
"critical": 10
|
||||
}
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-off": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"format-no-controller": "",
|
||||
"tooltip-format": "Devices connected: {num_connections}",
|
||||
"on-click": "omarchy-launch-bluetooth"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}",
|
||||
"on-click": "omarchy-launch-audio",
|
||||
"on-click-right": "pamixer -t",
|
||||
"tooltip-format": "Playing at {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"headset": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
"group/tray-expander": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 600,
|
||||
"children-class": "tray-group-item"
|
||||
},
|
||||
"modules": ["custom/expand-icon", "tray", "memory", "custom/weather"]
|
||||
},
|
||||
"custom/expand-icon": {
|
||||
"format": " ",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/screenrecording-indicator": {
|
||||
"on-click": "omarchy-capture-screenrecording",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh",
|
||||
"signal": 8,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/idle-indicator": {
|
||||
"on-click": "omarchy-toggle-idle",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",
|
||||
"signal": 9,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/notification-silencing-indicator": {
|
||||
"on-click": "omarchy-toggle-notification-silencing",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh",
|
||||
"signal": 10,
|
||||
"return-type": "json"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 12
|
||||
},
|
||||
"backlight": {
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["🌑", "🌘", "🌗", "🌖", "🌕"]
|
||||
},
|
||||
"memory": {
|
||||
"format": " {used:0.1f}gb",
|
||||
"interval": 2,
|
||||
"on-click": "omarchy-launch-or-focus-tui btop"
|
||||
},
|
||||
"custom/weather": {
|
||||
"format": "{}°",
|
||||
"tooltip": true,
|
||||
"interval": 600,
|
||||
"exec": "omarchy-cmd-present wttrbar && wttrbar || true",
|
||||
"return-type": "json"
|
||||
},
|
||||
"mpris": {
|
||||
"format": "{player_icon} {artist} - {title}",
|
||||
"format-paused": "{status_icon} <i>{artist} - {title}</i>",
|
||||
"player-icons": {
|
||||
"default": "🎵",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "⏸"
|
||||
}
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}"
|
||||
}
|
||||
}
|
||||
@@ -1,175 +0,0 @@
|
||||
{
|
||||
"reload_style_on_change": true,
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"spacing": 0,
|
||||
"height": 26,
|
||||
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
|
||||
"modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator", "custom/idle-indicator", "custom/notification-silencing-indicator"],
|
||||
"modules-right": [
|
||||
"group/tray-expander",
|
||||
"bluetooth",
|
||||
"network",
|
||||
"pulseaudio",
|
||||
"cpu",
|
||||
"battery"
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "0",
|
||||
"active": ""
|
||||
},
|
||||
"persistent-workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": []
|
||||
}
|
||||
},
|
||||
"custom/omarchy": {
|
||||
"format": "<span font='omarchy'>\ue900</span>",
|
||||
"on-click": "omarchy-menu",
|
||||
"on-click-right": "xdg-terminal-exec",
|
||||
"tooltip-format": "Omarchy Menu\n\nSuper + Alt + Space"
|
||||
},
|
||||
"custom/update": {
|
||||
"format": "",
|
||||
"exec": "omarchy-update-available",
|
||||
"on-click": "omarchy-launch-floating-terminal-with-presentation omarchy-update",
|
||||
"tooltip-format": "Omarchy update available",
|
||||
"signal": 7,
|
||||
"interval": 21600
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": "",
|
||||
"on-click": "omarchy-launch-or-focus-tui btop",
|
||||
"on-click-right": "alacritty"
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:L%A %H:%M}",
|
||||
"format-alt": "{:L%d %B W%V %Y}",
|
||||
"tooltip": false,
|
||||
"on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select"
|
||||
},
|
||||
"network": {
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"format": "{icon}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format-wifi": "{essid} ({frequency} GHz)",
|
||||
"tooltip-format-ethernet": "Connected",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"interval": 3,
|
||||
"spacing": 1,
|
||||
"on-click": "omarchy-launch-wifi"
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-discharging": "{icon}",
|
||||
"format-charging": "{icon}",
|
||||
"format-plugged": "",
|
||||
"format-icons": {
|
||||
"charging": ["", "", "", "", "", "", "", "", "", ""],
|
||||
"default": ["", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"format-full": "",
|
||||
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
|
||||
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
|
||||
"interval": 5,
|
||||
"on-click": "omarchy-menu power",
|
||||
"on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"",
|
||||
"states": {
|
||||
"warning": 20,
|
||||
"critical": 10
|
||||
}
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-off": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"format-no-controller": "",
|
||||
"tooltip-format": "Devices connected: {num_connections}",
|
||||
"on-click": "omarchy-launch-bluetooth"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}",
|
||||
"on-click": "omarchy-launch-audio",
|
||||
"on-click-right": "pamixer -t",
|
||||
"tooltip-format": "Playing at {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"headset": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
"group/tray-expander": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 600,
|
||||
"children-class": "tray-group-item"
|
||||
},
|
||||
"modules": ["custom/expand-icon", "tray"]
|
||||
},
|
||||
"custom/expand-icon": {
|
||||
"format": "",
|
||||
"tooltip": false,
|
||||
"on-scroll-up": "",
|
||||
"on-scroll-down": "",
|
||||
"on-scroll-left": "",
|
||||
"on-scroll-right": ""
|
||||
},
|
||||
"custom/screenrecording-indicator": {
|
||||
"on-click": "omarchy-capture-screenrecording",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh",
|
||||
"signal": 8,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/idle-indicator": {
|
||||
"on-click": "omarchy-toggle-idle",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/idle.sh",
|
||||
"signal": 9,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/notification-silencing-indicator": {
|
||||
"on-click": "omarchy-toggle-notification-silencing",
|
||||
"exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh",
|
||||
"signal": 10,
|
||||
"return-type": "json"
|
||||
},
|
||||
"custom/voxtype": {
|
||||
"exec": "omarchy-voxtype-status",
|
||||
"return-type": "json",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"idle": "",
|
||||
"recording": "",
|
||||
"transcribing": ""
|
||||
},
|
||||
"tooltip": true,
|
||||
"on-click-right": "omarchy-voxtype-config",
|
||||
"on-click": "omarchy-voxtype-model"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 17
|
||||
}
|
||||
}
|
||||
@@ -70,6 +70,7 @@ tooltip {
|
||||
#custom-weather {
|
||||
margin-left: 7.5px;
|
||||
margin-right: 7.5px;
|
||||
min-width: 14px;
|
||||
}
|
||||
|
||||
#custom-weather.unavailable {
|
||||
@@ -109,3 +110,38 @@ tooltip {
|
||||
#custom-voxtype.recording {
|
||||
color: #a55555;
|
||||
}
|
||||
.left .modules-left, .right .modules-left { margin: 8px 0 0 0; }
|
||||
.left .modules-right, .right .modules-right { margin: 0 0 8px 0; }
|
||||
|
||||
.left #workspaces button, .right #workspaces button {
|
||||
padding: 6px 0;
|
||||
margin: 1.5px 0;
|
||||
}
|
||||
|
||||
.left #cpu, .right #cpu,
|
||||
.left #battery, .right #battery,
|
||||
.left #pulseaudio, .right #pulseaudio,
|
||||
.left #custom-omarchy, .right #custom-omarchy,
|
||||
.left #custom-update, .right #custom-update {
|
||||
margin: 1.5px 0;
|
||||
padding: 6px 0;
|
||||
min-width: 0;
|
||||
min-height: 12px;
|
||||
}
|
||||
|
||||
.left #tray, .right #tray { margin: 0 0 16px 0; }
|
||||
.left #bluetooth, .right #bluetooth { margin: 1.5px 0; padding: 6px 0; min-height: 12px; }
|
||||
.left #network, .right #network { margin: 1.5px 0; padding: 6px 0; min-height: 12px; }
|
||||
.left #custom-expand-icon, .right #custom-expand-icon { margin: 1.5px 0; padding: 6px 0; min-height: 12px; }
|
||||
.left #clock, .right #clock { margin: 8.75px 0 0 0; }
|
||||
.left #custom-weather, .right #custom-weather { margin: 1.5px 0; padding: 6px 0; min-height: 12px; min-width: 14px; margin-right: 4px; }
|
||||
|
||||
.left #custom-screenrecording-indicator, .right #custom-screenrecording-indicator,
|
||||
.left #custom-idle-indicator, .right #custom-idle-indicator,
|
||||
.left #custom-notification-silencing-indicator, .right #custom-notification-silencing-indicator {
|
||||
margin: 5px 0 0 0;
|
||||
min-width: 0;
|
||||
min-height: 12px;
|
||||
}
|
||||
|
||||
.left #custom-voxtype, .right #custom-voxtype { margin: 7.5px 0 0 0; min-width: 0; min-height: 12px; }
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
||||
* {
|
||||
background-color: @background;
|
||||
color: @foreground;
|
||||
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
padding: 2px 2px;
|
||||
min-height: 0;
|
||||
font-family: 'JetBrainsMono Nerd Font';
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
padding: 0 6px;
|
||||
margin: 0 1.5px;
|
||||
min-width: 9px;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#backlight,
|
||||
#custom-weather,
|
||||
#memory,
|
||||
#mpris,
|
||||
#window,
|
||||
#tray,
|
||||
#cpu,
|
||||
#battery,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#custom-omarchy,
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator,
|
||||
#custom-update {
|
||||
min-width: 12px;
|
||||
margin: 0 7.5px;
|
||||
}
|
||||
|
||||
#custom-expand-icon {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
padding: 2px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#custom-update,
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator.active,
|
||||
#custom-idle-indicator.active,
|
||||
#custom-notification-silencing-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
#mpris {
|
||||
margin-right: 10px;
|
||||
}
|
||||
@@ -1,202 +0,0 @@
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: 'JetBrainsMono Nerd Font';
|
||||
font-size: 14px;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: @background;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
padding: 0;
|
||||
margin-left: 5px;
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
mpris.empty {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
padding: 3px 10px 3px 5px;
|
||||
margin: 0 5px;
|
||||
min-width: 9px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @foreground;
|
||||
color: @background;
|
||||
border-radius: 30px;
|
||||
padding: 3px 10px 3px 5px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: alpha(@foreground, .3);
|
||||
border-radius: 30px;
|
||||
padding: 3px 10px 3px 5px;
|
||||
transition: .7s;
|
||||
}
|
||||
|
||||
#workspaces button.active:hover {
|
||||
background: @foreground;
|
||||
color: @background;
|
||||
border-radius: 30px;
|
||||
padding: 3px 10px 3px 5px;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
#custom-weather,
|
||||
#memory,
|
||||
#mpris,
|
||||
#window,
|
||||
#tray-expander,
|
||||
#workspaces,
|
||||
#clock,
|
||||
#cpu,
|
||||
#battery,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator,
|
||||
#custom-update {
|
||||
background-color: alpha(@foreground, .1);
|
||||
padding: 5px 10px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
#mpris:hover,
|
||||
#window:hover,
|
||||
#clock:hover,
|
||||
#backlight:hover,
|
||||
#cpu:hover,
|
||||
#network:hover,
|
||||
#bluetooth:hover,
|
||||
#pulseaudio:hover,
|
||||
#custom-screenrecording-indicator:hover,
|
||||
#custom-idle-indicator:hover,
|
||||
#custom-notification-silencing-indicator:hover,
|
||||
#custom-update:hover {
|
||||
background-color: alpha(@foreground, .2);
|
||||
transition: .7s;
|
||||
}
|
||||
|
||||
#custom-expand-icon {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
#tray,
|
||||
#memory,
|
||||
#custom-weather {
|
||||
background-color: transparent;
|
||||
margin: 5px;
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
#custom-update,
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
border-radius: 10px;
|
||||
padding: 0 10px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator {
|
||||
border-radius: 10px;
|
||||
min-width: 12px;
|
||||
padding: 0 11px 0 10px;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator.active,
|
||||
#custom-idle-indicator.active,
|
||||
#custom-notification-silencing-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
|
||||
#custom-omarchy,
|
||||
#battery {
|
||||
background-color: @foreground;
|
||||
color: @background;
|
||||
min-width: 10px;
|
||||
border-radius: 10px;
|
||||
padding: 0 10px;
|
||||
margin: 5px 0 5px 5px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#mpris {
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#window,
|
||||
#mpris {
|
||||
border-radius: 10px;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
#tray-expander {
|
||||
padding: 0 0 0 10px;
|
||||
margin-left: 1px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: alpha(@foreground, .1);
|
||||
border-radius: 10px;
|
||||
padding: 5px 10px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#network {
|
||||
border-radius: 10px 0 0 10px;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
padding: 0 15px 0 10px;
|
||||
border-radius: 0 10px 10px 0;
|
||||
margin-right: 1px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding: 0 15px 0 10px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
border-radius: 10px;
|
||||
background: @background;
|
||||
border: 3px solid alpha(@foreground, .5);
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
@import "../omarchy/current/theme/waybar.css";
|
||||
|
||||
* {
|
||||
background-color: @background;
|
||||
color: @foreground;
|
||||
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: 'JetBrainsMono Nerd Font';
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
padding: 0 6px;
|
||||
margin: 0 1.5px;
|
||||
min-width: 9px;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#custom-omarchy,
|
||||
#custom-update {
|
||||
min-width: 12px;
|
||||
margin: 0 7.5px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
margin-right: 17px;
|
||||
}
|
||||
|
||||
#network {
|
||||
margin-right: 13px;
|
||||
}
|
||||
|
||||
#custom-expand-icon {
|
||||
margin-right: 18px;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#custom-update {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin-left: 8.75px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator,
|
||||
#custom-idle-indicator,
|
||||
#custom-notification-silencing-indicator {
|
||||
min-width: 12px;
|
||||
margin-left: 5px;
|
||||
margin-right: 0;
|
||||
font-size: 10px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
#custom-screenrecording-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
|
||||
#custom-idle-indicator.active,
|
||||
#custom-notification-silencing-indicator.active {
|
||||
color: #a55555;
|
||||
}
|
||||
|
||||
#custom-voxtype {
|
||||
min-width: 12px;
|
||||
margin: 0 0 0 7.5px;
|
||||
}
|
||||
|
||||
#custom-voxtype.recording {
|
||||
color: #a55555;
|
||||
}
|
||||
@@ -91,6 +91,16 @@ bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key
|
||||
bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100
|
||||
bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100
|
||||
|
||||
bindd = SUPER ALT, code:20, Expand window left a little, resizeactive, -25 0
|
||||
bindd = SUPER ALT, code:21, Shrink window left a little, resizeactive, 25 0
|
||||
bindd = SUPER SHIFT ALT, code:20, Shrink window up a little, resizeactive, 0 -25
|
||||
bindd = SUPER SHIFT ALT, code:21, Expand window down a little, resizeactive, 0 25
|
||||
|
||||
bindd = SUPER CTRL, code:20, Expand window left a lot, resizeactive, -300 0
|
||||
bindd = SUPER CTRL, code:21, Shrink window left a lot, resizeactive, 300 0
|
||||
bindd = SUPER CTRL SHIFT, code:20, Shrink window up a lot, resizeactive, 0 -300
|
||||
bindd = SUPER CTRL SHIFT, code:21, Expand window down a lot, resizeactive, 0 300
|
||||
|
||||
# Scroll through existing workspaces with SUPER + scroll
|
||||
bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1
|
||||
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1
|
||||
|
||||
@@ -13,6 +13,10 @@ bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
||||
|
||||
# Aesthetics
|
||||
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
|
||||
bindd = SUPER SHIFT CTRL, UP, Move Waybar to top, exec, omarchy-style-waybar-position top
|
||||
bindd = SUPER SHIFT CTRL, DOWN, Move Waybar to bottom, exec, omarchy-style-waybar-position bottom
|
||||
bindd = SUPER SHIFT CTRL, LEFT, Move Waybar to left, exec, omarchy-style-waybar-position left
|
||||
bindd = SUPER SHIFT CTRL, RIGHT, Move Waybar to right, exec, omarchy-style-waybar-position right
|
||||
bindd = SUPER CTRL, SPACE, Theme background menu, exec, omarchy-menu background
|
||||
bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, omarchy-menu theme
|
||||
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, omarchy-hyprland-window-transparency-toggle
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
decoration {
|
||||
rounding = 6
|
||||
rounding_power = 3
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
include=~/.local/share/omarchy/default/mako/core.ini
|
||||
include=~/.local/state/omarchy/toggles/mako.ini
|
||||
|
||||
text-color={{ foreground }}
|
||||
border-color={{ accent }}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@import "../../../../../../../.config/omarchy/current/theme/walker.css";
|
||||
@import "../../../../../../../.local/state/omarchy/toggles/walker.css";
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
|
||||
@@ -16,6 +16,7 @@ run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh
|
||||
run_logged $OMARCHY_INSTALL/config/docker.sh
|
||||
run_logged $OMARCHY_INSTALL/config/mimetypes.sh
|
||||
run_logged $OMARCHY_INSTALL/config/user-dirs.sh
|
||||
run_logged $OMARCHY_INSTALL/config/toggles.sh
|
||||
run_logged $OMARCHY_INSTALL/config/nautilus-python.sh
|
||||
run_logged $OMARCHY_INSTALL/config/localdb.sh
|
||||
run_logged $OMARCHY_INSTALL/config/walker-elephant.sh
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
# Turn on bluetooth by default
|
||||
chrootable_systemctl_enable bluetooth.service
|
||||
|
||||
# Persist last power state across reboots (default AutoEnable=true overrides it)
|
||||
sudo sed -i 's/^#\?AutoEnable=.*/AutoEnable=false/' /etc/bluetooth/main.conf
|
||||
|
||||
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
|
||||
cp "$OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf" ~/.config/wireplumber/wireplumber.conf.d/
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Make sure toggles are available
|
||||
mkdir -p ~/.local/state/omarchy/toggles
|
||||
touch ~/.local/state/omarchy/toggles/hyprlock.conf
|
||||
touch ~/.local/state/omarchy/toggles/mako.ini
|
||||
touch ~/.local/state/omarchy/toggles/walker.css
|
||||
@@ -0,0 +1,3 @@
|
||||
# Set the default GDK_SCALE from what the monitor is currently reporting
|
||||
|
||||
sed -i -E "s|^([[:space:]]*env[[:space:]]*=[[:space:]]*GDK_SCALE,).*|\\1$(omarchy-hyprland-monitor-scale)|" ~/.config/hypr/monitors.conf
|
||||
@@ -5,3 +5,4 @@ omarchy-npx-install opencode-ai opencode
|
||||
omarchy-npx-install playwright playwright-cli
|
||||
omarchy-npx-install @earendil-works/pi-coding-agent pi
|
||||
omarchy-npx-install @kitlangton/ghui ghui
|
||||
omarchy-npx-install hunkdiff hunk
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Persist Bluetooth power state across reboots"
|
||||
|
||||
sudo sed -i 's/^#\?AutoEnable=.*/AutoEnable=false/' /etc/bluetooth/main.conf
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Fix fontconfig monospace binding so app-specific fonts are not overridden"
|
||||
|
||||
if [[ -f ~/.config/fontconfig/fonts.conf ]] && command -v xmlstarlet >/dev/null 2>&1; then
|
||||
xmlstarlet ed -L \
|
||||
-u '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/@mode' \
|
||||
-v "append" \
|
||||
-u '//match[@target="pattern"][test/string="monospace"]/edit[@name="family"]/@binding' \
|
||||
-v "same" \
|
||||
~/.config/fontconfig/fonts.conf
|
||||
fc-cache -f >/dev/null 2>&1
|
||||
fi
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Viewing multiple files via imv should use trash for delete and ctrl+e for editing via satty"
|
||||
|
||||
omarchy-refresh-config imv/config
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Create Mako and Walker toggle configs"
|
||||
|
||||
mkdir -p ~/.local/state/omarchy/toggles
|
||||
[[ -f ~/.local/state/omarchy/toggles/mako.ini ]] || touch ~/.local/state/omarchy/toggles/mako.ini
|
||||
[[ -f ~/.local/state/omarchy/toggles/walker.css ]] || touch ~/.local/state/omarchy/toggles/walker.css
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Install hunkdiff npx wrapper as hunk"
|
||||
|
||||
omarchy-npx-install hunkdiff hunk
|
||||
|
After Width: | Height: | Size: 475 KiB |
|
After Width: | Height: | Size: 688 KiB |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
@@ -0,0 +1,93 @@
|
||||
# Main background
|
||||
theme[main_bg]="#0c0b0c"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#e2dddc"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#b59790"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#c4d8e2"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#e2dddc"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#0c0b0c"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#584e51"
|
||||
|
||||
# Color of text appearing on top of graphs
|
||||
theme[graph_text]="#e2dddc"
|
||||
|
||||
# Background color of the percentage meters
|
||||
theme[meter_bg]="#1e1d1e"
|
||||
|
||||
# Misc colors for processes box
|
||||
theme[proc_misc]="#e2dddc"
|
||||
|
||||
# CPU, Memory, Network, Proc box outline colors
|
||||
theme[cpu_box]="#584e51"
|
||||
theme[mem_box]="#584e51"
|
||||
theme[net_box]="#584e51"
|
||||
theme[proc_box]="#584e51"
|
||||
|
||||
# Box divider line and small boxes line color
|
||||
theme[div_line]="#6B5E73"
|
||||
|
||||
# Temperature graph color (Green -> Yellow -> Red)
|
||||
theme[temp_start]="#87a9b0"
|
||||
theme[temp_mid]="#6B5E73"
|
||||
theme[temp_end]="#c38b7b"
|
||||
|
||||
# CPU graph colors (Blue -> Cyan -> Magenta)
|
||||
theme[cpu_start]="#b59790"
|
||||
theme[cpu_mid]="#a5a0b6"
|
||||
theme[cpu_end]="#c4d8e2"
|
||||
|
||||
# Mem/Disk free meter (Reversed "Available" colors: Cyan -> Blue -> Purple)
|
||||
theme[free_start]="#c4d8e2"
|
||||
theme[free_mid]="#b59790"
|
||||
theme[free_end]="#6B5E73"
|
||||
|
||||
# Mem/Disk cached meter
|
||||
theme[cached_start]="#b59790"
|
||||
theme[cached_mid]="#c4d8e2"
|
||||
theme[cached_end]="#e2dddc"
|
||||
|
||||
# Mem/Disk available meter (Purple -> Blue -> Cyan)
|
||||
theme[available_start]="#6B5E73"
|
||||
theme[available_mid]="#b59790"
|
||||
theme[available_end]="#a5a0b6"
|
||||
|
||||
# Mem/Disk used meter
|
||||
theme[used_start]="#c38b7b"
|
||||
theme[used_mid]="#6B5E73"
|
||||
theme[used_end]="#584e51"
|
||||
|
||||
# Download graph colors
|
||||
theme[download_start]="#87a9b0"
|
||||
theme[download_mid]="#a5a0b6"
|
||||
theme[download_end]="#cfd3cd"
|
||||
|
||||
# Upload graph colors
|
||||
theme[upload_start]="#b59790"
|
||||
theme[upload_mid]="#c4d8e2"
|
||||
theme[upload_end]="#e2dddc"
|
||||
|
||||
# Process box color gradient
|
||||
theme[process_start]="#c4d8e2"
|
||||
theme[process_mid]="#a5a0b6"
|
||||
theme[process_end]="#c38b7b"
|
||||
|
||||
# Graph gradient colors
|
||||
theme[gradient_color_0]="#0c0b0c"
|
||||
theme[gradient_color_1]="#584e51"
|
||||
theme[gradient_color_2]="#6B5E73"
|
||||
theme[gradient_color_3]="#c38b7b"
|
||||
theme[gradient_color_4]="#87a9b0"
|
||||
theme[gradient_color_5]="#b59790"
|
||||
theme[gradient_color_6]="#a5a0b6"
|
||||
theme[gradient_color_7]="#FAFCFB"
|
||||
@@ -0,0 +1 @@
|
||||
12,11,12
|
||||
@@ -0,0 +1,35 @@
|
||||
# Accent and UI colors
|
||||
accent = "#b59790"
|
||||
active_border_color = "#d6d3de"
|
||||
active_tab_background = "#a5a0b6"
|
||||
|
||||
# Cursor colors
|
||||
cursor = "#e2dddc"
|
||||
|
||||
# Primary colors
|
||||
foreground = "#FAFCFB"
|
||||
background = "#0c0b0c"
|
||||
|
||||
# Selection colors
|
||||
selection_foreground = "#0c0b0c"
|
||||
selection_background = "#FAFCFB"
|
||||
|
||||
# Normal colors (ANSI 0-7)
|
||||
color0 = "#0c0b0c"
|
||||
color1 = "#c38b7b"
|
||||
color2 = "#87a9b0"
|
||||
color3 = "#6B5E73"
|
||||
color4 = "#b59790"
|
||||
color5 = "#c4d8e2"
|
||||
color6 = "#a5a0b6"
|
||||
color7 = "#cfd3cd"
|
||||
|
||||
# Bright colors (ANSI 8-15)
|
||||
color8 = "#584e51"
|
||||
color9 = "#c38b7b"
|
||||
color10 = "#87a9b0"
|
||||
color11 = "#6B5E73"
|
||||
color12 = "#b59790"
|
||||
color13 = "#c4d8e2"
|
||||
color14 = "#a5a0b6"
|
||||
color15 = "#e2dddc"
|
||||
@@ -0,0 +1,12 @@
|
||||
$activeBorderColor = rgba(8a8588ee) rgba(e2dddcee)
|
||||
$inactiveBorderColor = rgba(584e51aa)
|
||||
|
||||
general {
|
||||
col.active_border = $activeBorderColor
|
||||
col.inactive_border = $inactiveBorderColor
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = $activeBorderColor
|
||||
col.border_inactive = $inactiveBorderColor
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
$color = rgba(12, 11, 12, 1)
|
||||
$inner_color = rgba(12, 11, 12, 0.66)
|
||||
$outer_color = rgba(195, 139, 123, 1)
|
||||
$font_color = rgba(226, 221, 220, 1)
|
||||
$placeholder_color = rgba(255, 255, 255, 0.7)
|
||||
$check_color = rgba(181, 151, 144, 1)
|
||||
@@ -0,0 +1 @@
|
||||
Yaru-purple
|
||||
@@ -0,0 +1,41 @@
|
||||
return {
|
||||
{
|
||||
"bjarneo/aether.nvim",
|
||||
branch = "v2",
|
||||
name = "aether",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
transparent = false,
|
||||
colors = {
|
||||
bg = "#0c0b0c",
|
||||
bg_dark = "#0c0b0c",
|
||||
bg_highlight = "#716661", -- still only change to bg_highlight
|
||||
|
||||
-- Foregrounds
|
||||
fg = "#f1f1ef",
|
||||
fg_dark = "#e0dbd9",
|
||||
comment = "#94918c",
|
||||
|
||||
red = "#e36a58",
|
||||
orange = "#c38d72",
|
||||
yellow = "#c8a88a",
|
||||
green = "#a4dded",
|
||||
cyan = "#725379",
|
||||
blue = "#4691a1",
|
||||
purple = "#c9a3c9",
|
||||
magenta = "#b9a0d1",
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("aether").setup(opts)
|
||||
vim.cmd.colorscheme("aether")
|
||||
require("aether.hotreload").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "aether",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 652 KiB |
@@ -0,0 +1,30 @@
|
||||
@define-color background-color #0c0b0c;
|
||||
@define-color border-color #b59790;
|
||||
@define-color label #e2dddc;
|
||||
@define-color image #b59790;
|
||||
@define-color progress #e2dddc;
|
||||
|
||||
|
||||
/* Cancel out Omarchy settings */
|
||||
window:not(:backdrop),
|
||||
window:backdrop {
|
||||
border: none;
|
||||
border-width: 0;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
|
||||
/* Draw a new background */
|
||||
window:not(:backdrop) #container,
|
||||
window:backdrop #container {
|
||||
border: 2px solid @border-color;
|
||||
border-radius: 4px;
|
||||
background-color: @background-color;
|
||||
padding: 12px;
|
||||
background-clip: padding-box;
|
||||
box-shadow: 2px 2px 9px 0px rgba(22, 22, 22, 1);
|
||||
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "Ship at Sea",
|
||||
"extension": "rikkarth.ship-at-sea"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
@define-color background #0c0b0c;
|
||||
@define-color foreground #FAFCFB;
|
||||
|
After Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 956 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
@@ -0,0 +1,70 @@
|
||||
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||
theme[main_bg]="#101315"
|
||||
|
||||
# Main text color
|
||||
theme[main_fg]="#cacccc"
|
||||
|
||||
# Title color for boxes
|
||||
theme[title]="#9fa5a9"
|
||||
|
||||
# Highlight color for keyboard shortcuts
|
||||
theme[hi_fg]="#b2b7ba"
|
||||
|
||||
# Background color of selected item in processes box
|
||||
theme[selected_bg]="#a3a6a7"
|
||||
|
||||
# Foreground color of selected item in processes box
|
||||
theme[selected_fg]="#cacccc"
|
||||
|
||||
# Color of inactive/disabled text
|
||||
theme[inactive_fg]="#565d60"
|
||||
|
||||
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||
theme[proc_misc]="#9fa5a9"
|
||||
|
||||
# Box outline and divider line color
|
||||
theme[cpu_box]="#9fa5a9"
|
||||
theme[mem_box]="#9fa5a9"
|
||||
theme[net_box]="#9fa5a9"
|
||||
theme[proc_box]="#9fa5a9"
|
||||
theme[div_line]="#62676a"
|
||||
|
||||
# Gradient for all meters and graphs
|
||||
theme[temp_start]="#b2b7ba"
|
||||
theme[temp_mid]="#798186"
|
||||
theme[temp_end]="#9fa5a9"
|
||||
|
||||
|
||||
theme[cpu_start]="#b2b7ba"
|
||||
theme[cpu_mid]="#798186"
|
||||
theme[cpu_end]="#9fa5a9"
|
||||
|
||||
|
||||
theme[free_start]="#798186"
|
||||
theme[free_mid]="#d9dbdc"
|
||||
theme[free_end]="#d9dbdc"
|
||||
|
||||
|
||||
theme[cached_start]="#d9dbdc"
|
||||
theme[cached_mid]="#d9dbdc"
|
||||
theme[cached_end]="#d9dbdc"
|
||||
|
||||
|
||||
theme[available_start]="#b2b7ba"
|
||||
theme[available_mid]="#b2b7ba"
|
||||
theme[available_end]="#b2b7ba"
|
||||
|
||||
|
||||
theme[used_start]="#9fa5a9"
|
||||
theme[used_mid]="#9fa5a9"
|
||||
theme[used_end]="#9fa5a9"
|
||||
|
||||
|
||||
theme[download_start]="#d9dbdc"
|
||||
theme[download_mid]="#b2b7ba"
|
||||
theme[download_end]="#798186"
|
||||
|
||||
|
||||
theme[upload_start]="#d9dbdc"
|
||||
theme[upload_mid]="#b2b7ba"
|
||||
theme[upload_end]="#798186"
|
||||
@@ -0,0 +1,35 @@
|
||||
# Accent and UI colors
|
||||
accent = "#798186"
|
||||
active_border_color = "#a8adb0"
|
||||
active_tab_background = "#798186"
|
||||
|
||||
# Cursor colors
|
||||
cursor = "#cacccc"
|
||||
|
||||
# Primary colors
|
||||
foreground = "#cacccc"
|
||||
background = "#101315"
|
||||
|
||||
# Selection colors
|
||||
selection_foreground = "#101315"
|
||||
selection_background = "#798186"
|
||||
|
||||
# Normal colors (ANSI 0-7)
|
||||
color0 = "#101315"
|
||||
color1 = "#565d60"
|
||||
color2 = "#9fa5a9"
|
||||
color3 = "#d9dbdc"
|
||||
color4 = "#798186"
|
||||
color5 = "#aeaeae"
|
||||
color6 = "#707070"
|
||||
color7 = "#cbc2be"
|
||||
|
||||
# Bright colors (ANSI 8-15)
|
||||
color8 = "#4b4e55"
|
||||
color9 = "#de6145"
|
||||
color10 = "#343d41"
|
||||
color11 = "#c9c2b4"
|
||||
color12 = "#5d6367"
|
||||
color13 = "#9a9a9a"
|
||||
color14 = "#707070"
|
||||
color15 = "#a5aeb4"
|
||||
@@ -0,0 +1,12 @@
|
||||
$activeBorderColor = rgba(798186ee) rgba(caccccee)
|
||||
$inactiveBorderColor = rgb(1e1e1e)
|
||||
|
||||
general {
|
||||
col.active_border = $activeBorderColor
|
||||
col.inactive_border = $inactiveBorderColor
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = $activeBorderColor
|
||||
col.border_inactive = $inactiveBorderColor
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
$color = rgba(16, 19, 21, 1)
|
||||
$inner_color = rgba(16, 19, 21, 1)
|
||||
$outer_color = rgba(121, 129, 134, 1)
|
||||
$font_color = rgba(202, 204, 204, 1)
|
||||
$placeholder_color = rgba(202, 204, 204, 0.7)
|
||||
$check_color = rgba(52, 61, 65, 1)
|
||||
@@ -0,0 +1 @@
|
||||
Yaru-sage-dark
|
||||
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
{ "ficcdaf/ashen.nvim" },
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "ashen",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 849 KiB |
@@ -0,0 +1,30 @@
|
||||
@define-color background-color #101315;
|
||||
@define-color border-color #2f353b;
|
||||
@define-color label #cacccc;
|
||||
@define-color image #cacccc;
|
||||
@define-color progress #d9dbdc;
|
||||
|
||||
|
||||
/* Cancel out Omarchy settings */
|
||||
window:not(:backdrop),
|
||||
window:backdrop {
|
||||
border: none;
|
||||
border-width: 0;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
|
||||
/* Draw a new background */
|
||||
window:not(:backdrop) #container,
|
||||
window:backdrop #container {
|
||||
border: 2px solid @border-color;
|
||||
border-radius: 6px;
|
||||
background-color: @background-color;
|
||||
padding: 12px;
|
||||
background-clip: padding-box;
|
||||
box-shadow: 2px 2px 9px 0px rgba(22, 22, 22, 1);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "Noctokai",
|
||||
"extension": "farigab.noctokai-theme"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
@define-color background #101315;
|
||||
@define-color foreground #cacccc;
|
||||