Commit Graph

301 Commits

Author SHA1 Message Date
Jean-Philippe Ouellet
a0bb943af9 Implement "Copy Dom0 clipboard" tray menu item
Ctrl+Shift+C would be preferable, but is quite difficult to do safely,
and this method seems like a reasonable security/UX compromise.

Discussed in:
- https://groups.google.com/forum/#!topic/qubes-devel/4_x7Su21i9o
- https://github.com/QubesOS/qubes-issues/issues/2438#issuecomment-261704575

Fixes https://github.com/QubesOS/qubes-issues/issues/2450
2016-11-26 20:59:24 -05:00
Jean-Philippe Ouellet
4c08f75399
Implement searching for VMs in qubes-manager 2016-11-23 02:49:13 -05:00
Marek Marczykowski-Górecki
88eedc1a43
Merge remote-tracking branch 'qubesos/pr/11'
* qubesos/pr/11:
  Use more idiomatic python in VM filtering
2016-11-23 01:06:59 +01:00
Marek Marczykowski-Górecki
cf0fbcd908
Merge remote-tracking branch 'qubesos/pr/10'
* qubesos/pr/10:
  Require typing name of VM to remove

Fixes QubesOS/qubes-issues#1329
2016-11-23 01:06:39 +01:00
Jean-Philippe Ouellet
99a9f52297
Use more idiomatic python in VM filtering 2016-11-22 03:38:37 -05:00
Jean-Philippe Ouellet
86d5825464
Require typing name of VM to remove
It is too easy to accidentally delete the wrong VM if you use lots
of short-term (but longer than disposable) VMs and have built
muscle memory of just clicking "Ok" in the deletion confirmation box.

This patch requires you to type the full name of the VM, inspired by
repo deletion confirmation on GitHub.
2016-11-22 00:41:32 -05:00
Jean-Philippe Ouellet
a604a3fce2
Refactor "Logs" menu population 2016-11-21 23:37:51 -05:00
Rusty Bird
11be5d65fa
Gray out "Restart VM" for dispVMs 2016-11-21 14:39:25 +00:00
Marek Marczykowski-Górecki
f34328836e
Fix unicode handling in command to run
Thanks @igilik for the patch!

Fixes QubesOS/qubes-issues#2040
2016-10-03 00:11:59 +02:00
Marek Marczykowski-Górecki
f7b558c55e
formatting 2016-07-01 03:09:27 +02:00
Marek Marczykowski-Górecki
816659b893
Merge remote-tracking branch 'qubesos/pr/6'
* qubesos/pr/6:
  Implemented 'Restart' button QubesOS/qubes-issues#1499
2016-06-24 22:48:15 +02:00
Marek Marczykowski-Górecki
4e5b990f02
Check for qubes-windows-tools presence before starting installation
Prevents confusing error message.

Fixes QubesOS/qubes-issues#1977
2016-06-21 02:07:22 +02:00
Ivan Konov
7cd1afbb3c Implemented 'Restart' button
QubesOS/qubes-issues#1499
2016-06-05 22:19:18 +03:00
Marek Marczykowski-Górecki
1021d718a7
Disable "add/remote app shortcuts" action for dom0
Fixes QubesOS/qubes-issues#1367
2015-12-13 01:22:03 +01:00
Marek Marczykowski-Górecki
dc6fa673bc
Fix 'qubes.InstallUpdatesGUI' call
There is no 'verbose' parameter

QubesOS/qubes-issues#1249
2015-11-29 04:07:48 +01:00
Marek Marczykowski-Górecki
f5b1a34894
Prevent scarry error at startup (pyinotify ERROR ... ENOENT)
If the clipboard file doesn't exist (and it doesn't at system startup),
pyinotify will output an error to stderr. This situation is already
handled by also monitoring the directory itself for CREATE event. But
prevent error message.
2015-11-27 01:33:42 +01:00
Marek Marczykowski-Górecki
0a5a5253b0
Use 'qubes.InstallUpdatesGUI' RPC service instead of hardcoded script
It should be up to the VM what software is used for installing updates.

Fixes QubesOS/qubes-issues#1249
2015-11-13 05:42:24 +01:00
Brennan Novak
3d1cd783ec exception popup message now shows exc_type sometimes
fixes: QubesOS/qubes-issues#1394
2015-11-09 23:25:08 +01:00
Brennan Novak
e1685a18f1 trimed exception popup message text quite a bit. Fixes QubesOS/qubes-issues#1394 2015-11-09 18:54:29 +01:00
Marek Marczykowski-Górecki
c1552af281
Prevent SEGV when background thread raise an exception
non-GUI thread can't open new window in PyQt. So as a band aid print the
message to stderr in such case.

And while at it, fix filename in error message (it was clobbered later
while constructing stack trace).

QubesOS/qubes-issues#1266
2015-10-29 18:04:38 +01:00
Marek Marczykowski-Górecki
6563f3078f
Fix "block attached" icon
This was broken since 8a91c90 "Fix block attach/detach", which changed
rows_with_blk list to contain VM qid, not name. One place was left not
updated.

Additionally document VmRowInTable.update parameters, as some of them
may be not obvious (blk_visible=None).

Fixes QubesOS/qubes-issues#1291
2015-10-10 20:09:47 +02:00
qubesuser
16cb2e301b don't call verify_files() before start() 2015-10-02 13:11:13 +02:00
Marek Marczykowski-Górecki
b001f26ee1
Create custom 'About' dialog, with 'release notes' viewer (#1259)
Fixes QubesOS/qubes-issues#1259
2015-10-01 22:34:49 +02:00
Marek Marczykowski-Górecki
dfd355fe71
Give the user chance to read final meesages after installing updates (#982)
xterm closes itself immediatelly when the specified command ends, so
wait for user reaction to give a chance to read the message (potentially
some error info). Also add some more meaningful window title.

QubesOS/qubes-issues#982
2015-09-27 00:21:48 +02:00
Marek Marczykowski-Górecki
3ba1a990df
Call yum/apt in xterm to update template (#982)
Since GUI updaters are broken, workaround this by starting terminal
update in xterm. Not an ideal option, but the proper solution seems to
be much more complicated:
https://phabricator.whonix.org/T373
QubesOS/qubes-issues#1197
QubesOS/qubes-issues#982
2015-09-24 01:27:32 +02:00
Marek Marczykowski-Górecki
0724e37e3c
Use DBUS instead of pid file to prevent multiple simultaneous instances
The pid file solution was racy. Since we register DBUS name anyway, we
can use it for this purpose.
2015-07-23 07:32:55 +02:00
Marek Marczykowski-Górecki
e2fa049032 Fix block devices menu update (NameError) 2015-05-28 02:00:23 +02:00
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