Replace Rofi with Walker as application launcher
Walker (GTK4 + Elephant backend) replaces rofi-lbonn-wayland-git as the central launcher and menu framework. Native Walker providers replace 5 custom rofi scripts: - App launcher (desktopapplications provider) - Clipboard (clipboard provider, replaces cliphist frontend) - Bluetooth (bluetooth provider, replaces bluetoothctl script) - Volume/audio (wireplumber provider) - Sink switcher (wireplumber provider) 3 scripts ported to Walker dmenu mode: - moonarch-vpn (nmcli) - moonarch-cpugov (auto-cpufreq) - moonarch-sink-switcher (pactl) Settings menu (moonarch-setmen) removed — apps are findable via Walker app search directly. Walker theme (gtk-inherit) inherits all colors from the active GTK4 theme instead of hardcoding Catppuccin values. Walker and Elephant run as systemd user services for instant startup. Also standardizes GTK theme to Colloid-Grey-Dark-Catppuccin across all config files (was inconsistent between gsettings and file configs). Old rofi configs preserved in legacy/rofi/ for reference.
This commit is contained in:
parent
ee5940dec1
commit
4d9cbe7ce2
12
DECISIONS.md
12
DECISIONS.md
@ -17,3 +17,15 @@
|
|||||||
- **Why**: System artifacts (XDG configs, helper scripts, zsh config, wallpaper) should be managed by pacman for clean deployment, versioning, rollback, and deinstallation
|
- **Why**: System artifacts (XDG configs, helper scripts, zsh config, wallpaper) should be managed by pacman for clean deployment, versioning, rollback, and deinstallation
|
||||||
- **Tradeoffs**: /etc/xdg/ configs NOT in backup= (moonarch philosophy: system defaults flow through, users override in ~/.config/). /etc/greetd/ and /etc/moongreet/ NOT owned by package (owned by greetd/moongreet-git, overwritten via .install hook). Helper scripts move from /usr/local/bin/ to /usr/bin/ (FHS for package-managed files)
|
- **Tradeoffs**: /etc/xdg/ configs NOT in backup= (moonarch philosophy: system defaults flow through, users override in ~/.config/). /etc/greetd/ and /etc/moongreet/ NOT owned by package (owned by greetd/moongreet-git, overwritten via .install hook). Helper scripts move from /usr/local/bin/ to /usr/bin/ (FHS for package-managed files)
|
||||||
- **How**: moonarch-git PKGBUILD in moonarch-pkgbuilds repo. sweet-cursors-git as separate package. moonarch-update simplified (no git-sync, pacman handles file deployment). Installer scripts (post-install.sh, transform.sh) remain for orchestration, will be refactored in a follow-up to delegate file deployment to `paru -S moonarch-git`
|
- **How**: moonarch-git PKGBUILD in moonarch-pkgbuilds repo. sweet-cursors-git as separate package. moonarch-update simplified (no git-sync, pacman handles file deployment). Installer scripts (post-install.sh, transform.sh) remain for orchestration, will be refactored in a follow-up to delegate file deployment to `paru -S moonarch-git`
|
||||||
|
|
||||||
|
## 2026-03-30 – Replace Rofi with Walker as application launcher
|
||||||
|
- **Who**: Dominik, Ragnar
|
||||||
|
- **Why**: Walker is Wayland-native (GTK4 + gtk4-layer-shell), has built-in providers for clipboard, bluetooth, audio (wireplumber), and Niri integration. Reduces custom shell scripts from 8 to 3. Rofi required a Wayland fork (rofi-lbonn-wayland-git) and every applet was a custom bash script.
|
||||||
|
- **Tradeoffs**: Walker is newer/less battle-tested than Rofi. Requires separate Elephant daemon with per-provider packages. Dmenu mode lacks Rofi's `-a`/`-u` (active/urgent) and `-mesg` flags. Settings menu (moonarch-setmen) dropped entirely — apps are findable via Walker's app search.
|
||||||
|
- **How**: Walker + Elephant as systemd user services. Native providers replace 5 rofi scripts (launcher, clipboard, bluetooth, volume, sink-switcher). 3 scripts ported to walker dmenu (vpn, cpugov, sink-switcher). Walker theme inherits GTK4 system theme colors (gtk-inherit). Old rofi configs preserved in `legacy/rofi/`.
|
||||||
|
|
||||||
|
## 2026-03-30 – Standardize GTK theme to Colloid-Grey-Dark-Catppuccin
|
||||||
|
- **Who**: Dominik, Ragnar
|
||||||
|
- **Why**: gsettings had `Colloid-Dark-Catppuccin` while config files had `Colloid-Catppuccin` — inconsistent. Grey accent matches the icon theme (Colloid-Grey-Catppuccin-Dark). Explicit `-Dark` variant is more reliable than depending on `prefer-dark` color-scheme setting.
|
||||||
|
- **Tradeoffs**: Explicit dark locks out light mode toggle — acceptable since Moonarch is dark-only by design.
|
||||||
|
- **How**: Updated transform.sh, post-install.sh, gtk-3.0/settings.ini, and gsettings to `Colloid-Grey-Dark-Catppuccin`. GTK4 symlinks updated accordingly.
|
||||||
|
|||||||
33
README.md
33
README.md
@ -5,7 +5,7 @@ configured Niri (scrollable tiling Wayland) system with Catppuccin Mocha theming
|
|||||||
|
|
||||||
Moonarch combines archinstall for the base system with post-install automation that
|
Moonarch combines archinstall for the base system with post-install automation that
|
||||||
handles packages, XDG defaults, system services, greeter, idle management, and a
|
handles packages, XDG defaults, system services, greeter, idle management, and a
|
||||||
suite of rofi-based helper tools. The result is a complete development/productivity
|
Walker launcher with native providers and dmenu-based helper scripts. The result is a complete development/productivity
|
||||||
desktop that can be rebuilt from scratch in minutes.
|
desktop that can be rebuilt from scratch in minutes.
|
||||||
|
|
||||||
## Why These Choices
|
## Why These Choices
|
||||||
@ -18,14 +18,14 @@ desktop that can be rebuilt from scratch in minutes.
|
|||||||
| **Power Menu** | [moonset](https://gitea.moonarch.de/nevaforget/moonset) | GTK4 Layer Shell overlay above Waybar. Lock, logout, hibernate, reboot, shutdown with confirmation. |
|
| **Power Menu** | [moonset](https://gitea.moonarch.de/nevaforget/moonset) | GTK4 Layer Shell overlay above Waybar. Lock, logout, hibernate, reboot, shutdown with confirmation. |
|
||||||
| **Idle Manager** | [stasis](https://aur.archlinux.org/packages/stasis) | Separate AC/battery power plans. Brightness dimming, DPMS, lock (via moonlock), and suspend on configurable timeouts. |
|
| **Idle Manager** | [stasis](https://aur.archlinux.org/packages/stasis) | Separate AC/battery power plans. Brightness dimming, DPMS, lock (via moonlock), and suspend on configurable timeouts. |
|
||||||
| **Bar** | [Waybar](https://github.com/Alexays/Waybar) | Wayland-native, highly customizable. Niri workspace/window modules via community plugins. |
|
| **Bar** | [Waybar](https://github.com/Alexays/Waybar) | Wayland-native, highly customizable. Niri workspace/window modules via community plugins. |
|
||||||
| **Launcher** | [Rofi](https://github.com/lbonn/rofi) (lbonn Wayland fork) | Versatile dmenu replacement. Powers app launcher, clipboard, bluetooth, volume, VPN, CPU governor, and session menus. |
|
| **Launcher** | [Walker](https://github.com/abenz1267/walker) + [Elephant](https://github.com/abenz1267/elephant) | Wayland-native GTK4 launcher with built-in providers for apps, clipboard, bluetooth, audio, files, and calculator. Dmenu mode for custom scripts (VPN, CPU governor). |
|
||||||
| **Terminal** | [Foot](https://codeberg.org/dnkl/foot) | Fast, minimal Wayland-native terminal. Server mode for instant window spawning. |
|
| **Terminal** | [Foot](https://codeberg.org/dnkl/foot) | Fast, minimal Wayland-native terminal. Server mode for instant window spawning. |
|
||||||
| **Shell** | Zsh | Programmable completion, FZF integration, syntax highlighting. |
|
| **Shell** | Zsh | Programmable completion, FZF integration, syntax highlighting. |
|
||||||
| **Audio** | PipeWire | Drop-in replacement for PulseAudio/JACK with lower latency. RNNoise input denoising configured out of the box. |
|
| **Audio** | PipeWire | Drop-in replacement for PulseAudio/JACK with lower latency. RNNoise input denoising configured out of the box. |
|
||||||
| **Display Management** | [kanshi](https://sr.ht/~emersion/kanshi/) + [wdisplays](https://github.com/artizirk/wdisplays) | kanshi auto-switches output profiles on hotplug. wdisplays for manual GUI configuration. |
|
| **Display Management** | [kanshi](https://sr.ht/~emersion/kanshi/) + [wdisplays](https://github.com/artizirk/wdisplays) | kanshi auto-switches output profiles on hotplug. wdisplays for manual GUI configuration. |
|
||||||
| **Notifications** | [dunst](https://dunst-project.org/) | Lightweight, scriptable. DND mode exposed as Waybar module. |
|
| **Notifications** | [dunst](https://dunst-project.org/) | Lightweight, scriptable. DND mode exposed as Waybar module. |
|
||||||
| **Clipboard** | [cliphist](https://github.com/sentriz/cliphist) + wl-clipboard | Text and image history. Rofi frontend for selection, wl-paste watches the clipboard. |
|
| **Clipboard** | Walker clipboard provider | Built-in clipboard history with image support. Managed by Elephant backend. |
|
||||||
| **Theme** | Catppuccin Mocha | Consistent dark palette across GTK, terminal, bar, rofi, notifications, and lock screen. |
|
| **GTK Theme** | Colloid-Grey-Dark-Catppuccin | Catppuccin Mocha palette, grey accent, explicit dark variant. |
|
||||||
| **Icons** | Colloid-Grey-Catppuccin-Dark | Catppuccin-colored icon set matching the GTK theme. |
|
| **Icons** | Colloid-Grey-Catppuccin-Dark | Catppuccin-colored icon set matching the GTK theme. |
|
||||||
| **Cursor** | Sweet-cursors | Visible on dark backgrounds without clashing. |
|
| **Cursor** | Sweet-cursors | Visible on dark backgrounds without clashing. |
|
||||||
| **Font** | UbuntuSans Nerd Font | Clean sans-serif with full Nerd Font glyph coverage for bar/terminal icons. |
|
| **Font** | UbuntuSans Nerd Font | Clean sans-serif with full Nerd Font glyph coverage for bar/terminal icons. |
|
||||||
@ -113,7 +113,7 @@ defaults/
|
|||||||
xdg/ System-wide XDG configs (deployed to /etc/xdg/)
|
xdg/ System-wide XDG configs (deployed to /etc/xdg/)
|
||||||
niri/config.kdl Compositor: layout, keybinds, startup apps
|
niri/config.kdl Compositor: layout, keybinds, startup apps
|
||||||
waybar/config, style.css Bar: modules, layout, Catppuccin styling
|
waybar/config, style.css Bar: modules, layout, Catppuccin styling
|
||||||
rofi/config.rasi, themes/ Launcher: config + 8 applet themes
|
walker/config.toml, themes/ Launcher: Walker config + gtk-inherit theme
|
||||||
foot/foot.ini Terminal: font, colors, keybinds
|
foot/foot.ini Terminal: font, colors, keybinds
|
||||||
dunst/dunstrc Notifications: geometry, colors, behavior
|
dunst/dunstrc Notifications: geometry, colors, behavior
|
||||||
kanshi/config Display profiles (empty, user-configured)
|
kanshi/config Display profiles (empty, user-configured)
|
||||||
@ -125,15 +125,9 @@ defaults/
|
|||||||
gtk-3.0/, gtk-4.0/ GTK theme settings
|
gtk-3.0/, gtk-4.0/ GTK theme settings
|
||||||
|
|
||||||
bin/ Helper scripts (deployed to /usr/local/bin/)
|
bin/ Helper scripts (deployed to /usr/local/bin/)
|
||||||
moonarch-launcher App launcher (rofi drun/run/filebrowser/window)
|
moonarch-sink-switcher Audio output switcher (walker dmenu + pactl)
|
||||||
moonarch-clipboard Clipboard history browser (rofi + cliphist)
|
moonarch-vpn VPN connection manager (walker dmenu + nmcli)
|
||||||
moonarch-bluetooth Bluetooth device manager (rofi + bluetoothctl)
|
moonarch-cpugov CPU governor switcher (walker dmenu + auto-cpufreq)
|
||||||
moonarch-volume Volume control applet (rofi + amixer/pactl)
|
|
||||||
moonarch-sink-switcher Audio output switcher (rofi + pactl)
|
|
||||||
moonarch-vpn VPN connection manager (rofi + nmcli)
|
|
||||||
moonarch-cpugov CPU governor switcher (rofi + auto-cpufreq)
|
|
||||||
moonarch-session Session menu (rofi: lock/logout/suspend/reboot/shutdown)
|
|
||||||
moonarch-setmen Settings menu launcher (rofi script mode)
|
|
||||||
moonarch-dnd Dunst Do Not Disturb toggle (Waybar JSON output)
|
moonarch-dnd Dunst Do Not Disturb toggle (Waybar JSON output)
|
||||||
moonarch-btnote Bluetooth device battery monitor (upower + notify-send)
|
moonarch-btnote Bluetooth device battery monitor (upower + notify-send)
|
||||||
moonarch-capsnote Caps Lock toggle notification
|
moonarch-capsnote Caps Lock toggle notification
|
||||||
@ -144,7 +138,7 @@ defaults/
|
|||||||
shell/zshrc Zsh config: prompt, aliases, FZF, completion
|
shell/zshrc Zsh config: prompt, aliases, FZF, completion
|
||||||
etc/greetd/ greetd daemon + greeter Niri config
|
etc/greetd/ greetd daemon + greeter Niri config
|
||||||
etc/moongreet/ moongreet configuration
|
etc/moongreet/ moongreet configuration
|
||||||
user/systemd/user/ Systemd user services (kanshi)
|
user/systemd/user/ Systemd user services (kanshi, walker, elephant)
|
||||||
user/waybar/ Per-user Waybar overrides (only copied if missing)
|
user/waybar/ Per-user Waybar overrides (only copied if missing)
|
||||||
backgrounds/wallpaper.jpg Default wallpaper (shared by desktop, greeter, lock screen)
|
backgrounds/wallpaper.jpg Default wallpaper (shared by desktop, greeter, lock screen)
|
||||||
```
|
```
|
||||||
@ -170,7 +164,7 @@ greetd ─► niri (greeter instance) ─► moongreet ─► user authenticates
|
|||||||
| Key | Action |
|
| Key | Action |
|
||||||
|-----|--------|
|
|-----|--------|
|
||||||
| `Super+Return` | Open terminal (foot) |
|
| `Super+Return` | Open terminal (foot) |
|
||||||
| `Super+Space` | App launcher (rofi) |
|
| `Super+Space` | App launcher (walker) |
|
||||||
| `Super+Q` | Close window |
|
| `Super+Q` | Close window |
|
||||||
| `Super+O` / `Super+Tab` | Overview |
|
| `Super+O` / `Super+Tab` | Overview |
|
||||||
| `Super+F` | Maximize column |
|
| `Super+F` | Maximize column |
|
||||||
@ -182,8 +176,7 @@ greetd ─► niri (greeter instance) ─► moongreet ─► user authenticates
|
|||||||
| `Super+1-9` | Switch workspace |
|
| `Super+1-9` | Switch workspace |
|
||||||
| `Super+C` | Clipboard history |
|
| `Super+C` | Clipboard history |
|
||||||
| `Super+E` | File manager |
|
| `Super+E` | File manager |
|
||||||
| `Super+A` | Volume control |
|
| `Super+A` | Audio control (walker) |
|
||||||
| `Super+T` | Settings menu |
|
|
||||||
| `Super+N` | VPN manager |
|
| `Super+N` | VPN manager |
|
||||||
| `Super+Alt+L` | Session menu (wlogout) |
|
| `Super+Alt+L` | Session menu (wlogout) |
|
||||||
| `Print` | Screenshot |
|
| `Print` | Screenshot |
|
||||||
@ -198,7 +191,7 @@ All system configs live in `/etc/xdg/` and can be overridden per-user in `~/.con
|
|||||||
|-----------|---------------|---------------|
|
|-----------|---------------|---------------|
|
||||||
| Niri | `/etc/xdg/niri/config.kdl` | `~/.config/niri/config.kdl` |
|
| Niri | `/etc/xdg/niri/config.kdl` | `~/.config/niri/config.kdl` |
|
||||||
| Waybar | `/etc/xdg/waybar/` | `~/.config/waybar/` |
|
| Waybar | `/etc/xdg/waybar/` | `~/.config/waybar/` |
|
||||||
| Rofi | `/etc/xdg/rofi/` | `~/.config/rofi/` |
|
| Walker | `/etc/xdg/walker/` | `~/.config/walker/` |
|
||||||
| Foot | `/etc/xdg/foot/foot.ini` | `~/.config/foot/foot.ini` |
|
| Foot | `/etc/xdg/foot/foot.ini` | `~/.config/foot/foot.ini` |
|
||||||
| Dunst | `/etc/xdg/dunst/dunstrc` | `~/.config/dunst/dunstrc` |
|
| Dunst | `/etc/xdg/dunst/dunstrc` | `~/.config/dunst/dunstrc` |
|
||||||
| kanshi | `/etc/xdg/kanshi/config` | `~/.config/kanshi/config` |
|
| kanshi | `/etc/xdg/kanshi/config` | `~/.config/kanshi/config` |
|
||||||
@ -225,6 +218,8 @@ are part of the system and updated via `moonarch-update`.
|
|||||||
| Service | Purpose |
|
| Service | Purpose |
|
||||||
|---------|---------|
|
|---------|---------|
|
||||||
| kanshi | Dynamic display configuration (auto-switch output profiles on hotplug) |
|
| kanshi | Dynamic display configuration (auto-switch output profiles on hotplug) |
|
||||||
|
| elephant | Walker data provider backend (apps, clipboard, bluetooth, audio) |
|
||||||
|
| walker | Walker application launcher (GTK4 service mode for instant startup) |
|
||||||
|
|
||||||
## Moonarch Ecosystem
|
## Moonarch Ecosystem
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ABOUTME: Rofi-based CPU governor switcher using auto-cpufreq.
|
# ABOUTME: Walker-dmenu CPU governor switcher using auto-cpufreq.
|
||||||
# ABOUTME: Allows switching between performance, powersave, and reset modes.
|
# ABOUTME: Allows switching between performance, powersave, and reset modes.
|
||||||
|
|
||||||
declare -A LABELS
|
declare -A LABELS
|
||||||
@ -38,8 +38,7 @@ function print_menu()
|
|||||||
##
|
##
|
||||||
function start()
|
function start()
|
||||||
{
|
{
|
||||||
# print_menu | rofi -dmenu -p "?=>"
|
print_menu | sort | walker -d -p " CPU Mode"
|
||||||
print_menu | sort | rofi -theme /etc/xdg/rofi/themes/cpugov.rasi -show "CPU Modes" -dmenu -mesg " CPU Modes" -i -p "rofi-bangs: "
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -66,5 +65,5 @@ then
|
|||||||
|
|
||||||
notify-send -h string:x-canonical-private-synchronous:cpugov -i cpu "CPU Mode" "Set to $choice ${LABELS[$choice]}"
|
notify-send -h string:x-canonical-private-synchronous:cpugov -i cpu "CPU Mode" "Set to $choice ${LABELS[$choice]}"
|
||||||
else
|
else
|
||||||
echo "Unknown command: ${choice}" | rofi -dmenu -p "error"
|
notify-send -u critical "CPU Governor" "Unknown command: ${choice}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,66 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# ABOUTME: Rofi script mode that lists desktop files from /usr/share/settings-menu/.
|
|
||||||
# ABOUTME: Used with rofi -show fb -modes "fb:moonarch-setmen" for a settings launcher.
|
|
||||||
|
|
||||||
####
|
|
||||||
# @author moonarch.de (nevaforget)
|
|
||||||
# script used with rofi to list desktop files of specific dir
|
|
||||||
# dir: /usr/share/settings-menu/
|
|
||||||
# @example rofi -show fb -modes "fb:moonarch-setmen" -theme /etc/xdg/rofi/themes/settings-menu.rasi
|
|
||||||
# @dependencies glib >= 2.67.2
|
|
||||||
####
|
|
||||||
|
|
||||||
function get_name {
|
|
||||||
local lang=$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1)
|
|
||||||
local find="Name\[$lang\]="
|
|
||||||
|
|
||||||
local name=$(grep "^$find" $1 | tail -1 | sed "s/^$find//" | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
|
|
||||||
|
|
||||||
if [ "${name}" = "" ]
|
|
||||||
then
|
|
||||||
find="Name="
|
|
||||||
name=$(grep "^$find" $1 | tail -1 | sed "s/^$find//" | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$name"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$ROFI_RETV" = "1" ]
|
|
||||||
then
|
|
||||||
for deskfile in /usr/share/settings-menu/*
|
|
||||||
do
|
|
||||||
match=$(grep "^Name" $deskfile | grep "$@" )
|
|
||||||
|
|
||||||
if [ -n "$match" ]
|
|
||||||
then
|
|
||||||
#gio launch $deskfile
|
|
||||||
|
|
||||||
# old way
|
|
||||||
app=$(grep '^Exec' $deskfile | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
|
|
||||||
coproc ( $app > /dev/null 2>&1 )
|
|
||||||
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
function init {
|
|
||||||
for file in /usr/share/settings-menu/*
|
|
||||||
do
|
|
||||||
local name=$(get_name "$file")
|
|
||||||
|
|
||||||
local iconline=$(sed -n -e '/^Icon=/p' "$file")
|
|
||||||
local icon=${iconline/Icon=/""}
|
|
||||||
|
|
||||||
if [ -n "$name" ]
|
|
||||||
then
|
|
||||||
echo -en "$name\0icon\x1f$icon\n"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
init
|
|
||||||
@ -1,11 +1,11 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
# ABOUTME: Rofi-based PulseAudio sink switcher using pactl.
|
# ABOUTME: Walker-dmenu PulseAudio sink switcher using pactl.
|
||||||
# ABOUTME: Changes the default sink and moves all active streams to it.
|
# ABOUTME: Changes the default sink and moves all active streams to it.
|
||||||
|
|
||||||
# choose audio sink via rofi
|
# choose audio sink via rofi
|
||||||
# changes default sink and moves all streams to that sink
|
# changes default sink and moves all streams to that sink
|
||||||
|
|
||||||
sink=$(pactl list sinks short | awk '{print $1, $2}' | rofi -dmenu -theme '/etc/xdg/rofi/themes/volume.rasi' -mesg ' Sink Switcher' -p 'audio sink:' -location 6 -width 100 | awk '{print $1}') &&
|
sink=$(pactl list sinks short | awk '{print $1, $2}' | walker -d -p " Sink Switcher" | awk '{print $1}') &&
|
||||||
|
|
||||||
pactl set-default-sink "$sink" &&
|
pactl set-default-sink "$sink" &&
|
||||||
for input in $(pactl list sink-inputs short | awk '{print $1}'); do
|
for input in $(pactl list sink-inputs short | awk '{print $1}'); do
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# ABOUTME: Rofi-based VPN connection manager using NetworkManager (nmcli).
|
# ABOUTME: Walker-dmenu VPN connection manager using NetworkManager (nmcli).
|
||||||
# ABOUTME: Lists VPN connections and toggles them on/off.
|
# ABOUTME: Lists VPN connections and toggles them on/off.
|
||||||
|
|
||||||
# Copyright (C) 2021 Damien Cassou
|
# Copyright (C) 2021 Damien Cassou
|
||||||
@ -80,7 +80,7 @@ function extract_connection_name_from_result() {
|
|||||||
# used as lines to select from.
|
# used as lines to select from.
|
||||||
function start_rofi() {
|
function start_rofi() {
|
||||||
local content="$1"
|
local content="$1"
|
||||||
echo -e "$content" | rofi -dmenu -theme /etc/xdg/rofi/themes/vpn.rasi -mesg " VPN Connection Manager" -icon ""
|
echo -e "$content" | walker -d -p " VPN"
|
||||||
}
|
}
|
||||||
|
|
||||||
# List the VPN connections and let the user toggle one using rofi.
|
# List the VPN connections and let the user toggle one using rofi.
|
||||||
|
|||||||
11
defaults/user/systemd/user/walker.service
Normal file
11
defaults/user/systemd/user/walker.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Walker Application Launcher
|
||||||
|
After=graphical-session.target elephant.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=walker --gapplication-service
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
@ -2,7 +2,7 @@
|
|||||||
# ABOUTME: User overrides go in ~/.config/gtk-3.0/settings.ini
|
# ABOUTME: User overrides go in ~/.config/gtk-3.0/settings.ini
|
||||||
|
|
||||||
[Settings]
|
[Settings]
|
||||||
gtk-theme-name=Colloid-Catppuccin
|
gtk-theme-name=Colloid-Grey-Dark-Catppuccin
|
||||||
gtk-icon-theme-name=Colloid-Grey-Catppuccin-Dark
|
gtk-icon-theme-name=Colloid-Grey-Catppuccin-Dark
|
||||||
gtk-font-name=UbuntuSans Nerd Font 11
|
gtk-font-name=UbuntuSans Nerd Font 11
|
||||||
gtk-cursor-theme-name=Sweet-cursors
|
gtk-cursor-theme-name=Sweet-cursors
|
||||||
|
|||||||
@ -122,21 +122,20 @@ window-rule {
|
|||||||
binds {
|
binds {
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
|
||||||
Super+C hotkey-overlay-title=null { spawn "moonarch-clipboard"; }
|
Super+C hotkey-overlay-title=null { spawn "walker" "-s" "clipboard"; }
|
||||||
|
|
||||||
Alt+W { spawn-sh "killall waybar && waybar &"; }
|
Alt+W { spawn-sh "killall waybar && waybar &"; }
|
||||||
|
|
||||||
Super+E { spawn-sh "xdg-open ~"; }
|
Super+E { spawn-sh "xdg-open ~"; }
|
||||||
|
|
||||||
Super+T { spawn-sh "pkill rofi || rofi -show fb -modes \"fb:moonarch-setmen\" -theme /etc/xdg/rofi/themes/settings-menu.rasi"; }
|
|
||||||
|
|
||||||
Super+N { spawn-sh "pkill rofi || moonarch-vpn"; }
|
Super+N { spawn-sh "moonarch-vpn"; }
|
||||||
|
|
||||||
Mod+Return hotkey-overlay-title="Open a Terminal: foot" { spawn "foot"; }
|
Mod+Return hotkey-overlay-title="Open a Terminal: foot" { spawn "foot"; }
|
||||||
Mod+Space hotkey-overlay-title="Run an Application: rofi" { spawn-sh "pkill rofi || moonarch-launcher"; }
|
Mod+Space hotkey-overlay-title="Run an Application: walker" { spawn "walker"; }
|
||||||
Super+Alt+L hotkey-overlay-title="Session Menu: moonset" { spawn "moonset"; }
|
Super+Alt+L hotkey-overlay-title="Session Menu: moonset" { spawn "moonset"; }
|
||||||
|
|
||||||
Mod+A { spawn-sh "pkill rofi || moonarch-volume"; }
|
Mod+A { spawn "walker" "-s" "audio"; }
|
||||||
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||||
|
|||||||
187
defaults/xdg/walker/config.toml
Normal file
187
defaults/xdg/walker/config.toml
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
# ABOUTME: Walker launcher configuration for moonarch.
|
||||||
|
# ABOUTME: Catppuccin Mocha theme, Niri-aware, replaces rofi applets.
|
||||||
|
|
||||||
|
force_keyboard_focus = false
|
||||||
|
close_when_open = true
|
||||||
|
click_to_close = true
|
||||||
|
as_window = false
|
||||||
|
single_click_activation = true
|
||||||
|
selection_wrap = false
|
||||||
|
theme = "gtk-inherit"
|
||||||
|
disable_mouse = false
|
||||||
|
page_jump_items = 10
|
||||||
|
hide_quick_activation = false
|
||||||
|
hide_action_hints = false
|
||||||
|
hide_action_hints_dmenu = true
|
||||||
|
hide_return_action = false
|
||||||
|
resume_last_query = false
|
||||||
|
|
||||||
|
[shell]
|
||||||
|
exclusive_zone = -1
|
||||||
|
layer = "overlay"
|
||||||
|
anchor_top = true
|
||||||
|
anchor_bottom = true
|
||||||
|
anchor_left = true
|
||||||
|
anchor_right = true
|
||||||
|
|
||||||
|
[placeholders]
|
||||||
|
"default" = { input = "Search…", list = "No Results" }
|
||||||
|
"clipboard" = { input = "Clipboard…", list = "Empty" }
|
||||||
|
"bluetooth" = { input = "Bluetooth…", list = "No Devices" }
|
||||||
|
"wireplumber" = { input = "Audio…", list = "No Devices" }
|
||||||
|
|
||||||
|
[keybinds]
|
||||||
|
close = ["Escape"]
|
||||||
|
next = ["Down"]
|
||||||
|
previous = ["Up"]
|
||||||
|
left = ["Left"]
|
||||||
|
right = ["Right"]
|
||||||
|
down = ["Down"]
|
||||||
|
up = ["Up"]
|
||||||
|
toggle_exact = ["ctrl e"]
|
||||||
|
resume_last_query = ["ctrl r"]
|
||||||
|
quick_activate = ["F1", "F2", "F3", "F4"]
|
||||||
|
page_down = ["Page_Down"]
|
||||||
|
page_up = ["Page_Up"]
|
||||||
|
show_actions = ["alt j"]
|
||||||
|
|
||||||
|
[providers]
|
||||||
|
default = [
|
||||||
|
"desktopapplications",
|
||||||
|
"calc",
|
||||||
|
"websearch",
|
||||||
|
]
|
||||||
|
empty = ["desktopapplications"]
|
||||||
|
max_results = 50
|
||||||
|
|
||||||
|
[providers.sets.clipboard]
|
||||||
|
default = ["clipboard"]
|
||||||
|
empty = ["clipboard"]
|
||||||
|
|
||||||
|
[providers.sets.bluetooth]
|
||||||
|
default = ["bluetooth"]
|
||||||
|
empty = ["bluetooth"]
|
||||||
|
|
||||||
|
[providers.sets.audio]
|
||||||
|
default = ["wireplumber"]
|
||||||
|
empty = ["wireplumber"]
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = ";"
|
||||||
|
provider = "providerlist"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = ">"
|
||||||
|
provider = "runner"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = "/"
|
||||||
|
provider = "files"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = "."
|
||||||
|
provider = "symbols"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = "="
|
||||||
|
provider = "calc"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = "@"
|
||||||
|
provider = "websearch"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = ":"
|
||||||
|
provider = "clipboard"
|
||||||
|
|
||||||
|
[[providers.prefixes]]
|
||||||
|
prefix = "$"
|
||||||
|
provider = "windows"
|
||||||
|
|
||||||
|
[providers.clipboard]
|
||||||
|
time_format = "relative"
|
||||||
|
|
||||||
|
[providers.actions]
|
||||||
|
fallback = [
|
||||||
|
{ action = "menus:open", label = "open", after = "Nothing" },
|
||||||
|
{ action = "menus:default", label = "run", after = "Close" },
|
||||||
|
{ action = "menus:parent", label = "back", bind = "Escape", after = "Nothing" },
|
||||||
|
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
dmenu = [{ action = "select", default = true, bind = "Return" }]
|
||||||
|
|
||||||
|
desktopapplications = [
|
||||||
|
{ action = "start", default = true, bind = "Return" },
|
||||||
|
{ action = "start:keep", label = "open+next", bind = "shift Return", after = "KeepOpen" },
|
||||||
|
{ action = "new_instance", label = "new instance", bind = "ctrl Return" },
|
||||||
|
{ action = "pin", bind = "ctrl p", after = "AsyncReload" },
|
||||||
|
{ action = "unpin", bind = "ctrl p", after = "AsyncReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
bluetooth = [
|
||||||
|
{ action = "find", bind = "ctrl f", after = "AsyncClearReload" },
|
||||||
|
{ action = "remove", bind = "ctrl d", after = "AsyncReload" },
|
||||||
|
{ action = "trust", bind = "ctrl t", after = "AsyncReload" },
|
||||||
|
{ action = "untrust", bind = "ctrl t", after = "AsyncReload" },
|
||||||
|
{ action = "pair", bind = "Return", after = "AsyncReload" },
|
||||||
|
{ action = "connect", default = true, bind = "Return", after = "AsyncReload" },
|
||||||
|
{ action = "disconnect", default = true, bind = "Return", after = "AsyncReload" },
|
||||||
|
{ action = "power_on", label = "Power On", bind = "ctrl e", after = "AsyncReload" },
|
||||||
|
{ action = "power_off", label = "Power Off", bind = "ctrl e", after = "AsyncReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
clipboard = [
|
||||||
|
{ action = "copy", default = true, bind = "Return" },
|
||||||
|
{ action = "remove", bind = "ctrl d", after = "AsyncClearReload" },
|
||||||
|
{ action = "remove_all", label = "clear", bind = "ctrl shift d", after = "AsyncClearReload" },
|
||||||
|
{ action = "show_images_only", label = "only images", bind = "ctrl i", after = "AsyncClearReload" },
|
||||||
|
{ action = "show_text_only", label = "only text", bind = "ctrl i", after = "AsyncClearReload" },
|
||||||
|
{ action = "show_combined", label = "show all", bind = "ctrl i", after = "AsyncClearReload" },
|
||||||
|
{ action = "pin", bind = "ctrl p", after = "AsyncClearReload" },
|
||||||
|
{ action = "unpin", bind = "ctrl p", after = "AsyncClearReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
wireplumber = [
|
||||||
|
{ action = "increase_volume", label = "+volume", bind = "ctrl y", after = "Nothing" },
|
||||||
|
{ action = "decrease_volume", label = "-volume", bind = "ctrl n", after = "Nothing" },
|
||||||
|
{ action = "mute", bind = "ctrl m", after = "Nothing" },
|
||||||
|
{ action = "unmute", bind = "ctrl m", after = "Nothing" },
|
||||||
|
{ action = "set_default_device", label = "set default", bind = "ctrl d", after = "Nothing" },
|
||||||
|
]
|
||||||
|
|
||||||
|
archlinuxpkgs = [
|
||||||
|
{ action = "install", bind = "Return", default = true },
|
||||||
|
{ action = "remove", bind = "Return" },
|
||||||
|
{ action = "show_all", label = "show all", bind = "ctrl i", after = "AsyncClearReload" },
|
||||||
|
{ action = "refresh", label = "refresh", bind = "ctrl r", after = "AsyncReload" },
|
||||||
|
{ action = "visit_url", label = "open URL", bind = "ctrl o" },
|
||||||
|
{ action = "show_installed", label = "show installed", bind = "ctrl i", after = "AsyncClearReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
calc = [
|
||||||
|
{ action = "copy", default = true, bind = "Return" },
|
||||||
|
{ action = "delete", bind = "ctrl d", after = "AsyncReload" },
|
||||||
|
{ action = "delete_all", bind = "ctrl shift d", after = "AsyncReload" },
|
||||||
|
]
|
||||||
|
|
||||||
|
websearch = [
|
||||||
|
{ action = "search", default = true, bind = "Return" },
|
||||||
|
{ action = "open_url", label = "open url", default = true, bind = "Return" },
|
||||||
|
]
|
||||||
|
|
||||||
|
files = [
|
||||||
|
{ action = "open", default = true, bind = "Return" },
|
||||||
|
{ action = "opendir", label = "open dir", bind = "ctrl Return" },
|
||||||
|
{ action = "copypath", label = "copy path", bind = "ctrl shift c" },
|
||||||
|
{ action = "copyfile", label = "copy file", bind = "ctrl c" },
|
||||||
|
]
|
||||||
|
|
||||||
|
runner = [
|
||||||
|
{ action = "run", default = true, bind = "Return" },
|
||||||
|
{ action = "runterminal", label = "run in terminal", bind = "shift Return" },
|
||||||
|
]
|
||||||
|
|
||||||
|
symbols = [
|
||||||
|
{ action = "run_cmd", label = "select", default = true, bind = "Return" },
|
||||||
|
]
|
||||||
73
defaults/xdg/walker/themes/gtk-inherit/item.xml
Normal file
73
defaults/xdg/walker/themes/gtk-inherit/item.xml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImageFont">
|
||||||
|
<style>
|
||||||
|
<class name="item-image-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="width-chars">2</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="icon-size">large</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="ellipsize">end</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="ellipsize">end</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
73
defaults/xdg/walker/themes/gtk-inherit/item_calc.xml
Normal file
73
defaults/xdg/walker/themes/gtk-inherit/item_calc.xml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImageFont">
|
||||||
|
<style>
|
||||||
|
<class name="item-image-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="width-chars">2</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="pixel-size">48</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
61
defaults/xdg/walker/themes/gtk-inherit/item_clipboard.xml
Normal file
61
defaults/xdg/walker/themes/gtk-inherit/item_clipboard.xml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="lines">1</property>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="ellipsize">3</property>
|
||||||
|
<property name="single-line-mode">true</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
46
defaults/xdg/walker/themes/gtk-inherit/item_dmenu.xml
Normal file
46
defaults/xdg/walker/themes/gtk-inherit/item_dmenu.xml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="lines">1</property>
|
||||||
|
<property name="ellipsize">3</property>
|
||||||
|
<property name="single-line-mode">true</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
57
defaults/xdg/walker/themes/gtk-inherit/item_dnfpackages.xml
Normal file
57
defaults/xdg/walker/themes/gtk-inherit/item_dnfpackages.xml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
66
defaults/xdg/walker/themes/gtk-inherit/item_files.xml
Normal file
66
defaults/xdg/walker/themes/gtk-inherit/item_files.xml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="icon-size">large</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="ellipsize">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="ellipsize">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
73
defaults/xdg/walker/themes/gtk-inherit/item_providerlist.xml
Normal file
73
defaults/xdg/walker/themes/gtk-inherit/item_providerlist.xml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImageFont">
|
||||||
|
<style>
|
||||||
|
<class name="item-image-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="width-chars">2</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="icon-size">large</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="ellipsize">end</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
53
defaults/xdg/walker/themes/gtk-inherit/item_symbols.xml
Normal file
53
defaults/xdg/walker/themes/gtk-inherit/item_symbols.xml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="width-chars">2</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
38
defaults/xdg/walker/themes/gtk-inherit/item_symbols_grid.xml
Normal file
38
defaults/xdg/walker/themes/gtk-inherit/item_symbols_grid.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="hexpand-set">true</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="xalign">0.5</property>
|
||||||
|
<property name="justify">2</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
53
defaults/xdg/walker/themes/gtk-inherit/item_todo.xml
Normal file
53
defaults/xdg/walker/themes/gtk-inherit/item_todo.xml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="pixel-size">48</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">true</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemSubtext">
|
||||||
|
<style>
|
||||||
|
<class name="item-subtext"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
53
defaults/xdg/walker/themes/gtk-inherit/item_unicode.xml
Normal file
53
defaults/xdg/walker/themes/gtk-inherit/item_unicode.xml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="ItemBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemImage">
|
||||||
|
<style>
|
||||||
|
<class name="item-image"></class>
|
||||||
|
</style>
|
||||||
|
<property name="width-chars">3</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemTextBox">
|
||||||
|
<style>
|
||||||
|
<class name="item-text-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="vexpand-set">true</property>
|
||||||
|
<property name="spacing">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ItemText">
|
||||||
|
<style>
|
||||||
|
<class name="item-text"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="vexpand_set">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="QuickActivation">
|
||||||
|
<style>
|
||||||
|
<class name="item-quick-activation"></class>
|
||||||
|
</style>
|
||||||
|
<property name="wrap">false</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="yalign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
32
defaults/xdg/walker/themes/gtk-inherit/keybind.xml
Normal file
32
defaults/xdg/walker/themes/gtk-inherit/keybind.xml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="Keybind">
|
||||||
|
<style>
|
||||||
|
<class name="keybind"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="KeybindButton">
|
||||||
|
<style>
|
||||||
|
<class name="keybind-button"></class>
|
||||||
|
</style>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="KeybindLabel">
|
||||||
|
<style>
|
||||||
|
<class name="keybind-label"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="KeybindBind">
|
||||||
|
<property name="margin-top">5</property>
|
||||||
|
<style>
|
||||||
|
<class name="keybind-bind"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
160
defaults/xdg/walker/themes/gtk-inherit/layout.xml
Normal file
160
defaults/xdg/walker/themes/gtk-inherit/layout.xml
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkWindow" id="Window">
|
||||||
|
<style>
|
||||||
|
<class name="window"></class>
|
||||||
|
</style>
|
||||||
|
<property name="resizable">true</property>
|
||||||
|
<property name="title">Walker</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="BoxWrapper">
|
||||||
|
<style>
|
||||||
|
<class name="box-wrapper"></class>
|
||||||
|
</style>
|
||||||
|
<property name="overflow">hidden</property>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="halign">center</property>
|
||||||
|
<property name="width-request">600</property>
|
||||||
|
<property name="height-request">570</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="Box">
|
||||||
|
<style>
|
||||||
|
<class name="box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand-set">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="SearchContainer">
|
||||||
|
<style>
|
||||||
|
<class name="search-container"></class>
|
||||||
|
</style>
|
||||||
|
<property name="overflow">hidden</property>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="halign">fill</property>
|
||||||
|
<property name="hexpand-set">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="Input">
|
||||||
|
<style>
|
||||||
|
<class name="input"></class>
|
||||||
|
</style>
|
||||||
|
<property name="halign">fill</property>
|
||||||
|
<property name="hexpand-set">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ContentContainer">
|
||||||
|
<style>
|
||||||
|
<class name="content-container"></class>
|
||||||
|
</style>
|
||||||
|
<property name="orientation">horizontal</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="ElephantHint">
|
||||||
|
<style>
|
||||||
|
<class name="elephant-hint"></class>
|
||||||
|
</style>
|
||||||
|
<property name="label">Waiting for elephant...</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="visible">false</property>
|
||||||
|
<property name="valign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="Placeholder">
|
||||||
|
<style>
|
||||||
|
<class name="placeholder"></class>
|
||||||
|
</style>
|
||||||
|
<property name="label">No Results</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="valign">0.5</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScrolledWindow" id="Scroll">
|
||||||
|
<style>
|
||||||
|
<class name="scroll"></class>
|
||||||
|
</style>
|
||||||
|
<property name="can_focus">false</property>
|
||||||
|
<property name="overlay-scrolling">true</property>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<property name="max-content-width">500</property>
|
||||||
|
<property name="min-content-width">500</property>
|
||||||
|
<property name="max-content-height">400</property>
|
||||||
|
<property name="propagate-natural-height">true</property>
|
||||||
|
<property name="propagate-natural-width">true</property>
|
||||||
|
<property name="hscrollbar-policy">automatic</property>
|
||||||
|
<property name="vscrollbar-policy">automatic</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkGridView" id="List">
|
||||||
|
<style>
|
||||||
|
<class name="list"></class>
|
||||||
|
</style>
|
||||||
|
<property name="max_columns">1</property>
|
||||||
|
<property name="min_columns">1</property>
|
||||||
|
<property name="can_focus">false</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="Preview">
|
||||||
|
<style>
|
||||||
|
<class name="preview"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="Keybinds">
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<style>
|
||||||
|
<class name="keybinds"></class>
|
||||||
|
</style>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="GlobalKeybinds">
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<style>
|
||||||
|
<class name="global-keybinds"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="ItemKeybinds">
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
<style>
|
||||||
|
<class name="item-keybinds"></class>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="Error">
|
||||||
|
<style>
|
||||||
|
<class name="error"></class>
|
||||||
|
</style>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="visible">false</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
20
defaults/xdg/walker/themes/gtk-inherit/preview.xml
Normal file
20
defaults/xdg/walker/themes/gtk-inherit/preview.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk" version="4.0"></requires>
|
||||||
|
<object class="GtkBox" id="PreviewBox">
|
||||||
|
<style>
|
||||||
|
<class name="preview-box"></class>
|
||||||
|
</style>
|
||||||
|
<property name="height-request">300</property>
|
||||||
|
<property name="width-request">500</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkStack" id="PreviewStack">
|
||||||
|
<style>
|
||||||
|
<class name="preview-stack"></class>
|
||||||
|
</style>
|
||||||
|
<property name="hexpand">true</property>
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
182
defaults/xdg/walker/themes/gtk-inherit/style.css
Normal file
182
defaults/xdg/walker/themes/gtk-inherit/style.css
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
/* ABOUTME: Walker theme that inherits colors from the active GTK4 theme.
|
||||||
|
ABOUTME: Only overrides layout/spacing — colors come from Colloid-Dark-Catppuccin or whatever is active. */
|
||||||
|
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
font-family: "UbuntuSans Nerd Font", sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
popover {
|
||||||
|
background: lighter(@window_bg_color);
|
||||||
|
border: 1px solid darker(@accent_bg_color);
|
||||||
|
border-radius: 18px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.normal-icons {
|
||||||
|
-gtk-icon-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.large-icons {
|
||||||
|
-gtk-icon-size: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-wrapper {
|
||||||
|
box-shadow:
|
||||||
|
0 19px 38px rgba(0, 0, 0, 0.3),
|
||||||
|
0 15px 12px rgba(0, 0, 0, 0.22);
|
||||||
|
background: @window_bg_color;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: 1px solid darker(@accent_bg_color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview-box,
|
||||||
|
.elephant-hint,
|
||||||
|
.placeholder {
|
||||||
|
color: @theme_fg_color;
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input placeholder {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input selection {
|
||||||
|
background: alpha(@accent_bg_color, 0.3);
|
||||||
|
color: @theme_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
caret-color: @accent_bg_color;
|
||||||
|
background: lighter(@window_bg_color);
|
||||||
|
padding: 10px;
|
||||||
|
color: @theme_fg_color;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
color: @theme_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-box {
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-quick-activation {
|
||||||
|
background: alpha(@accent_bg_color, 0.15);
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
color: @accent_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
child:selected .item-box,
|
||||||
|
row:selected .item-box {
|
||||||
|
background: alpha(@accent_bg_color, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
child:selected .item-text,
|
||||||
|
row:selected .item-text {
|
||||||
|
color: @accent_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-subtext {
|
||||||
|
font-size: 12px;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.providerlist .item-subtext {
|
||||||
|
font-size: unset;
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-image-text {
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview {
|
||||||
|
border: 1px solid alpha(@accent_bg_color, 0.25);
|
||||||
|
border-radius: 10px;
|
||||||
|
color: @theme_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calc .item-text {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.symbols .item-image {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.todo.done .item-text-box {
|
||||||
|
opacity: 0.25;
|
||||||
|
}
|
||||||
|
|
||||||
|
.todo.urgent {
|
||||||
|
font-size: 24px;
|
||||||
|
color: @error_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.todo.active {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bluetooth.disconnected {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview .large-icons {
|
||||||
|
-gtk-icon-size: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.keybinds {
|
||||||
|
padding-top: 10px;
|
||||||
|
border-top: 1px solid lighter(@window_bg_color);
|
||||||
|
font-size: 12px;
|
||||||
|
color: @theme_fg_color;
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.keybind-button {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.keybind-button:hover {
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.keybind-bind {
|
||||||
|
text-transform: lowercase;
|
||||||
|
opacity: 0.35;
|
||||||
|
}
|
||||||
|
|
||||||
|
.keybind-label {
|
||||||
|
padding: 2px 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid @theme_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error {
|
||||||
|
padding: 10px;
|
||||||
|
background: @error_bg_color;
|
||||||
|
color: @error_fg_color;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:not(.calc).current {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview-content.archlinuxpkgs,
|
||||||
|
.preview-content.dnfpackages {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
41
legacy/rofi/bin/moonarch-setmen
Executable file
41
legacy/rofi/bin/moonarch-setmen
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# ABOUTME: Walker-dmenu settings menu that lists desktop files from /usr/share/settings-menu/.
|
||||||
|
# ABOUTME: Reads Name and Icon from .desktop files and launches the selected entry.
|
||||||
|
|
||||||
|
SETTINGS_DIR="/usr/share/settings-menu"
|
||||||
|
|
||||||
|
declare -A EXEC_MAP
|
||||||
|
|
||||||
|
get_name() {
|
||||||
|
local lang
|
||||||
|
lang=$(locale | grep "^LANG=" | cut -d= -f2 | cut -d_ -f1)
|
||||||
|
local find="Name[$lang]="
|
||||||
|
local name
|
||||||
|
|
||||||
|
name=$(grep "^$find" "$1" | tail -1 | sed "s/^$find//" | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
|
||||||
|
|
||||||
|
if [[ -z "$name" ]]; then
|
||||||
|
name=$(grep "^Name=" "$1" | tail -1 | sed 's/^Name=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$name"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_exec() {
|
||||||
|
grep '^Exec=' "$1" | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g'
|
||||||
|
}
|
||||||
|
|
||||||
|
entries=""
|
||||||
|
for file in "$SETTINGS_DIR"/*.desktop; do
|
||||||
|
[[ -f "$file" ]] || continue
|
||||||
|
name=$(get_name "$file")
|
||||||
|
[[ -z "$name" ]] && continue
|
||||||
|
EXEC_MAP["$name"]=$(get_exec "$file")
|
||||||
|
entries+="$name\n"
|
||||||
|
done
|
||||||
|
|
||||||
|
chosen=$(echo -e "$entries" | sed '/^$/d' | sort | walker -d -p "⚙ Settings")
|
||||||
|
|
||||||
|
if [[ -n "$chosen" && -n "${EXEC_MAP[$chosen]}" ]]; then
|
||||||
|
${EXEC_MAP[$chosen]} &disown
|
||||||
|
fi
|
||||||
@ -9,7 +9,17 @@ colloid-catppuccin-gtk-theme-git
|
|||||||
colloid-catppuccin-theme-git
|
colloid-catppuccin-theme-git
|
||||||
|
|
||||||
# Niri / Wayland Extras
|
# Niri / Wayland Extras
|
||||||
rofi-lbonn-wayland-git
|
walker-bin
|
||||||
|
elephant-bin
|
||||||
|
elephant-desktopapplications-bin
|
||||||
|
elephant-clipboard-bin
|
||||||
|
elephant-bluetooth-bin
|
||||||
|
elephant-calc-bin
|
||||||
|
elephant-runner-bin
|
||||||
|
elephant-files-bin
|
||||||
|
elephant-providerlist-bin
|
||||||
|
elephant-niriactions-bin
|
||||||
|
elephant-wireplumber-bin
|
||||||
waybar-niri-windows-bin
|
waybar-niri-windows-bin
|
||||||
waybar-niri-workspaces-enhanced-git
|
waybar-niri-workspaces-enhanced-git
|
||||||
waypaper
|
waypaper
|
||||||
|
|||||||
@ -44,7 +44,7 @@ paru -S --needed --noconfirm moonarch-git
|
|||||||
|
|
||||||
# --- User-level GTK4 symlinks for libadwaita apps ---
|
# --- User-level GTK4 symlinks for libadwaita apps ---
|
||||||
|
|
||||||
THEME_NAME="Colloid-Catppuccin"
|
THEME_NAME="Colloid-Grey-Dark-Catppuccin"
|
||||||
THEME_GTK4="/usr/share/themes/$THEME_NAME/gtk-4.0"
|
THEME_GTK4="/usr/share/themes/$THEME_NAME/gtk-4.0"
|
||||||
|
|
||||||
if [[ -d "$THEME_GTK4" ]]; then
|
if [[ -d "$THEME_GTK4" ]]; then
|
||||||
|
|||||||
@ -223,7 +223,7 @@ paru -S --needed --noconfirm moonarch-git
|
|||||||
# ============================================================
|
# ============================================================
|
||||||
|
|
||||||
# User-level GTK4 symlinks for libadwaita apps
|
# User-level GTK4 symlinks for libadwaita apps
|
||||||
THEME_NAME="Colloid-Catppuccin"
|
THEME_NAME="Colloid-Grey-Dark-Catppuccin"
|
||||||
THEME_GTK4="/usr/share/themes/$THEME_NAME/gtk-4.0"
|
THEME_GTK4="/usr/share/themes/$THEME_NAME/gtk-4.0"
|
||||||
|
|
||||||
if [[ -d "$THEME_GTK4" ]]; then
|
if [[ -d "$THEME_GTK4" ]]; then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user