707 Commits

Author SHA1 Message Date
github-actions[bot] ff8cae38bd chore(nix): update flake inputs [CI] 2026-10-13 06:26:09 +00:00
Danny Atropos 289e20895e ci: add issue title validation caller (#181) 2026-10-13 04:20:56 +11:00
github-actions[bot] 6c9c192a0f chore(nix): update flake inputs [CI] 2026-10-12 05:28:59 +00:00
github-actions[bot] 41f8c04390 chore(nix): update flake inputs [CI] 2026-10-11 05:22:16 +00:00
github-actions[bot] b9a223a2cb chore(nix): update flake inputs [CI] 2026-10-10 05:24:04 +00:00
github-actions[bot] 82039823c0 chore(nix): update flake inputs [CI] 2026-10-09 05:39:55 +00:00
github-actions[bot] ffaf093d5a chore(nix): update flake inputs [CI] 2026-10-07 05:25:09 +00:00
github-actions[bot] 6f73a01319 chore(nix): update flake inputs [CI] 2026-10-06 05:55:00 +00:00
github-actions[bot] 448b7f6b2b chore(nix): update flake inputs [CI] 2026-10-05 05:14:58 +00:00
github-actions[bot] 7de5b77713 chore(nix): update flake inputs [CI] 2026-10-04 05:31:09 +00:00
Danny Atropos b698f7a385 fix: emoji subcommand completions (#180)
* fix: correct emoji command in completions

* style(parser): reference the actual name for emoji
2026-10-02 16:04:03 +10:00
github-actions[bot] 79bd06d662 chore(nix): update flake inputs [CI] 2026-10-02 05:17:14 +00:00
github-actions[bot] faadab3f59 chore(nix): update flake inputs [CI] 2026-10-01 05:25:46 +00:00
github-actions[bot] efe0b085ac chore(nix): update flake inputs [CI] 2026-09-29 05:16:32 +00:00
github-actions[bot] 4692d3f9c4 chore(nix): update flake inputs [CI] 2026-09-27 04:56:12 +00:00
github-actions[bot] bf37620d8f chore(nix): update flake inputs [CI] 2026-09-26 04:30:57 +00:00
github-actions[bot] 3964db0cfa chore(nix): update flake inputs [CI] 2026-09-24 04:14:32 +00:00
github-actions[bot] 67fa32a29d chore(nix): update flake inputs [CI] 2026-09-23 04:18:49 +00:00
ilyas 66232f7398 fix(record): don't block on stopped notification (#173)
* fix(record): don't block on stop notification actions

* Update src/caelestia/subcommands/record.py

Co-authored-by: Danny Atropos <danny@atropos.cc>

* Update src/caelestia/subcommands/record.py

Co-authored-by: Danny Atropos <danny@atropos.cc>

* Update src/caelestia/subcommands/record.py

Co-authored-by: Danny Atropos <danny@atropos.cc>

* record: drop unneeded wl-copy stdio redirection

---------

Co-authored-by: Danny Atropos <danny@atropos.cc>
2026-09-22 20:25:19 +10:00
github-actions[bot] ed3c2f2258 chore(nix): update flake inputs [CI] 2026-09-22 04:21:06 +00:00
github-actions[bot] 37487f2eac chore(nix): update flake inputs [CI] 2026-09-21 04:27:08 +00:00
github-actions[bot] 48067d2d64 chore(nix): update flake inputs [CI] 2026-09-20 04:36:55 +00:00
github-actions[bot] 0cd3a81963 chore(nix): update flake inputs [CI] 2026-09-19 04:10:29 +00:00
ilyas 79441d09c1 fix(record): redirect record proc stderr to devnull (#172)
* fix: don't let slurp wait on inherited stdin

* fix: detach recorder stdio from launcher
2026-09-19 04:24:25 +10:00
ilyas 82265df366 fix(record): disable stdin for slurp (#171) v1.1.3 2026-09-18 23:10:46 +10:00
danny e7b34e468d docs: remove FUNDING.yml (#170)
This is now inherited from caelestia-dots/.github
2026-09-18 14:50:31 +10:00
github-actions[bot] b002cc9dc9 chore(nix): update flake inputs [CI] 2026-09-18 04:13:22 +00:00
github-actions[bot] ac71a2ad34 chore(nix): update flake inputs [CI] 2026-09-17 04:30:02 +00:00
Anurag Sarkar ffaf2a0600 fix(wallpaper): make extension check case-insensitive (#159)
is_valid_image compared path.suffix (case-preserved) against a
lowercase extension list, so a wallpaper file named e.g. .JPG or .PNG
(common from phone cameras/screenshots) was rejected and set_wallpaper
raised before writing wallpaper_path_path -- silently failing to
persist the wallpaper.
2026-09-16 15:51:57 +10:00
github-actions[bot] d1f7986f17 chore(nix): update flake inputs [CI] 2026-09-16 04:23:08 +00:00
github-actions[bot] 1903238891 chore(nix): update flake inputs [CI] 2026-09-15 04:27:15 +00:00
github-actions[bot] f8e32e9694 chore(nix): update flake inputs [CI] 2026-09-13 04:28:37 +00:00
github-actions[bot] 6b84ee5090 chore(nix): update flake inputs [CI] 2026-09-12 04:09:00 +00:00
github-actions[bot] 3cb89b46de chore(nix): update flake inputs [CI] 2026-09-11 04:08:13 +00:00
dadams 045aaa9246 feat(shell): add shell -r/--restart option (#146)
* feat: add shell -r/--restart for race-free shell restarts

Kills any running instance, waits for it to actually disappear from
`qs list`, then starts the shell. Escalates to SIGKILL if the instance
does not exit gracefully within 5s.

Closes #139

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* shell: fail loudly when listing instances fails

Addresses review feedback on the restart path.

`list_instances` returned [] for three different outcomes: no instances,
`qs list` failing, and unparseable output. `wait_for_exit` reads [] as
"the old shell is gone", so a failure there would relaunch with `-n` and
no-op, reintroducing the bug this fixes. Now only the real "no instances"
case returns [], and the rest abort.

`qs list -j` prints a plain text notice to stdout and still exits 0 when
nothing is running, so an empty-stdout check does not detect it.

Also re-snapshot instances before SIGKILL, as the pre-kill list is stale
after waiting 5s and the PIDs may have been reused; abort instead of
warning if an instance survives SIGKILL; and pass check=False explicitly
on the kill for PLW1510.

Co-Authored-By: dxnnv <76127109+dxnnv@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* shell: silence the kill instead of capturing its output

`qs kill` writes "Killed <id>" to stdout, which would show up on every
restart. That was suppressed with capture_output, which reads as if the
output is wanted when it is only being discarded. Redirect stdout to
DEVNULL instead, and leave stderr alone so a real failure still surfaces.

Also drop the session lock aside from the teardown comment; it explains
why the flag exists, not why the wait is there.

Co-Authored-By: soramanew <61896496+soramanew@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* shell: kill every instance gracefully, not just one

`qs kill` without `--pid` only kills a single instance, so a user who had
started a second shell by hand got a graceful kill for one of them and a
SIGKILL for the rest. Target each instance by pid so the graceful and the
force path act on the same set.

The pid extraction moves to `instance_pids()` so both loops read from one
place; that also makes the `KeyError` guard on the SIGKILL redundant.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HC13Dj4qfrhwa7SN4VFUCF

* shell: share the stop and start paths between kill and restart

`--kill` now goes through `stop_instances()` so it terminates the same
set of instances `--restart` does, instead of a bare `qs kill` that only
picks one. The start logic moves into `start_shell()` and restart becomes
its own dispatch branch, leaving `run()` as pure dispatch.

Drop the `"pid" in instance` filter: quickshell always serializes a pid,
and skipping an instance without one only delays the failure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wg4NVaizjEuQhgVEZPFExh

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: dxnnv <76127109+dxnnv@users.noreply.github.com>
Co-authored-by: soramanew <61896496+soramanew@users.noreply.github.com>
2026-09-10 14:22:05 +10:00
github-actions[bot] 77289a5ef4 chore(nix): update flake inputs [CI] 2026-09-10 04:10:40 +00:00
github-actions[bot] c6df16b025 chore(nix): update flake inputs [CI] 2026-09-09 04:12:40 +00:00
github-actions[bot] 88d5c0d313 chore(nix): update flake inputs [CI] 2026-09-08 04:12:58 +00:00
2 * r + 2 * t a22e77b916 refactor(nix): match caelestia-dots/shell#1866 (#166) 2026-09-07 16:31:54 +10:00
2 * r + 2 * t 9a7c93b72b ci: use bypass app for push workflows (#165)
* ci: use reusable action for flake update

* ci: use reusable action for emoji update
2026-09-07 16:23:20 +10:00
2 * r + 2 * t abf3855376 style: format ci workflows (#164) 2026-09-07 14:57:08 +10:00
danny 71838c4775 ci: update commit messages in workflows (#163) 2026-09-07 12:20:29 +10:00
github-actions 26251fa228 [CI] chore: update flake 2026-09-04 03:59:41 +00:00
github-actions 167368f77b [CI] chore: update flake 2026-09-03 03:59:42 +00:00
github-actions 21f97b483e [CI] chore: update flake 2026-09-02 04:00:26 +00:00
github-actions 3a1c5e63e2 [CI] chore: update flake 2026-09-01 04:38:01 +00:00
github-actions 2da96e524a [CI] chore: update flake 2026-08-31 04:56:53 +00:00
github-actions 46e4f2707c [CI] chore: update flake 2026-08-30 05:02:02 +00:00
github-actions 56f404c61d [CI] chore: update flake 2026-08-29 06:42:08 +00:00
github-actions 822a80761a [CI] chore: update flake 2026-08-28 11:01:44 +00:00