Commit Graph

62 Commits

Author SHA1 Message Date
Wojtek Porczyk
6ca61dc709
Renamed imgconverter module 2016-08-08 00:47:18 +02:00
Marek Marczykowski-Górecki
7080c0371d
appmenus: force X-Qubes-VM category for all VM-related entries
This will ease filtering entries when constructing applications menu.
For example '<OnlyUnallocated/>' key used in Xfce4 before looks to
introduce some problems.

Fixes QubesOS/qubes-issues#2129
2016-07-15 11:31:27 +02:00
Marek Marczykowski-Górecki
e90c8a97ff
appmenus: fix detection of desktop environment
In Fedora 23-based dom0, DESKTOP_SESSION environment contains full path
to session file, instead of just basename.

QubesOS/qubes-issues#1606
2016-07-14 04:32:16 +02:00
Marek Marczykowski-Górecki
b5101d11d6
appmenus: call appropriate kbuildsycoca version (KDE4/KDE5)
QubesOS/qubes-issues#1807
2016-05-04 01:44:09 +02:00
Marek Marczykowski-Górecki
4694f5f52f
appmenus: force changing appicons when VM label is changed
Fixes QubesOS/qubes-issues#1606
2016-04-19 23:11:10 +02:00
Galland
3acfb8e4b3 Add colon (:) to trusted characters (for "Code::Blocks" appmenu)
After installing "codeblocks" app in TemplateVM it doesn't appear in Qubes VM Manager's available app shortcuts.
If I run in a Dom0 Terminal: /usr/libexec/qubes-appmenus/qubes-receive-appmenus fedora-23
I get this: "Warning: ignoring key 'Name' of codeblocks.desktop"
The "Name" key in that file has value "Code::Blocks"

The problem comes from line 168, because of the colons in the app Name.

By adding the colon ":" to the std_re used to match valid characters for "Name", the app is correctly parsed and I can add the shortcut to AppVMs
2016-03-16 22:38:38 +01:00
Matt McCutchen
ff02e0da90 Add qvm-appmenu-replace tool.
This can be used to replace the Terminal shortcut
(QubesOS/qubes-issues#1428).
2015-12-05 12:25:29 -05:00
Bahtiar `kalkin-` Gadimov
7f55410a02 Fix test basic/TC_01_Properties/test_000_rename 2015-11-22 22:31:22 +01:00
Bahtiar `kalkin-` Gadimov
6590931fcd Make appmenu paths properties and not config attrs
This fixes a circular dependencies where get_attrs_config() in QubesVm is
executed, before the self.storage is initialised. See also
https://github.com/QubesOS/qubes-core-admin/pull/6#discussion-diff-45008401
2015-11-22 12:31:16 +01:00
Bahtiar `kalkin-` Gadimov
4d94309087 Remove unused imports from qubes-core-appmenus 2015-11-17 21:28:26 +01:00
Marek Marczykowski-Górecki
4d3a7ad5c6
appmenus: remove entries from AppVMs menus when removed from template
Fixes QubesOS/qubes-issues#1411
2015-11-13 02:48:15 +01:00
Marek Marczykowski-Górecki
4e1f6b5bd5 core: use vm.absolute_path to parse paths in qubes.xml
This makes easier to handle some corner cases.

qubesos/qubes-issues#1124
Reported by @doncohen, thanks @wyory for providing more details.
2015-09-04 01:57:59 +02:00
Marek Marczykowski-Górecki
ccd8021af9 appmenus: do not create appmenus for DispVMs (#1123)
Fixes qubesos/qubes-issues#1123
2015-09-03 01:18:16 +02:00
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