Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Quickshell freezes for 1–2 seconds when a focused panel reads from a stalled Wayland clipboard owner
Reported by forbidden-game · filed Aug 28, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: partly in the audited area (lock) — decided by arbitration; matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.
Original report
System details
ThinkPad T14p, Intel Core Ultra 9 285H, Intel Arrow Lake-P iGPU
- Omarchy 4.0.1-1
- Quickshell 0.3.1-1
- Hyprland 0.56.2-1
- Qt Wayland / Qt Declarative 6.11.2-1
- Kernel 7.1.9-arch1-2
What's wrong?
Opening a keyboard-focused Omarchy Shell panel can block the entire
Quickshell UI for approximately 1–2 seconds when the current Wayland
clipboard owner is temporarily unresponsive.
Regular application windows remain responsive. The bar and Shell panels
are blocked together.
This reproduces consistently using the stock Clock widget and the following
local clipboard owner.
Steps to reproduce
- In terminal 1, watch the relevant log:
journalctl --user -f -o cat |
rg --line-buffered 'QWaylandDataOffer|mimeType'- In terminal 2, create and run a deliberately stalled clipboard owner:
cat >/tmp/stalled-clipboard.qml <<'QML'
import QtQuick 2.15
import QtQuick.Window 2.15
Window {
width: 240
height: 80
visible: true
title: "Stalled clipboard owner"
TextInput {
anchors.fill: parent
text: "omarchy-clipboard-timeout-repro"
Component.onCompleted: {
forceActiveFocus()
selectAll()
copy()
stall.start()
}
}
Timer {
id: stall
interval: 5000
onTriggered: {
const deadline = Date.now() + 30000
while (Date.now() < deadline) {
// Simulate an unresponsive clipboard owner.
}
Qt.quit()
}
}
}
QML
qml /tmp/stalled-clipboard.qml- Within five seconds, click the small “Stalled clipboard owner” window once.
- Wait until that window becomes unresponsive, then manually click the
stock Clock widget in the Omarchy bar.
Actual result
The Clock panel/bar becomes unresponsive for approximately 1–2 seconds.
The journal prints:
QWaylandDataOffer: timeout reading from pipe
QWaylandDataOffer: error reading data for mimeType text/plain;charset=utf-8
QWaylandDataOffer: timeout reading from pipe
QWaylandDataOffer: error reading data for mimeType text/plainThe test application exits automatically after 30 seconds.
The same log occurs intermittently with normal clipboard contents, which is
the real-world symptom this reproducer models.
Expected result
An unresponsive clipboard owner should not block the Quickshell GUI thread.
The Clock panel and the rest of the Omarchy Shell should remain responsive,
even if paste availability cannot be determined immediately.
Trace
GDB shows the Quickshell main thread synchronously reading the clipboard:
QWaylandDataOffer::startReceiving
QWaylandDataOffer::retrieveData_sys
QInternalMimeData::retrieveData
QClipboard::mimeData
QQuickTextInput::q_canPasteChangedThis indicates that a QQuickTextInput paste-availability update performs a
blocking clipboard read on the Shell GUI thread.
View raw text
### System details
ThinkPad T14p, Intel Core Ultra 9 285H, Intel Arrow Lake-P iGPU
- Omarchy 4.0.1-1
- Quickshell 0.3.1-1
- Hyprland 0.56.2-1
- Qt Wayland / Qt Declarative 6.11.2-1
- Kernel 7.1.9-arch1-2
### What's wrong?
Opening a keyboard-focused Omarchy Shell panel can block the entire
Quickshell UI for approximately 1–2 seconds when the current Wayland
clipboard owner is temporarily unresponsive.
Regular application windows remain responsive. The bar and Shell panels
are blocked together.
This reproduces consistently using the stock Clock widget and the following
local clipboard owner.
#### Steps to reproduce
1. In terminal 1, watch the relevant log:
```bash
journalctl --user -f -o cat |
rg --line-buffered 'QWaylandDataOffer|mimeType'
```
2. In terminal 2, create and run a deliberately stalled clipboard owner:
```bash
cat >/tmp/stalled-clipboard.qml <<'QML'
import QtQuick 2.15
import QtQuick.Window 2.15
Window {
width: 240
height: 80
visible: true
title: "Stalled clipboard owner"
TextInput {
anchors.fill: parent
text: "omarchy-clipboard-timeout-repro"
Component.onCompleted: {
forceActiveFocus()
selectAll()
copy()
stall.start()
}
}
Timer {
id: stall
interval: 5000
onTriggered: {
const deadline = Date.now() + 30000
while (Date.now() < deadline) {
// Simulate an unresponsive clipboard owner.
}
Qt.quit()
}
}
}
QML
qml /tmp/stalled-clipboard.qml
```
3. Within five seconds, click the small “Stalled clipboard owner” window once.
4. Wait until that window becomes unresponsive, then manually click the
stock Clock widget in the Omarchy bar.
#### Actual result
The Clock panel/bar becomes unresponsive for approximately 1–2 seconds.
The journal prints:
```text
QWaylandDataOffer: timeout reading from pipe
QWaylandDataOffer: error reading data for mimeType text/plain;charset=utf-8
QWaylandDataOffer: timeout reading from pipe
QWaylandDataOffer: error reading data for mimeType text/plain
```
The test application exits automatically after 30 seconds.
The same log occurs intermittently with normal clipboard contents, which is
the real-world symptom this reproducer models.
#### Expected result
An unresponsive clipboard owner should not block the Quickshell GUI thread.
The Clock panel and the rest of the Omarchy Shell should remain responsive,
even if paste availability cannot be determined immediately.
#### Trace
GDB shows the Quickshell main thread synchronously reading the clipboard:
```text
QWaylandDataOffer::startReceiving
QWaylandDataOffer::retrieveData_sys
QInternalMimeData::retrieveData
QClipboard::mimeData
QQuickTextInput::q_canPasteChanged
```
This indicates that a `QQuickTextInput` paste-availability update performs a
blocking clipboard read on the Shell GUI thread.
Also reported as
R-1312 is the earliest report of this defect, filed Aug 28, 2026. 2 later reports describe the same defect.
- Aug 28, 2026R-1312 · this report— the original
- ·Decided by agents · verified
Open upstream.
- ·Decided by agents · verified
Open upstream.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Decided by arbitration: partly in the audited area (lock)
- Decided by agents · verified: matches no known issue
The outcome (valid, duplicate, not a bug, …) is not decided yet.