Skip to content

Quickshell bug fixes. - #7

Merged
reze-dev merged 13 commits into
mainfrom
fix/shell-bugs-round2
Sep 25, 2026
Merged

reze-dev merged 13 commits into
mainfrom
fix/shell-bugs-round2

Conversation

@reze-dev

Copy link
Copy Markdown
Owner
  1. Fix calender not updating at midnight.
  2. Add notification cooldown to prevent spam notification toasts
  3. Replace janky start logic of triggering quickshell and replace it with flock based instance start and detection.
  4. Improve the systemd module to prevent invalid startup state of quickshell
  5. Add a calender binding to update it on trigger.
  6. Rewrite employee ID card to fix proportions of ID card svgs and add a green flash accent on corners.
  7. Enable os prober in grub.

Replace one-shot new Date() calls with SystemClock (minute precision) for
reactive todayYear/todayMonth/todayDate properties. The grid now
recalculates at midnight and the footer date auto-updates. Also resets
to today when the popup is reopened via onVisibleChanged.
Add configurable cooldown window (default 30s) for notification
deduplication. Wired into save, parse, and resetToDefaults logic.
Track recently shown notifications by appName|summary key. If the same
pair fires again within the cooldown window, suppress the toast popup
while still recording to history. Prevents bluetooth mouse sleep/wake
notification spam from external daemons.
The previous pkill wrapper was racy and could fight with systemd's
restart policy. Use flock on a lockfile instead — if another instance
is already running, exit 0 silently (no systemd restart loop). This
properly prevents duplicate bars on logout/login cycles.
Remove direct ctos-shell launch from Hyprland and Niri startup configs.
The systemd user service already auto-starts via graphical-session.target,
making these duplicate triggers the source of the startup race condition.
Set Type=simple explicitly and increase RestartSec from 2 to 3 for
more breathing room between restart attempts.
- Fix user.svg overflow: add anchors.fill + fillMode PreserveAspectFit
- Reduce ColumnLayout/RowLayout spacing from 15/10 to 6/6 to fit card
- Add valueColor property to InfoField component
- Add red ACCESS RESTRICTED field to the identity card row
- Wire employeeAccess into the reveal animation sequence
Add tintColor property to Accents component with ColorOverlay on each
corner bracket SVG. On auth success, set tint to #00ff41 (hacker green)
during the identity card reveal, then reset to transparent when
transitioning back to the field group.
Use Qt.binding() in resetToToday() so viewYear/viewMonth track the
clock reactively after reset. This way if the popup stays open past
midnight after a reset, the view continues to follow the system date.
Replace broken disconnected ColumnLayout+anchored-Item approach with a
clean unified RowLayout filling the full card:

- Single RowLayout splits left info column (fillWidth) from right photo
  panel (fixed 32% of card width) — eliminates the 51px dead space gap
- Barcode height constrained by its 241:72 aspect ratio via
  Layout.preferredHeight so it never overflows or collapses
- Font sizes now scale with Units.vh for HiDPI consistency
- user.svg properly anchored with inset margin inside photo panel
- ACCESS field uses Theme.accentRed instead of hardcoded #ff3333
- All layout positions anchors.fill: parent so nothing floats at (0,0)
@reze-dev
reze-dev merged commit c52dd97 into main Sep 25, 2026
1 check passed
@reze-dev
reze-dev deleted the fix/shell-bugs-round2 branch September 25, 2026 11:19
reze-dev added a commit that referenced this pull request Sep 28, 2026
reze-dev added a commit that referenced this pull request Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant