Teach the launcher what an operating system knows
The OS-parity batch from the vicinae plan, tasks 1 through 7. The audit came back better than the plan guessed: the calculator already links libqalculate, the built-in file index answers in under 100ms across all of home, quicklinks and snippets ship as built-in stores -- so zero new packages, and `vicinae dmenu` replaces the planned compiled extension outright. What was missing gets built: a power menu (lock, suspend, log out through uwsm, restart, power off), reminders as transient systemd timers with a pick-to-cancel list, a color picker over hyprpicker, and dmenu pick-lists for window switching, force quit, kill process, SSH hosts, and recent files -- all through one panama-pick helper. The launcher commands contract exercises the reminder parsing and every pick-list against stubs, including killing its own sacrificial sleep.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Force Quit Window
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Pick a window; ask it to close, then make it.
|
||||
# @vicinae.keywords ["force quit", "kill window", "unresponsive", "frozen"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-pick" quit-window
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Kill Process
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Pick a process by CPU; send it SIGTERM.
|
||||
# @vicinae.keywords ["kill", "process", "task manager", "cpu"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-pick" process
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Pending Reminders
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description See pending reminders; pick one to cancel it.
|
||||
# @vicinae.keywords ["reminders", "timers", "pending", "cancel"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-remind" pick
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Lock Screen
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Lock the session now.
|
||||
# @vicinae.keywords ["lock", "screen", "away", "secure"]
|
||||
|
||||
# The logind signal, same as the CTRL+ALT+L bind: hypridle is the one listener
|
||||
# and owns actually running hyprlock.
|
||||
exec loginctl lock-session
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Log Out
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description End the session and return to the login screen.
|
||||
# @vicinae.keywords ["logout", "log out", "sign out", "exit", "session"]
|
||||
|
||||
# uwsm owns the session (see the hypr README), so it gets to end it: units stop
|
||||
# in order instead of being orphaned by a bare compositor exit. The dispatch is
|
||||
# the fallback for the plain non-uwsm session.
|
||||
if command -v uwsm >/dev/null 2>&1; then
|
||||
exec uwsm stop
|
||||
fi
|
||||
exec hyprctl dispatch exit
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Pick Color
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Pick a color from the screen; the hex lands on the clipboard.
|
||||
# @vicinae.keywords ["color", "colour", "picker", "eyedropper", "hex"]
|
||||
|
||||
# -a autocopies to the clipboard; the notification is the receipt. hyprpicker
|
||||
# exits 1 on Escape, which is a choice, not a failure.
|
||||
if ! command -v hyprpicker >/dev/null 2>&1; then
|
||||
notify-send "Pick Color" "hyprpicker is not installed" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
color="$(hyprpicker -a)" || exit 0
|
||||
[[ -n "$color" ]] && notify-send --icon=color-select-symbolic "Copied $color" 2>/dev/null || true
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Power Off
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Shut the machine down.
|
||||
# @vicinae.keywords ["power off", "shutdown", "shut down", "poweroff", "halt"]
|
||||
|
||||
exec systemctl poweroff
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Restart
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Restart the machine.
|
||||
# @vicinae.keywords ["reboot", "restart"]
|
||||
|
||||
exec systemctl reboot
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Recent Files
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Open something you had open recently.
|
||||
# @vicinae.keywords ["recent", "files", "documents", "history"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-pick" recent
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Remind Me
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Set a reminder: a delay like 20m or 1h30m, or a clock time like 9:30.
|
||||
# @vicinae.keywords ["remind", "reminder", "timer", "alarm", "in"]
|
||||
# @vicinae.argument1 { "type": "text", "placeholder": "20m / 9:30" }
|
||||
# @vicinae.argument2 { "type": "text", "placeholder": "what about" }
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-remind" add "$1" "$2"
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title SSH Hosts
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Open a session to a host from ~/.ssh/config.
|
||||
# @vicinae.keywords ["ssh", "host", "remote", "server"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-pick" ssh
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Suspend
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Put the machine to sleep.
|
||||
# @vicinae.keywords ["suspend", "sleep", "standby"]
|
||||
|
||||
exec systemctl suspend
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# @vicinae.schemaVersion 1
|
||||
# @vicinae.title Switch Window
|
||||
# @vicinae.mode silent
|
||||
# @vicinae.icon ../../icons/hicolor/scalable/apps/panama-settings.svg
|
||||
# @vicinae.description Jump to an open window by title.
|
||||
# @vicinae.keywords ["window", "switch", "focus", "alt tab"]
|
||||
|
||||
exec "$HOME/.config/quickshell/scripts/panama-pick" window
|
||||
Reference in New Issue
Block a user