Re: [qubes-users] qubes manager add start terminal
On 04/16/2017 11:29 PM, Eva Star wrote: > I'm get tired that Qubes Manager till now do NOT have "Start Terminal" > at right click menu of each vm, but only "Run command in VM". > > I want to patch it to add "Run terminal". I found that need to > duplicate "Run command" entry, name it "Run Terminal" and predefined > "gnome-terminal" on the input field. > > I need to modify action. On the repository I see actions at > mainwindow.ui file. But I can not find it on the disk to add new action! > > > > > :/run-command.png:/run-command.png > > > Where is mainwindow.ui with actions??? > > If I will found it I will add new function to process this action by > duplicating action_run_command_in_vm_triggered(self) and predefined > "gnome-terminal" into it. > > Predefine "gnome-terminal || konsole || xterm" for more compatibility. -- Rudd-O http://rudd-o.com/ -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/4624e592-9cb2-fbf7-c4fe-06a7fb486fe1%40rudd-o.com. For more options, visit https://groups.google.com/d/optout.
Re: [qubes-users] qubes manager add start terminal
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 04/18/2017 01:13 AM, Unman wrote: > > unman > Thanks for this detailed manual, again, problem was with actions. I will try later to do all of that. I think with your manual almost somebody can do the same now. - -- Regards -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCAAGBQJY9U2KAAoJEGSin3PC/C0ASB4P/2evYbd3CuI9XCzAF5SHuHe3 AdoUMJSW2MSZV1a126ONQWOKAwZ8YcuTLlKw55kk4Zu9jwU8wMJGkGJGPY9skCeA welOhemlh3kZKixKM7ZH0h11J3d+YL54v62dOgrE3BgYkArePvjcfPgWh7lmIuRm 1WDrRE5XQ1vDhw8HkyI3lr5kppwMIVzUB0N4DEwSLwnj9VHMtiz8vAV00sG4Pf3F l0n9Ox5pgpassN23QIyIuOLR9LNCLMmm2oY6ltgarJwOFugqi26IJgR5TJhIYOST SseM9f0InA66lI6i/p2KdzW2WZrZel2Y99f55oxeGVQxj0iHmGd9LXmlVSUkcerN TZzAJ88KKQfPqQt10MML/tGAWwCaM/PRa6Qdxdvg2SdniVWH0EQdeg/aqfIg/AVr pw+2NHZokx/907QB/V92F6yAlUBjW/GoftgSVyLhGaO9GS7vzyO30e/5KIZ6gwlN VfpUJ8UIgHU4mcmopaGbtBZYW+6T5xg4vOALAUwEcIGb1Dt+xysgIGxo9xVz6wva cBeaR7O2iluXQ0Twv7TS4B9PBowKcFzIYc7TqbJl33CVPh42NgLbQCF12DtYbczB sj0RwzbEsdN0uj76Gk575bzQXclWhiVRng5RTwS3QAYCvufXGWvXqwpeOLfo+i89 ZzkFEKGQFkmKEUS4ITJW =ai/A -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/85ba0b7d-7565-9dab-82c4-b773c454966c%40openmailbox.org. For more options, visit https://groups.google.com/d/optout.
Re: [qubes-users] qubes manager add start terminal
On Mon, Apr 17, 2017 at 04:39:14PM +0300, Eva Star wrote: > On 04/17/2017 03:11 AM, Unman wrote: > > >I've done some manager hacking myself - some of it now incorporated in > >release. > >If you dont want to build a package then you can simply start hacking in > >/usr/lib64/python2.7/site-packages/qubesmanager. > >(Back this up first, of course.) > > > >Beside the ui elements in ui_mainwindow the slots are in main.py. If > >you're going to hack these remember to remove the compiled files. > >I'd recommend using xterm, as it's in all the templates afaik. > > > > Unfortunately main.py contain only functions. > UI elements located not at qubesmanager dir. They are compiled? How? > Need to modify this file : > https://github.com/QubesOS/qubes-manager/blob/master/mainwindow.ui > > > Eva, You've actually quoted the part where I tell you where the ui elements are. You can make this change directly in dom0 without building a package, by editing the code in /usr/lib64/python2.7/site-packages/qubesmanager As I said, main.py contains the slots (functions) and also the signals that trigger them. The simplest way to do what you want is to use the "Run command in VM" structure as a template. You can search "command" and see how that is implemented, and adapt it for your new purpose. 1. Define the function: Copy the section defining the slot (@pyqtSlot(name='on_action_run_command_in_vm_triggered')) and the static method: def do_run_command_in_vm(vm, command_to_run, thread_monitor): You can pretty much just replace "command" with "xterm" throughout the slot, and simplify because you arent prompting for a command to run: @pyqtSlot(name='on_action_run_xterm_in_vm_triggered') def action_run_xterm_in_vm_triggered(self): vm = self.get_selected_vm() thread_monitor = ThreadMonitor() thread = threading.Thread(target=self.do_run_xterm_in_vm, args=( vm, thread_monitor)) thread.daemon = True thread.start() while not thread_monitor.is_finished(): app.processEvents() time.sleep(0.2) if not thread_monitor.success: QMessageBox.warning(None, self.tr("Error while running xterm"), unicode(self.tr("Exception while running xterm:{0}")).format( thread_monitor.error_msg)) @staticmethod def do_run_xterm_in_vm(vm, thread_monitor): try: vm.run('xterm', verbose=False, autostart=True, notify_function=lambda lvl, msg: trayIcon.showMessage( msg, msecs=3000)) except Exception as ex: thread_monitor.set_error_msg(str(ex)) thread_monitor.set_finished() 2. Enable it when a row is selected. Go to the table_selection_changed(self) function, and add in the new function: (again you can copy the action_run_command_in_vm details). So in the main body of the function add: self.action_run_xterm_in_vm.setEnabled( not vm.last_power_state == "Paused" and vm.qid != 0) and in the else clause: self.action_run_xterm_in_vm.setEnabled(False) 3. Create the context menu item: In __init__ section, add a line below the line that adds the action_run_command_in_vm: self.context_menu.addAction(self.action_run_xterm_in_vm) 4. That's almost it: But you need to add the new action to the Window. Again, you can look at how action_run_command_in_vm is managed, and adapt it for your new menu item. At a minimum you'll want entries in the setup and retranslate functions. So you'll want to add: self.action_run_xterm_in_vm = QtGui.QAction(VmManagerWindow) self.action_run_xterm_in_vm.setObjectName(_fromUtf8("action_run_xterm_in_vm")) and self.action_run_xterm_in_vm.setText(_translate("VmManagerWindow", "&Run xterm in VM", None)) That's pretty much done. If you want to build a package just edit the files in the manager directory, and run 'make manager' The files you want there are qubesmanager/main.py and mainwindow.ui As I said though, it's much simpler just to hack the source in dom0. (Again, make sure you have backed up the originals.) I hope this gives you the general idea - you can add all sorts of context menus items, (including customizing the action to the VM.) unman -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/20170417221329.GA14947%40thirdeyesecurity.org. For more options, visit https://groups.google.com/d/optout.
Re: [qubes-users] qubes manager add start terminal
On Mon, Apr 17, 2017 at 9:39 AM, Eva Star wrote: > On 04/17/2017 03:11 AM, Unman wrote: > >> I've done some manager hacking myself - some of it now incorporated in >> release. >> If you dont want to build a package then you can simply start hacking in >> /usr/lib64/python2.7/site-packages/qubesmanager. >> (Back this up first, of course.) >> >> Beside the ui elements in ui_mainwindow the slots are in main.py. If >> you're going to hack these remember to remove the compiled files. >> I'd recommend using xterm, as it's in all the templates afaik. >> > > Unfortunately main.py contain only functions. > UI elements located not at qubesmanager dir. They are compiled? How? > Need to modify this file : > https://github.com/QubesOS/qubes-manager/blob/master/mainwindow.ui Yes, they get "compiled" during package build like this [1]. You can either invoke pyuic4 yourself, or just use qubes-builder to build new qubes-manager packages and install them in dom0. I personally find the build pkg & reinstall method easier. [1]: https://github.com/QubesOS/qubes-manager/blob/46b892edb15f5fbc86b6f492ed4ffe61e2b1f491/Makefile#L19-L33 -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/CABQWM_CC3FjojA8QPnq2X-oM00q5_QVetzjytqLXLxhv3yQ1Ag%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [qubes-users] qubes manager add start terminal
On 04/17/2017 03:11 AM, Unman wrote: I've done some manager hacking myself - some of it now incorporated in release. If you dont want to build a package then you can simply start hacking in /usr/lib64/python2.7/site-packages/qubesmanager. (Back this up first, of course.) Beside the ui elements in ui_mainwindow the slots are in main.py. If you're going to hack these remember to remove the compiled files. I'd recommend using xterm, as it's in all the templates afaik. Unfortunately main.py contain only functions. UI elements located not at qubesmanager dir. They are compiled? How? Need to modify this file : https://github.com/QubesOS/qubes-manager/blob/master/mainwindow.ui -- Regards -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/8dc17815-53ff-8e74-c255-1e1bd1d72c5e%40openmailbox.org. For more options, visit https://groups.google.com/d/optout.
Re: [qubes-users] qubes manager add start terminal
On Mon, Apr 17, 2017 at 02:29:05AM +0300, Eva Star wrote: > I'm get tired that Qubes Manager till now do NOT have "Start Terminal" at > right click menu of each vm, but only "Run command in VM". > > I want to patch it to add "Run terminal". I found that need to duplicate > "Run command" entry, name it "Run Terminal" and predefined "gnome-terminal" > on the input field. > > I need to modify action. On the repository I see actions at mainwindow.ui > file. But I can not find it on the disk to add new action! > > > > > :/run-command.png:/run-command.png > > > Where is mainwindow.ui with actions??? > > If I will found it I will add new function to process this action by > duplicating action_run_command_in_vm_triggered(self) and predefined > "gnome-terminal" into it. > > I've done some manager hacking myself - some of it now incorporated in release. If you dont want to build a package then you can simply start hacking in /usr/lib64/python2.7/site-packages/qubesmanager. (Back this up first, of course.) Beside the ui elements in ui_mainwindow the slots are in main.py. If you're going to hack these remember to remove the compiled files. I'd recommend using xterm, as it's in all the templates afaik. unman -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/20170417001102.GA9735%40thirdeyesecurity.org. For more options, visit https://groups.google.com/d/optout.
[qubes-users] qubes manager add start terminal
I'm get tired that Qubes Manager till now do NOT have "Start Terminal" at right click menu of each vm, but only "Run command in VM". I want to patch it to add "Run terminal". I found that need to duplicate "Run command" entry, name it "Run Terminal" and predefined "gnome-terminal" on the input field. I need to modify action. On the repository I see actions at mainwindow.ui file. But I can not find it on the disk to add new action! :/run-command.png:/run-command.png Where is mainwindow.ui with actions??? If I will found it I will add new function to process this action by duplicating action_run_command_in_vm_triggered(self) and predefined "gnome-terminal" into it. -- Regards -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/f8d6b2c5-09c4-8d4a-e7fd-730f1ca74c19%40openmailbox.org. For more options, visit https://groups.google.com/d/optout.