| Age | Commit message (Collapse) | Author | Files | Lines |
|
The repository had no name of its own, only the framework's. It is now
Keystone, in the README, AGENTS.md, the settings window, notes commit
messages, calctl's PRODID and the user page's User-Agent.
Its files move off quickshell's name too:
~/.config/quickshell/greetings -> ~/.config/keystone/
~/.config/quickshell/obs-scene-icons.json -> ~/.config/keystone/
$XDG_STATE_HOME/quickshell/desktop.json -> $XDG_STATE_HOME/keystone/
~/.config/quickshell is Quickshell's own default config directory (a
bare qs loads its shell.qml), so sharing it was a collision rather than
a home. There is no fallback to the old paths: the files are moved once.
The layer namespaces become keystone-*, and the Hyprland blur rules in
hypr-theme are renamed to match in the same change. A running shell
keeps its old namespaces until restarted.
Left alone: the retired standalone mail and vm shells' namespaces,
which their READMEs keep as history; Quickshell's own app id, binary
and process name; and the repository directory.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
|
|
A drop offering no local file:// URL was refused silently: the bubble
vanished and nothing happened. Measured on the first report: the file
manager offers a trashed file as trash:, with no path to read. The bubble
now shows the reason for a moment, Trash named as such, and the refusal is
logged with the URL schemes and offered formats (never the paths).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
From review. A shell reload reconnected with lastActive at 0, so the next
SUPER+Home started a new conversation thirty seconds into one; hello with
turns now counts as activity. show() could send new under a reply still
running, which stops it unsaved; it waits while busy. ask() cleared the
chips before the daemon accepted them, so a refused file (unreadable, too
big, a model without vision) dropped them and collapsed the card to the
entry line; the user event clears them now, and chatting holds the layout
while a PDF is read.
In the picker, folders ignore name filters and sorted first, so filter
then Enter opened a folder; folders hide while filtering. Folder URLs are
encoded, so a '#' in a name no longer cuts the path, and glob characters
typed in the filter are taken literally. The card says the assistant is
not running in every state, panels sit under the chat header instead of
over it, and History and the picker no longer open together. Dropped
file://localhost/ URLs are accepted, other hosts refused, and the island
receptor keeps the sliver's width at rest so it takes no clicks beside it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A DropArea over the sliver grows into a bubble while a file drag is over it and hands file:// paths to the canvas.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
|
|
Shows album art and a scrolling "artist · album · title" while a
player is playing or paused, using the sound module's Player so the
browser proxy duplicates are already filtered. Hovering swaps the text
for a progress bar, swapped in place rather than growing the pill;
MPRIS does not push position, so it is re-read every second while
hovered, and a click seeks only when the player reports canSeek and a
known length. The wheel steps tracks one per notch, as the layout flag
does, so a touchpad does not skip several.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The island's performance icon and panel are gone: the drawer page covers
them. With only one host left, the panel drops its three-column grid for
one card per row at a larger size, since the page scrolls; temperatures
get a card of their own as tiles. The files move from island/perf to
modules/perf.
A cache card ports conky's: ~/.cache and its five largest children,
measured with du each time the page opens (28ms over 2 GiB here) rather
than read from conky's 15-minute sampler file. The largest is yellow,
red past half the total, as conky had it.
The warning dot now shows only on the drawer tile.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Each of its seven tiles opened a drawer page that already existed, and it
went unused. SUPER alone will open the drawer instead. Removed with it: the
status pill's controls icon, Island.toggleControls, the island IPC target,
Controls.js and its test, and the controls list in Prefs. Prefs now holds
only the pinned IP; a controls key left in desktop.json is still kept on
write, because writes merge into the parsed document.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The performance grid runs past the old 360px surface and its disks
card was cut off. The surface is click-through outside the pills, so
the extra height costs nothing. A hot reload does not resize an
existing layer surface; it takes a restart of the desktop component.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A system monitor icon before the controls icon opens the panel in the
status pill's capsule at 600px. A dot on its corner shows the worst of
temperatures, RAM, disks and the public IP check, yellow or red, so a
problem shows without opening anything. The detailed sampling runs only
while the panel is open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A click on the pill opens the panel in its capsule, 620px wide, growing
left from the gap so the status pill does not move. Focus goes into the
panel so its text fields and Escape work; Escape closes the editor
before the panel.
The Escape hook is back(), not escape(): QML rejects a method named
escape with "Illegal method name", since it shadows the global JS
function, and the reload failed until it was renamed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A settings icon in the status pill opens the controls panel in the same
capsule the sound panel uses. Right-click on a tile closes the panel and
opens its drawer page. The island IPC target reveals the island and
toggles the panel, for the SUPER release bind.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
It is a handle for revealing the pills, so it gives way to them. While
something captures it stays, being the only privacy indicator.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The sliver was the accent at rest, and udt had snapped the accent to the
same colour as the mic indicator (#36d190), so an idle sliver read as a
live microphone. It is Theme.overlay at rest now; captures keep their
colours whatever the wallpaper does.
The flag's WheelHandler never fired. MouseArea.onWheel, which SoundPage
already uses, does; scroll now switches layout, one step per notch.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A fixed overlay strip that never resizes: the pills animate inside it and
the input mask follows their rectangles, so resizing a layer surface during
a morph never happens. Hidden behind a sliver that also carries the privacy
colours; the clock pill drops alone for a workspace or app-open flick.
shell.qml gains the UseQApplication pragma, which tray menus need, and the
island holds itself shown while a tray menu is open, since the menu is a
separate popup that would otherwise un-hover the pills and let the hide
timer fire. The hold ends at the next hover.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|