diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-26 13:07:08 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-26 13:07:08 +0100 |
| commit | e320c1e0e4452d9bf4903d64e0dd3e1b3ced95d2 (patch) | |
| tree | 34847129057c55116bc056f1af61c892342582f3 /bookmarks/Theme.qml | |
| parent | f161ba41344c6834f10eaa5064dc02bc9c1cfdf6 (diff) | |
| download | quickshell-e320c1e0e4452d9bf4903d64e0dd3e1b3ced95d2.tar.gz quickshell-e320c1e0e4452d9bf4903d64e0dd3e1b3ced95d2.zip | |
bookmarks: Firefox bookmarks as a full-width overlay
A new standalone shell, shaped like hosts, on SUPER+b. bookmarks.py reads
the bookmark tree and favicons of the profile a running Firefox holds
(found through the pid in its lock symlink; the last-modified places.sqlite
was tried first and picked the guest profile after a stray launch touched
it). Firefox keeps both databases in exclusive lock mode, so they are
copied with their -wal and the copy is read: an immutable=1 open of the
original skipped the log and kept showing bookmarks deleted minutes before.
The grid spans DP-1, a ListView of card rows so only visible rows exist,
grouped by folder with each folder's own bookmarks before its subfolders.
Six icon buttons (Ctrl+S cycles) sort by folder, newest, title, site, most
visited or link state. The wheel scrolls three rows a notch through a
MouseArea, since Flickable's own step crawled; only the selected card
carries a Glow, through a Loader.
Favicons are extracted by content hash; a page without one takes any icon
Firefox holds for its host, which found 52 more of 504.
bookmarks.py --links (Ctrl+R) checks every http(s) bookmark, HEAD then GET,
32 at a time, in about 22s, and caches the result. Dead means 404/410, an
NXDOMAIN or a refused connection; 403, 429, timeouts, TLS and resolver
failures are only "unsure", because a 32-thread burst produced EAI_AGAIN
that a serial retry resolved.
Bookmarks open with xdg-open: a plain `firefox <url>` does not reach an
instance started with -P and opened the default profile beside it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'bookmarks/Theme.qml')
| l--------- | bookmarks/Theme.qml | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bookmarks/Theme.qml b/bookmarks/Theme.qml new file mode 120000 index 0000000..3d2e40f --- /dev/null +++ b/bookmarks/Theme.qml @@ -0,0 +1 @@ +../shared/Theme.qml
\ No newline at end of file |
