Github Issue #2136 - Xfce4 widget for displaying label/title of the currently focused AppVM
on Jun 30, 2016 (Joanna) Rutkowska writes:
Some user might want to have a fixed indicator (e.g. in the main top panel) which always displays the color (and title?) of the currently focused AppVM. This is to prevent GUI spoofing attacks where a red-bordered malicious windows draws a fake green-border-password-prompting windows inside itself, hoping the user would paste some sensitive password there. There are many ways to work around such attacks, e.g. via activation of expose-like effect (Present Windows in KDE, or the somehow less convenient version via Alt-Tab in Xfce4), or by manually moving the sensitive window around the screen. Still this method might be slightly more convenient.
Diagnosis & Analysis
This is going to be the start of major work. Almost all of Xfce4 panel plugins are written in C language. Time to say goodbye to Python for the time and flex C programming muscles. The documentation is scattered everywhere and not the best. There is no sample Qubes Xfce4 Panel plugin at the moment (as far as I know).
Solution
- This is doable by a query of
_NET_ACTIVE_WINDOW
, then_QUBES_LABEL_COLOR
and_QUBES_VMNAME
for Window ID. A similar approach could be developed for Wayland in foreseeable future. - Marek recommends a new repository for Xfce4 plugins.
I have been working on the new repository, laying out the foundation for the Qubes OS specific Xfce4 Panel Plugins (it is currently private). The plugin suggested by Joanna is the most basic plugin which does something useful. Once (and if) it is approved, other plugins could be added to the repository for other purposes (e.g. XEN CPU load / RAM usage, Network download/upload rate of individual NetVMs, …)
It is necessary to decide, what should be the shape of panel plugin. Should it be Qubes logo in active window color? Should it be square? Should it be small? Large? Configurable? And should the title and/or label be in the panel itself or a tooltip. And what should happen if user clicks the widget. I believe it should open AppMenu and go directly to the active qube sub-menu. But all of these could wait. Since we want the initial repository to be light and easy for review.