QubesVm object caches some domain state (domain ID in libvirt object,
Qubes DB connection socket), which can become out of date in
case of start/stop events. Currently it needs manual trigger to refresh
itself.
This reverts commit 227597cf93.
QubesWatch no longer supports xenstore, so there is no simple way to
get this column updated. This is conscious decision in process of making
R3 Xen-independent.
Conflicts:
qubesmanager/main.py
In Fedora 20 sudo cannot be called from qrexec call (no tty available),
so run it in separate call as root.
Also add "-P" option to qubes-update-check call: for SysV systems it
should be ignored and service started as normal user (which is just
fine), but on systemd systems, the call would be redirected to
systemctl, which refuse normal user service actions. "-P" flag acquires
root privileges using PolicyKit.
Window size is fixed (calculated based on VMs count etc) so it isn't
useful. Without correctly calculated base size hint it can cause wrong
manager window size. It actually happens on fc20 in dom0.
Apparently KDE parses HTML tags in tray notifications only when some of
them appears on the first line of the message. So add some there.
This doesn't affect Xfce, which always parses HTML tags.
When the file doesn't exists, adding a watch fails. So monitor directory
for IN_CREATE event and when file is created - add the modify watch.
This watch will miss the first update (rather: create), so fire it
in IN_CREATE handler.
Previously if Qubes Manager was started with inactive VMs hidden,
toggling "show inactive VMs" option wasn't enough to show them. This is
because we set RowHidden to False only when both show_inactive and
show_internal are set.
This commit fixes the issue.
Storing some Qubes Manager specific properties in QubesVm object isn't
completely right, but if do so, try to keep them in one dict, not bunch
of attributes. Index this dict with named "enum" (implemented as class)
entries.
dbus-python seems to be not thread safe. After "881ee76 Merge qclipd
into qubes-manager" this occasionally triggers SEGV.
QtDBus seems to be somehow less robust:
- doesn't automatically convert methods arguments to proper types based
on introspection data
- property access isn't working so must call
org.freedesktop.DBus.Properties methods manually
But besides those problems seems to work stable.
Have all gui-notification code in one place.
TODO: Change python-dbus to QtDBus, which should better support threads
(current version occasionally gets SEGV...).