-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgenerate_desktop_files
More file actions
executable file
·73 lines (61 loc) · 2.64 KB
/
generate_desktop_files
File metadata and controls
executable file
·73 lines (61 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/python3
DOMAIN = "mintsysadm"
PATH = "/usr/share/locale"
import os
import gettext
import sys
sys.path.append('/usr/lib/linuxmint/common')
from mintcommon import additionalfiles
os.environ['LANGUAGE'] = "en_US.UTF-8"
gettext.install(DOMAIN, PATH)
prefix = "[Desktop Entry]\n"
suffix = """Exec=pkexec mintsysadm
Icon=mintsysadm
Terminal=false
X-MultipleArgs=false
Type=Application
Categories=GNOME;GTK;System;Settings;X-GNOME-SystemSettings;X-GNOME-Settings-Panel;XFCE;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;
X-GNOME-Settings-Panel=system-administration
"""
additionalfiles.generate(DOMAIN, PATH, "usr/share/applications/mintsysadm.desktop", prefix, _("System Administration"), _("Configure the system"), suffix, keywords=_("system;administration;boot;grub")) # type: ignore
suffix = """Exec=mintsysadm-settings-user
Icon=preferences-desktop-user
Terminal=false
Type=Application
Categories=Settings;
NotShowIn=GNOME;KDE;XFCE;MATE;
StartupWMClass=mintsysadm-settings-user
"""
additionalfiles.generate(DOMAIN, PATH, "usr/share/applications/mintsysadm-settings-user.desktop", prefix, _("Account details"), _("User account and password"), suffix, keywords=_("user;account;password;avatar")) # type: ignore
suffix = """Exec=pkexec mintsysadm --users
Icon=system-users
Terminal=false
X-MultipleArgs=false
Type=Application
Categories=GNOME;GTK;System;Settings;X-GNOME-SystemSettings;X-GNOME-Settings-Panel;XFCE;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;
X-GNOME-Settings-Panel=system-administration
NotShowIn=GNOME;KDE;XFCE;MATE;
"""
additionalfiles.generate(DOMAIN, PATH, "usr/share/applications/mintsysadm-users.desktop", prefix, _("Users"), _("Add or remove users"), suffix, keywords=_("users;accounts")) # type: ignore
prefix = """<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>Linux Mint</vendor>
<vendor_url>https://linuxmint.com/</vendor_url>
<action id="com.linuxmint.mintsysadm">
<icon_name>mintsysadm</icon_name>
"""
suffix = """
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/mintsysadm</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
"""
additionalfiles.generate_polkit_policy(DOMAIN, PATH, "usr/share/polkit-1/actions/com.linuxmint.mintsysadm.policy", prefix, _("System Administration"), suffix) # type: ignore