Commit Graph

49 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
c2c34528a2
appmenus: fix broken import 2015-08-03 04:19:49 +02:00
Marek Marczykowski-Górecki
c85fc7a098
appmenus: Add offline mode to qubes-receive-appmenus
Will be useful during LiveUSB build - we can't start template at this
stage, but still need to somehow generate appmenus.
2015-08-02 14:43:17 +02:00
Marek Marczykowski-Górecki
cc7075ab65 appmenus: defer menu cache regeneration to speedup qvm-sync-appmenus
Call "xdg-desktop-menu forceupdate" at the end of the process, not for
every single item.
2015-07-08 05:56:38 +02:00
Marek Marczykowski-Górecki
07de8f7515 appmenus: allow '_' in Exec and other fields 2015-05-17 00:07:01 +02:00
Marek Marczykowski-Górecki
50eb23d60e appmenus: add missing appicons_cleanup function
Commit f05f214f "appmenus: update icons only when changed" introduced
usage of vm.appicons_cleanup, but that function wasn't implemented. That
caused not generating appmenus at all after template update (old
appmenus was removed, but script crashes before adding the new one).
2015-05-02 23:49:40 +02:00
Marek Marczykowski-Górecki
b40008a06d appmenus: do not regenerate all the icons for the template itself 2015-05-02 21:09:42 +02:00
Marek Marczykowski-Górecki
febac40b05 appmenus: convert eval's to lambda's 2015-05-02 21:09:42 +02:00
Marek Marczykowski-Górecki
59d9dc0307 appmenus: minor code style fixes
Use 'in' instead of has_key, remove unused code.
2015-05-02 21:09:42 +02:00
Marek Marczykowski-Górecki
2a08357fa4 appmenus: script formatting
Wrap long lines, fix whitespaces
2015-05-02 21:09:42 +02:00
Marek Marczykowski-Górecki
f05f214f6c appmenus: update icons only when changed
Do not regenerate all the icons when the source is unchanged.

Also add preliminary code to support the same improvement for .desktop
files, but it requires some more work, especially because KDE does a lot
of caching and we need to force update sometimes (for example when VM
label color has changed).
2015-04-28 12:45:29 +02:00
Marek Marczykowski-Górecki
662813dc18 appmenus: recreate appmenus for the template itself after update 2015-03-11 00:00:37 +01:00
Marek Marczykowski-Górecki
735788dbd6 appmenus: do not force GUI connection when retrieving appmenus
There could be no GUI available - for example at firstboot.
2015-03-10 23:59:30 +01:00
Marek Marczykowski-Górecki
9ea5790a9b appmenus: really call kbuildsycoca4 only once after template update (#886) 2015-02-22 02:08:49 +01:00
Marek Marczykowski-Górecki
d031126737 Add "--" to separate options from (untrusted) non-options arguments
This will prevent passing an option instead of command (qvm-run) /
domain name (qrexec-policy). In both cases when VM tries to pass some
option it would fail because missing argument then - VM can not pass
additional arguments, so if one act as an option, one argument will be
missing).
2015-02-10 01:57:33 +01:00
Marek Marczykowski-Górecki
a28e6e1044 appmenus: call kbuildsycoca4 only once after template update (#886) 2015-01-30 01:57:19 +01:00
Marek Marczykowski-Górecki
40178a161e appmenus: mute output when verbose=False 2014-09-18 07:46:00 +02:00
Marek Marczykowski-Górecki
4758fc1781 appmenus: create apps.tempicons directory if missing (#896) 2014-09-09 02:13:08 +02:00
Wojciech Zygmunt Porczyk
0f7730c2e3 appmenus: use new label icons 2014-07-10 16:28:05 +02:00
Wojciech Zygmunt Porczyk
66234f41ee regexp fixes and validation (#829) 2014-05-19 13:36:02 +02:00
Wojciech Zygmunt Porczyk
df7e67784a qubes-receive-appmenus: filter categories
Allow only whitelisted categories, specified in freedesktop.org
"Desktop Menu Specification" 1.1-draft.

http://standards.freedesktop.org/menu-spec/latest/apa.html
2014-05-08 11:40:45 +02:00
Wojciech Zygmunt Porczyk
c6f24d8ba8 qubes-receive-appmenus: use old icons when retrieval fails (#836) 2014-05-07 14:54:59 +02:00
Wojciech Zygmunt Porczyk
bad449f235 qubes-core-appmenus.py: create/remove appmenus only when attribtute changes
This is part of #827 bug.
2014-05-05 22:26:53 +02:00
Wojciech Zygmunt Porczyk
a9980d6d34 qubes-core-appmenus.py: create/remove appmenus when re/setting internal
This is part of #827 bug.
2014-05-05 16:47:34 +02:00
Marek Marczykowski-Górecki
5bac404079 appmenus: use os.path.join instead of manual string concatenation
This will ease porting the code to other OSes. Also be consistent with
other parts of the script.
2014-04-19 16:46:49 +02:00
Marek Marczykowski-Górecki
ffd8db5d06 appmenus: don't output untrusted strings on terminal
Especially those which failed verification.
2014-04-19 16:46:03 +02:00
Marek Marczykowski-Górecki
0afaa60093 appmenus: fix regexp for parsing received line
The '-' must be the last character. Otherwise it means character range.
In this case it was ')-_', which include '/', so path was incorrectly
sanitised.
2014-04-19 16:39:37 +02:00
Marek Marczykowski-Górecki
6fc4c0ae3f appmenus: allow '_' in filenames 2014-04-16 17:00:25 +02:00
Marek Marczykowski-Górecki
7afc15dcf0 appmenus: workarounds for non-refreshing icon caches (#751) 2014-04-16 16:59:47 +02:00
Marek Marczykowski-Górecki
aea6b3c1f5 appmenus: fix creating appmenus when no entry is selected 2014-04-14 04:12:00 +02:00
Marek Marczykowski-Górecki
123c529ffa appmenus: extend allowed chars set for Windows paths 2014-04-04 11:32:54 +02:00
Marek Marczykowski-Górecki
0c1e45cb3d appmenus: recreate child VM appmenus after template update
For example refresh the icons, or commands.
2014-02-22 01:26:01 +01:00
Marek Marczykowski-Górecki
849b8450ce appmenus: include appicons in clone_disk_files hook 2014-02-22 01:25:18 +01:00
Marek Marczykowski-Górecki
1a0d4cae76 appmenus: add ampersand to allowed Exec chars
Some Windows applications use it in directory names.
2014-02-16 20:14:26 +01:00
Marek Marczykowski-Górecki
155567cfcf appmenus: remove trailing semicolons in python code 2014-02-16 20:14:00 +01:00
Marek Marczykowski-Górecki
168b182a7d appmenus: handle the case when template don't have appicons yet 2014-02-13 10:42:30 +01:00
Marek Marczykowski-Górecki
ad522b178b Merge remote-tracking branch 'woju/master' into appicons 2014-01-31 03:11:38 +01:00
Wojciech Zygmunt Porczyk
d8145677d6 appicons: fix directory creation and removal (when missing) 2014-01-30 23:11:56 +01:00
Marek Marczykowski-Górecki
eb237f7a08 Merge remote-tracking branch 'woju/master' into appicons 2014-01-16 05:08:03 +01:00
Marek Marczykowski-Górecki
d6cb6076ea appmenus: fix path in RPC service file 2014-01-15 05:12:13 +01:00
Wojciech Porczyk
92f6e29f43
appmenus: appicons integration 2014-01-14 16:03:15 +01:00
Olivier MEDOC
9cb10f4805 appmenus: allow parenthesis in exec directive for special path such as Program Files (x86) 2013-12-14 03:57:26 +01:00
Marek Marczykowski-Górecki
c000f24def appmenus: fallback hardcoded appmenus for HVM with qrexec installed
If VM didn't returned any appmenus data, the service is most likely not
available there. Actually it hasn't been written yet.
2013-12-04 03:05:34 +01:00
Marek Marczykowski-Górecki
190d52b6fb appmenus: add QubesVm.appmenus_recreate method 2013-12-04 03:03:48 +01:00
Marek Marczykowski-Górecki
9313be30ff appmenus: fix the code for creating standalone VMs
... without source template. Especially HVM and HVM template.
2013-11-25 07:19:20 +01:00
Marek Marczykowski-Górecki
4893b28751 appmenus: fix handling template VMs and HVMs
Adding separate hook for QubesTemplateVm doesn't work - this refers to
the same hook list as in base class. But actually generic hook covers
template case without any change.

Also do not skip adding appmenus for HVM
2013-11-22 03:59:06 +01:00
Marek Marczykowski-Górecki
acb8657735 appmenus: force ASCII sort order
In some locales (namely Estonian) [A-Z] doesn't match all the letters.
2013-11-16 11:46:53 +01:00
Marek Marczykowski
40c5379f0b appmenus: fix domain clone
clone_disk_files hook was added twice.
2013-05-25 22:19:58 +02:00
Marek Marczykowski
d06bbdc967 appmenus: include standalone qvm-sync-appmenus and its manpage 2013-03-16 18:34:40 +01:00
Marek Marczykowski
ad522026d3 Initial commit: appmenus handling code, icons 2013-03-16 18:23:22 +01:00