GUI Scripting Solution For Dom0?

I need to replace AutoKey functionality with another scripting solution.

Scripts need to run in Dom0. And they need to have a good deal of pop-up style GUI inputs.

If there’s something that offers GUI functionality to Bash that is safe to run in Dom0, great. What is it?
If not what other scripting language/solution would you use?

P.S. Would you run AutoKey in Dom0?

We already have zenity in dom0.

1 Like

Nice… drilling down now on Zenity.

Unfortunately, zenity is not pre-installed in Qubes 4.1 anymore.

1 Like

I’m still setting up systems for my workflow. Would you say 4.1 is stable enough now, and save myself time by setting up on 4.1 instead?

Ah, that’s the upside of upgrading from 4.0.4 :smiley:

1 Like

You can also have a look at blocking and critical known bugs.

What would you use in 4.1? (Install Zenity?.. or something else?)

I stick to my own best practice not installing any additional package to dom0 - except repository templates and gpg-split.

There also probably has been a reason to remove zenity, like separation of the GUI domain.

What I currently do is to simple use the terminal as dialog replacement:

/usr/bin/xfce4-terminal \
  --title "My prompt" \
  --hide-scrollbar \
  --hide-menubar \
  --disable-server \
  --hide-toolbar \
  --geometry 30x10 \
  -e "bash -c 'echo foo; read -p \"Press any key to continue...\"'"

This can be a basement to make confirm prompts, list-choices or anything else.

1 Like

First line should be:

/usr/bin/xfce4-terminal \
1 Like

So terminal would have to be loaded for this to work?

My use case:
I need a runner that will launch with a hotkey, and provide a GUI input pop-up and feeds those inputs to the script.
(Like Autokey or Ulauncher.)

My workflow would be dependent on that functionality. I really couldn’t use Qubes as my primary work station without it. I would sacrifice some security, by installing something in Dom0 if there was no other way.

If something simple like ^^^^ would work that would be great. But I need to wire it so that it pops up the input window while inside any other application or appVm window. Is that possible? Or do I have to resort to a 3rd party install? And if so, anything you’d recommend keeping in mind the changes in 4.1?

If you aren’t proficient with shell scripting yet or want something simple, you can install zenity again (but haven’t tried it). Someone here in the forum was even able to keep it 4.1, but did upgrade in-place from 4.0.

What I currently do to return something as response, is to write the answer in a file (inside the executing -e part), for example inside $XDG_RUNTIME_DIR.

1 Like