Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ryoku/shell/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Changelog: ryoku/shell/

## Unreleased
- **Opening Controls no longer makes the whole screen hitch.** With an external
monitor on DDC/CI, the panel read its brightness the moment it opened, and that
read stalled every display for a fraction of a second. It now reads a quarter
second after the panel appears, so the external brightness slider fills in a moment later.
- **Windows reach the Shima dock again.** Under the Shima bar style the frame and
the dock both reserved the dock's band, which left a dock-tall gap between
windows and the dock. The frame's reservation is now the only one there.
Expand Down
12 changes: 11 additions & 1 deletion ryoku/shell/quickshell/shell/modules/sidebar/ControlsLevels.qml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ Item {
function syncActive(): void {
if (root.active && root.showBrightness) {
Devices.startProbes(root);
root.readExternalBrightness();
externalReadDelay.restart();
} else {
externalReadDelay.stop();
root.volumeOpen = false;
root.brightnessOpen = false;
root.writeBrightness();
Expand Down Expand Up @@ -109,6 +110,15 @@ Item {
}
}

// A DDC/CI read that overlaps the panel's layers mapping stalled every
// output's frames for 45-200 ms on each open (seen on NVIDIA I2C); from
// 100 ms on there were none, so the live level is read after the map.
Timer {
id: externalReadDelay
interval: 250
onTriggered: root.readExternalBrightness()
}

Timer {
id: brightnessWrite
interval: 90
Expand Down
Loading