Commit graph

1834 commits

Author SHA1 Message Date
5c3d84d0c9 quickshell: answer "where"/"when"/"who" questions, pick the right article
"where is K2" had no scoring signal at all — "where" is a stopword and
"k2" fell under the 3-char term floor, so every sentence tied at zero and
the card fell back to the opening line. Fixes:

- answer-type hints: a "where" question scores sentences carrying the
  vocabulary of place, "when" of dates, "who" of attribution. Stems, not
  whole words — the Telephone intro says "granted a United States
  patent", never "invented". "is a"/"was a" deliberately excluded, since
  they match the definitional opening of every article.
- term floor down to 2 chars so "K2" and "UK" count.
- fetch 3 candidates and choose: an exact title match wins, and a
  disambiguated title loses unless the query asked for that sense.
  Search rank alone put "Chernobyl (miniseries)" above the city.

Verified 11/11 on live responses by running the generated QML functions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 16:26:10 +01:00
95637d91c8 quickshell: instant answers in the launcher
Wikipedia search+extract in one request gives the article for a
natural-language query, then the intro's sentences are ranked so the card
leads with the one that actually answers: +3 per query term, +4 for a
digit when a number was asked for, ties to the earliest sentence. Title
words are dropped from the terms unless they're the attribute asked
about, which is what makes "mount everest height" return 8,848.86 m
instead of a sentence restating the subject.

Fires on a 600ms debounce, only for query shapes that aren't app
searches, cached per query — Wikipedia throttles bursts, so restraint is
correctness here. Every triggered query goes to Wikipedia.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 16:06:00 +01:00
03fda2a6bb quickshell: launcher searches files and the web
Results become one flat list — apps, then files, then a web fallback —
so a single set of arrow keys walks all of it and activate() dispatches
on the item kind.

Files come from one fd run per settled keystroke, scoped to $HOME and
capped with --max-results so fd exits as soon as it has enough; no index
and no daemon, so nothing is ever stale. Spaces in the query become
gaps ("report 2024" finds report-2024.pdf) and regex metacharacters are
escaped so a query can't make fd bail.

Web row is last and always there, with bangs (!yt !gh !no !np !w) to
retarget it. Suppressed for arithmetic so Enter keeps copying the sum.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 15:45:43 +01:00
a15e4d5a32 quickshell: pins as a 3-up tile grid with drag reorder
Pinned apps move out of the results list into their own tile grid, three
across, wrapping to further rows. Drag a tile onto another slot to
reorder; the id list is rewritten on release rather than mid-drag, so
nothing shifts under the cursor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 15:14:19 +01:00
c212b06d15 quickshell: launcher calculator + app pinning, knobless monitor meters
Type arithmetic in the launcher ("3+3") and a result card appears above
the list; click or Enter copies it. Right-click any result to pin it to
the top — pins persist in ~/.local/state and outrank ties in search.

CPU/RAM rows in the server card use a new knobless MeterBar instead of
PillSlider, which read as draggable controls.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 14:32:07 +01:00
6f32d56c5b quickshell: blend status colours toward the theme accent
Fixed hues stayed legible but read as pasted on. Mix each 25% toward
base0D so they land in the wallpaper's family: err #e0525f -> #b86872,
ok #68c17c -> #5ebb88. statusHarmony is the one knob.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:42:59 +01:00
e2c413d997 quickshell: derive surfaces from base00, fix status colours
Stylix base01/base02 come off the wallpaper and land off-hue (purple card
over a slate bar). Tint base00 instead: #1c1f26 -> #2f3440 -> #434a5b.

base08-base0C collapse to the same cyan on monochrome wallpapers, so
warning and critical were indistinguishable. Replace with fixed err/warn/
ok/info/alt tokens; base0D stays the themed accent.

Also fixes Theme.base06, which was referenced but never declared.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:32:26 +01:00
1640f642aa desktop: drop plymouth-quit-wait from boot (6s idle-timeout stall) 2026-08-01 09:32:02 +01:00
a1a25a8b75 wan-watchdog: log actions to journal + kick dyndns on WAN IP change
Shrinks external-access blip after ISP re-IP (was waiting up to 5min for
the dyndns timer). Adds journal logging so WAN events are auditable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-01 08:16:43 +01:00
forgejo-actions[bot]
932dae38d5 Update flake inputs 2026-08-01 04:00:41 +00:00
757d37e604 spotify-player: pin 0.24.1 to fix non-renewable API token 2026-07-31 23:29:18 +01:00
7b830f212c spotify-player: use own Spotify client ID 2026-07-31 15:31:26 +01:00
3fbc9f884b wan-watchdog: self-heal router WAN on ISP lease flap / IP change
Flushes stale NAT conntrack on WAN IP change; renews lease then restarts
networkd if internet stays down. ntfy on action. Fixes needing a manual
reboot after the ISP re-IP'd us.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-31 13:58:07 +01:00
dd5040ca79 cheatsheet: fix spotify-player search keys 2026-07-31 12:28:42 +01:00
4a38a2f0d9 quickshell: Super+C keybind cheat sheet; spotify-player visualizer
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 12:22:11 +01:00
a7a9ac6198 add spotify-player, drop need for Electron Spotify
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:05:52 +01:00
forgejo-actions[bot]
478d4d00c0 Update flake inputs 2026-07-31 04:00:42 +00:00
c2f5b70989 router: drop imgur WireGuard tunnel 2026-07-30 21:33:34 +01:00
bfdd0ebc44 router: route imgur via WireGuard tunnel 2026-07-30 19:24:56 +01:00
d8d8400519 quickshell: drop vinyl sheen streaks 2026-07-30 16:07:38 +01:00
41267747d0 quickshell: add sheen streaks so art-less discs read as spinning 2026-07-30 16:04:29 +01:00
2b73b1e470 quickshell: tone down vinyl fallback, gate ring on playback, widen stream match 2026-07-30 16:00:29 +01:00
88ab7944f4 quickshell: fall back to the page favicon when no artwork 2026-07-30 15:56:03 +01:00
02ebdc36ce quickshell: source badge from xesam:url, vinyl fallback label 2026-07-30 15:47:08 +01:00
8dbdb42841 quickshell: spinning vinyl media art with cava spectrum ring 2026-07-30 15:42:00 +01:00
7e8275a654 quickshell: fix media, power-profile and mute icon names 2026-07-30 15:18:55 +01:00
c7d518ab6a quickshell: swap icon font to Lucide 2026-07-30 09:29:26 +01:00
forgejo-actions[bot]
1e94ad7ae9 Update flake inputs 2026-07-30 04:00:42 +00:00
876dc3fc51 quickshell: match caelestia volume, battery and brightness glyphs 2026-07-29 22:48:31 +01:00
1b59058b91 ghostty: keep warm daemon alive with no windows
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 22:45:02 +01:00
734d18791c quickshell: match caelestia icon axes and wifi glyphs 2026-07-29 22:10:21 +01:00
4eeb496efe stylix: switch to caelestia fonts (Rubik + CaskaydiaCove NF) 2026-07-29 21:46:13 +01:00
ec7ae50cf0 quickshell: use Rubik for panel text 2026-07-29 17:45:08 +01:00
a48aac42d0 macbook: swipe workspaces vertically 2026-07-29 17:34:05 +01:00
e68d2d6464 macbook: cap nix download concurrency to stop wl wifi drops 2026-07-29 17:24:25 +01:00
7ea6442a00 gaming: clamp DP-3 gamut to DCI-P3 in compositor
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 12:20:02 +01:00
forgejo-actions[bot]
4fa4c44500 Update flake inputs 2026-07-29 04:00:43 +00:00
530cfbea05 fastfetch: drop display + theme lines 2026-07-28 22:50:22 +01:00
311e5b8e25 fastfetch: compact layout, palette dots, quickshell line 2026-07-28 22:39:09 +01:00
2d5c385ec1 fastfetch: visible palette blocks, keyed icons 2026-07-28 22:33:07 +01:00
3d3a9e7997 fastfetch: more DE detail + stylix palette 2026-07-28 22:28:56 +01:00
df2fe84c5d quickshell: drop bar dividers, space groups instead 2026-07-28 22:21:49 +01:00
7bfd1e25c3 quickshell: segment bar groups, pin server glance 2026-07-28 22:10:47 +01:00
4df4062806 quickshell: restyle volume/brightness OSD 2026-07-28 22:03:32 +01:00
0fbb8ad0f3 hyprland: render games unfocused 2026-07-28 21:47:33 +01:00
2a6aa8b247 wow: stop server, comment out WAN forwards 2026-07-28 20:54:53 +01:00
a7976205a8 qs-stats: single writer, fix @STAT pipe race
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 20:47:39 +01:00
fb0a724d7e gaming: drop dead garnix cache
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 20:38:46 +01:00
608902915f quickshell: glance adds temp + wan up/down
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 20:37:05 +01:00
72864463d0 server monitor: qs-stats stream adds cpu temp + wan throughput
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 20:32:43 +01:00