Add root terminal to Domains tray icon menu#243
Conversation
|
I think the signals are a bit overengineered here? Have you tried just iterating over submenus and running on them a function that changes label / sets the "this is root termin actually" variable? It should not cause any issues/races, I think.... |
|
Yes, but I ran into some (probably unrelated) issues, by the time I solved the issues I had the signals. Iirc I moved to signals to solve what I thought could have been a race, but looking back at the code I'm pretty sure I was wrong. I'll take a look at simplifying the code as soon as I get spare time. |
|
Sorry for the delay. I have now moved away from signals. I just found mock_app which made this a lot simpler to work on 🥳 |
|
Black complains about formatting, either adjust manually, or run |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #243 +/- ##
=======================================
Coverage 93.16% 93.16%
=======================================
Files 58 58
Lines 11065 11065
=======================================
Hits 10309 10309
Misses 756 756 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025031404-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025021804-4.3&flavor=update
Failed tests25 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/129058#dependencies 10 fixed
Unstable testsDetailsPerformance TestsPerformance degradation:32 performance degradations
Remaining performance tests:40 tests
|
This pull request adds a subtle "Run Root Terminal" option to the Domains tray icon menu, which is very useful when not using
qubes-core-agent-passwordless-root.As I've done before, I've tried my best to not change anything about the user experience of the application for most users (as I expect most users to run with
qubes-core-agent-passwordless-root). The behavior after this patch is that holding the shift key changes the "Run Terminal" command into a "Run Root Terminal" command.Looking at existing issues, the closest I found was QubesOS/qubes-issues#9512, but the use case is different as it is a simpler way of making
qubes-core-agent-passwordless-roottogglable. This is instead a simplified root terminal access, over having to open a Dom0 terminal and start it withqvm-run.Extra considerations:I'm not at all familiar with Gtk, and I'm feeling a bit uncertain that signals was the right way to go.No longer using signalsThere is a race when smashing the shift key. I don't think it's a performance issue, and not really a UX issue (as the text matches the action that will be performed when terminal is pressed).*I had forgotten that my keyboard has an automatic hold function for the shift key 🤦