Commit Graph

274 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
b82a88c4a8 Fix VM clone name prompt dialog (#989)
Fixes qubesos/qubes-issues#989
2015-05-13 04:09:10 +02:00
Marek Marczykowski-Górecki
14c7a9250c Fix logic about VM "running" state
Qubes manager used different logic what it considers as "running VM",
than qubes core.
Here it was "running or starting/stopping", while qubes core uses the
same as libvirt (isActive()), which effectively means "not halted" -
which includes also "paused" and "suspended". This creates a lot
confusion in which action should be available when.

The actual detected bug was about resuming paused VM. There was assert
"not vm.is_running()", while the paused VM _is_ running in terms of
qubes core.

Fixes qubesos/qubes-issues#981
2015-05-04 01:29:20 +02:00
Marek Marczykowski-Górecki
f6941bd3d3 Use separate QubesVmCollection instance when running a task in background (#986)
QubesVmCollection is not thread safe. If for example update_table() will
be called during some long-running task (like creating or removing VM),
it will try to reload qubes.xml (so get read lock first), but the thread
already holds a lock on this file. This would result in "Lock already
taken" exception.

Fixes qubesos/qubes-issues#986
2015-05-04 01:25:55 +02:00
Marek Marczykowski-Górecki
351225a4b3 Fix resuming VMs (#981)
Fixes qubesos/qubes-issues#981
2015-05-03 20:28:45 +02:00
Marek Marczykowski-Górecki
1faa0ac37e mainwindow: code style (part 3), no functional change
Organize imports.
2015-05-03 19:03:26 +02:00
Marek Marczykowski-Górecki
4a136507e9 mainwindow: code style (part 2), no functional change
Rename variables to match PEP8, use is/is not None instead of ==/!=,
initialize instance variables in __init__, fix methods overloads.
2015-05-03 19:03:26 +02:00
Marek Marczykowski-Górecki
a4a022e2c0 mainwindow: code style (part 1), no functional change
Wrap long lines, whitespace fixes
2015-05-03 19:03:25 +02:00
Marek Marczykowski-Górecki
8a91c90cf8 Fix block attach/detach 2015-04-14 23:11:12 +02:00
Marek Marczykowski-Górecki
f65dcdbf10 Watch for domain start/stop events and refresh VM connection info
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.
2015-03-30 04:59:08 +02:00
Marek Marczykowski-Górecki
80b3afdab4 Revert "Add 'Requested MEM' column (aka prefmem) (#788)"
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
2015-03-28 22:57:03 +01:00
Marek Marczykowski-Górecki
0d9bb27229 Update CPU measurement call for the new API 2015-02-09 05:05:03 +01:00
Marek Marczykowski-Górecki
6329c6e07e Disable meminfo watch - not implemented in R3 2015-02-06 08:26:53 +01:00
Wojciech Zygmunt Porczyk
060b16900a use new icon from qubes-artwork 2014-07-09 18:21:56 +02:00
Marek Marczykowski-Górecki
edb40bbfb6 Notify about dom0 updates (#824)
Tray notifications from cron job (outside of session) didn't worked well.
2014-06-10 01:15:26 +02:00
Wojciech Zygmunt Porczyk
e9f1bb3880 *.py: Use full paths when calling subprocess.Popen().
Also removed unneeded imports of subprocess.
2014-05-22 15:07:35 +02:00
Marek Marczykowski-Górecki
2221dcee36 Do not crash when no notification service present 2014-05-15 23:49:02 +02:00
Marek Marczykowski-Górecki
f096f0050a updates: call 'yum clean expire-cache' as root (#843)
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.
2014-05-12 15:34:24 +02:00
Marek Marczykowski-Górecki
4d54815ce3 Simplify '\n' handling in tray notifies
Do not request the caller to encode them properly for current
notification service, but fix the encoding in notify function.
2014-05-12 15:33:18 +02:00
Marek Marczykowski-Górecki
d78e5b7b40 Workaround KDE notification, which ignores '\n' (#844) 2014-05-05 02:15:37 +02:00
Wojciech Zygmunt Porczyk
52f12abd36 qubesmanager/main.py: always display icons in menus
This commit is part of #721 fix.
2014-04-30 15:03:09 +02:00
Marek Marczykowski-Górecki
978af55bbb Minor error message handling fix 2014-04-24 12:58:38 +02:00
Marek Marczykowski-Górecki
a84ebe56e8 Disable increment size hints
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.
2014-04-02 03:29:57 +02:00
Marek Marczykowski-Górecki
ad99db9ca9 Add "Block devices" menu to context menu of tray icon (#781) 2014-03-31 18:38:17 +02:00
Marek Marczykowski-Górecki
aec32da2f1 Create "global" objects in main(), not VmManagerWindow
To have them outside of VmManagerWindow instance - possibly passed
through to other objects.
2014-03-31 18:36:00 +02:00
Marek Marczykowski-Górecki
227597cf93 Add 'Requested MEM' column (aka prefmem) (#788) 2014-03-31 03:44:01 +02:00
Marek Marczykowski-Górecki
55d5bf0262 Split QubesBlockDevicesManager and table widgets into separate files
The main.py was ridiculously large - almost half of all Qubes Manager
code in one file.
2014-03-31 01:17:27 +02:00
Marek Marczykowski-Górecki
f79a1ed42e Clear startup errors when VM finally is running (#799) 2014-03-24 03:45:55 +01:00
Marek Marczykowski-Górecki
9cc18228a0 Tell the KDE that clipboard notify uses HTML (#797)
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.
2014-03-11 02:10:11 +01:00
Marek Marczykowski-Górecki
ef90176747 Add VM name to block attach/detach notify (#797) 2014-03-10 05:21:22 +01:00
Marek Marczykowski-Górecki
e17e69dff3 Add Last backup date column (#798) 2014-03-10 04:28:30 +01:00
Marek Marczykowski-Górecki
55a965e5bd Add IP and included in backups columns (#735, #798) 2014-03-10 04:27:52 +01:00
Marek Marczykowski-Górecki
b536df4a79 Add option to start HVM with Qubes Tools installation iso attached (#744) 2014-02-23 01:32:50 +01:00
Marek Marczykowski-Górecki
0381a54156 Remove VM files when clone failed 2014-02-23 00:49:28 +01:00
Marek Marczykowski-Górecki
c0718a484d First remove VM from qubes.xml (#765)
So it will be removed regardless whether removing the files failed or
not.
2014-02-23 00:49:07 +01:00
Marek Marczykowski-Górecki
3ea49b5192 Remove trailing semicolons 2014-02-23 00:44:08 +01:00
Marek Marczykowski-Górecki
0454524d93 Update audio-input availability after VM startup
The pulseaudio agent register itself when it connects to the VM, so
after VM reports "Running" state.
2014-01-23 16:41:01 +01:00
Marek Marczykowski-Górecki
9b3fcc0855 Stabilize sorting order
In case of equal value in column, resolve order using QID. This ensures
preserving rows order across reload, data update etc.
2014-01-22 01:23:10 +01:00
Marek Marczykowski-Górecki
386c155dd5 Fix clone action 2013-12-14 02:55:41 +01:00
Marek Marczykowski-Górecki
4fdfe44b11 Force refresh on manager show (#759)
But still collecting all the data takes some time...
2013-12-03 00:36:48 +01:00
Marek Marczykowski-Górecki
f587ac2d43 Adjust for new QubesVmCollection.save() implementation
Watch for MOVED_TO events in /var/lib/qubes directory to reload
qubes.xml.
2013-12-02 04:03:05 +01:00
Marek Marczykowski-Górecki
77cc22824b Use Standalone/AppVM icon for HVM
Instead of separate HVM icon.
2013-11-22 16:39:19 +01:00
Marek Marczykowski-Górecki
80066c3f72 One more update for the new API 2013-11-21 04:21:47 +01:00
Marek Marczykowski-Górecki
c11c42e2f7 Show the correct icon for HVM
Not standalone/template one.
2013-11-21 02:25:27 +01:00
Marek Marczykowski-Górecki
0f28fc7855 Preserve VM selection during table update 2013-10-18 04:20:19 +02:00
Marek Marczykowski-Górecki
b1ad497579 Update log filenames - now qrexec and guid have VM name instead of XID 2013-10-18 03:40:21 +02:00
Marek Marczykowski-Górecki
dcec8b566f Remove some debugging code 2013-10-18 03:37:22 +02:00
Marek Marczykowski-Górecki
fa61fceddd Fix watching clipboard change when the file initially doesn't exists (#749)
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.
2013-10-18 03:33:56 +02:00
Marek Marczykowski-Górecki
19b9ffefda Catch the exception on device attach/detach
Take care to release lock before anything else, otherwise GUI will
be frozen...
2013-10-02 01:10:58 +02:00
Marek Marczykowski
da0d0c29b8 Get current release from /etc/qubes-release for about window 2013-04-25 16:09:03 +02:00
Marek Marczykowski
0f175b5c92 Fix showing inactive VMs
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.
2013-04-13 04:14:00 +02:00