Commit Graph
1223 Commits
Author SHA1 Message Date
dependabot[bot] aec1d1d08a chore(deps): bump python-pam from 2.0.2 to 2.1.0
Bumps [python-pam](https://github.com/FirefighterBlu3/python-pam) from 2.0.2 to 2.1.0.
- [Release notes](https://github.com/FirefighterBlu3/python-pam/releases)
- [Changelog](https://github.com/FirefighterBlu3/python-pam/blob/main/ChangeLog.md)
- [Commits](https://github.com/FirefighterBlu3/python-pam/compare/v2.0.2...v2.1.0)

---
updated-dependencies:
- dependency-name: python-pam
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-01 04:55:46 +00:00
sankalp ce37040ec2 chore(deps): sync uv.lock for ruff and pre-commit bumps 2026-09-30 21:13:24 +05:45
sankalp fbd7863de6 fix(applet): stop escape closing parent past child dropdown 2026-09-30 21:13:24 +05:45
sankalp 507e3ad25d fix(install): detect Arch derivatives by ID
Artix ships no `arch` string, so the substring check rejected it.
Match ID/ID_LIKE per os-release(5) plus pacman presence.

Closes #53
2026-09-30 21:13:24 +05:45
sankalp d9c1c21c67 docs: add blog badge to readme 2026-09-22 17:49:38 +05:45
sankalp 0abe0ed9aa fix(mpris): wrap CACHE_DIR in Path before path division 2026-09-06 08:24:46 +05:45
sankalp 52a71a31c4 fix(network): stop freezing shell during wifi switch and detect connect success correctly
- Cache saved SSIDs and refresh them off the main thread; keep in sync via
  the Settings proxy's Connections property-change notify, so is_network_saved
  never issues a blocking D-Bus GetSettings round-trip on the GTK main loop.
  This prevented the panel and control-center popup from freezing while wifi
  devices were switched.
- Treat AddAndActivateConnection/ActivateConnection results as success by
  truthiness instead of requiring a two-element tuple (only the ...2 variant
  returns one). The old check always evaluated False, so even a successful
  password connect was reported as a failure and re-prompted the password
  dialog.
2026-09-05 00:23:11 +05:45
sankalp df51b13098 fix(globalmenu): add appmenu-gtk-module root to fast probe
GTK3 apps like nwg-look export their menubar model under
/org/appmenu/gtk/window/menus/menubar/N on unique bus names (:1.x).
The fast probe previously only walked [wm_class, /org/gtk/Application],
missing this path entirely. The full crawl then skips all unique-name
services (svc.startswith(':')), so the menu was never discovered despite
being correctly exported.
2026-09-02 22:31:51 +05:45
sankalp 7d87bea563 Merge pull request #52 from S4NKALP/dependabot/github_actions/github/codeql-action-4.37.9
chore(deps): bump github/codeql-action from 4.37.3 to 4.37.9
2026-09-01 22:56:11 +05:45
sankalp 81100f457c Merge pull request #50 from S4NKALP/dependabot/pip/pre-commit-4.6.2
chore(deps-dev): bump pre-commit from 4.6.1 to 4.6.2
2026-09-01 22:55:59 +05:45
sankalp 6338e8fb64 Merge branch 'macos' into dependabot/pip/pre-commit-4.6.2 2026-09-01 22:55:40 +05:45
sankalp 4eb293f8bb Merge pull request #51 from S4NKALP/dependabot/pip/ruff-0.16.5
chore(deps-dev): bump ruff from 0.16.0 to 0.16.5
2026-09-01 22:55:06 +05:45
dependabot[bot] e546373408 chore(deps): bump github/codeql-action from 4.37.3 to 4.37.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.37.3 to 4.37.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.37.3...v4.37.9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 04:58:00 +00:00
dependabot[bot] bfdfa6a092 chore(deps-dev): bump ruff from 0.16.0 to 0.16.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.16.0 to 0.16.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.16.0...0.16.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 04:57:31 +00:00
dependabot[bot] 2624bf7826 chore(deps-dev): bump pre-commit from 4.6.1 to 4.6.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.6.1...v4.6.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-version: 4.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 04:57:21 +00:00
sankalp 41b117e53a fix(panel): wire up pre-existing wifi/eth devices
device-ready fired before NetworkIndicator subscribes, so Wifi.changed
never reached the panel icon. Auto-reconnect to saved network left icon
stale at wifi-off.

Track connected device paths and connect existing devices at init.
2026-08-27 20:18:21 +05:45
sankalp a092146358 fix(controlpanel): align and bold section headers
Known Network / Devices headers had no styling, so they sat flush
left and plain next to the padded bold wifi-other-button rows.
2026-08-23 17:26:34 +05:45
sankalp 464c19b97f refactor: removed requirements.txt 2026-08-23 16:27:19 +05:45
sankalp 282d791d01 fix(network): detect usb and bluetooth tethering in panel
Wired devices were tracked as a single slot, so USB tethering on a
second port never got an Ethernet service object and the indicator
kept showing wifi-off while online. Track all wired devices like
wifi devices, prefer the one with an active connection, treat BT PAN
(type 5) as wired, and refresh on device removal.
2026-08-23 16:22:30 +05:45
sankalp b7e8786e6b refactor(systray): rely on fabric stock icon handling
Upstream fabric now resolves tray icons correctly, so the local
pixbuf fallback patch is gone. The patch keeps only config-based
item hiding by wrapping do_update_properties.
2026-08-23 16:22:30 +05:45
sankalp 41c57d6996 fix(globalmenu): match desktop files case-insensitively
GIMP reports WM_CLASS "Gimp" but desktop file is gimp.desktop.
Exact-case lookup missed, so bar fell back to raw window title
(e.g. "0 (RGB color, 8-bit, non-linear integer)").
2026-08-16 22:30:09 +05:45
sankalp f31c6df8db fix(globalmenu): hide dropdown when no app active 2026-08-14 00:01:33 +05:45
sankalp 8a212da9d5 feat: update keybinds of lockscreen 2026-08-10 13:58:55 +05:45
sankalp 87458f2dff fix(notification): restart timeout when pointer leaves popup surface
Nested-widget crossing events can be delivered with INFERIOR detail when
the pointer moves onto the close-button overlay, stranding _is_hovered
as True and leaving the timeout killed so the notification never
auto-dismisses. Track surface-level enter/leave on the popup window and
reconcile the hover state from there as a reliable backstop.
2026-08-10 13:48:30 +05:45
sankalp 56b40b9b71 feat(settings): dock position dropdown 2026-08-09 13:34:01 +05:45
sankalp 79a7e58198 feat(dock): configurable position (bottom/left/right) 2026-08-09 13:23:58 +05:45
sankalp 090044c35d fix(globalmenu): rework menu discovery for fresh apps
- probe once per app instead of per matched bus service
- skip unique :1.x names, which can be stale and never answer DBus
- give fresh apps a 6s probe budget so late-exporting menubars are caught
- fix app-age computed as inf when unregistered unique names poison the
  first-seen min, disabling the fresh path entirely
- cache no-menu per app/service so re-focus returns instantly
- skip oversized action menus and truncate top-level menu to 32 items
- parse org.gtk.Actions state via explicit child walk (av unwrap was
  fragile on apps like Inkscape)
2026-08-09 01:26:01 +05:45
sankalp 37a6a01803 fix(weather): queue toplevel resize after label update
Wrapped location reflow never reaches the layer-shell toplevel through
Gtk.Fixed, so the card stays at "Loading..." height and clips the second
line of a wrapped location on first init. Queue the toplevel after
updating labels so the taller allocation is applied.
2026-08-06 15:25:04 +05:45
sankalp 1699117d15 fix(weather): stop desktop widget labels truncating
Drop max_chars_width/ellipsization so location and condition wrap
instead of being cut off, and let the card auto-size vertically so the
big temperature no longer clips the bottom text.
2026-08-05 15:00:40 +05:45
sankalp eac9933778 feat(lock): style notch, corners, and icon 2026-08-05 06:10:10 +05:45
sankalp 43183948f1 fix(panel): render full notch pill without window clip 2026-08-05 06:10:10 +05:45
sankalp dc78360499 style(osd): use glass-surface-solid for block-bg 2026-08-05 06:10:06 +05:45
sankalp e923da3fdd feat(style): add glass-surface-solid color 2026-08-05 06:10:06 +05:45
sankalp 96698022b6 feat(lock): reuse NotchPill with lock icon 2026-08-05 06:10:06 +05:45
sankalp 30005b9f1f feat(notch): export NotchPill 2026-08-05 06:10:03 +05:45
sankalp e75023ef72 refactor(notch): inherit NotchPill, accept idle_widget 2026-08-05 06:10:03 +05:45
sankalp 9ce37b9837 feat(notch): add shared NotchPill container 2026-08-05 06:10:02 +05:45
sankalp cdc51ffdaf fix(desktop): stop calendar label churn at midnight
Update timer used fixed ms-until-midnight computed at import. Once
midnight passed, the fixed interval re-armed an elapsed timeout, busy
looping update_calendar and destroying/recreating every label until
GTK3 stopped rendering them. Timer now recomputes the interval each
day and the grid mutates pre-built labels in place via set_label /
set_name instead of rebuild.

Also added missing year check for today highlight.
2026-08-05 00:13:02 +05:45
sankalp 8f3d05f7d7 style(desktop): drop stale edit-mode comment 2026-08-03 07:40:13 +05:45
sankalp 73e050897b fix(desktop): repaint widgets during drag and drop
A Gtk.Fixed child resize only bubbles to the toplevel when the window
itself is queued, so move() kept the old allocation until a rebuild.
Queue the window after each reposition so the dragged widget follows
the cursor and lands at the drop position live.

Dropped remove()+put() which never repainted in the layer-shell window.
2026-08-03 07:39:33 +05:45
sankalp 195143664b fix(recording): track backend subprocess for active state
active shelled out to pidof on every read, blocking the main loop and
missing our own recorder handle. Track the spawned Gio.Subprocess for
an exact answer and cache the external pidof probe for 2s.

Resets the cache at ownership boundaries (start/stop).
2026-08-03 07:39:30 +05:45
sankalp 8318bdf0fd build: refresh lockfile for fabric tag pin 2026-08-02 13:37:10 +05:45
sankalp 515c04d33c refactor(spotlight): spawn caffeine detached 2026-08-02 13:37:10 +05:45
sankalp 4f2c3eb88c refactor(spotlight): use shared app cache 2026-08-02 13:37:10 +05:45
sankalp d1734fe040 refactor(recording): reuse mmss formatter 2026-08-02 13:37:10 +05:45
sankalp a8682700f4 perf(panel): defer heavy component imports to first use 2026-08-02 13:37:10 +05:45
sankalp 5b613d734f refactor(pomodoro): reuse mmss formatter 2026-08-02 13:37:10 +05:45
sankalp e95d3df14f perf(unified_cache): cache icon theme name with TTL 2026-08-02 13:37:10 +05:45
sankalp 849a8267e2 fix(notification_center): reconcile groups in place 2026-08-02 13:37:10 +05:45
sankalp 2f89203477 refactor(notification): share pixbuf resolution 2026-08-02 13:37:10 +05:45