diff options
author | Robert Tari <robert@tari.in> | 2020-10-29 12:41:30 +0100 |
---|---|---|
committer | Robert Tari <robert@tari.in> | 2020-10-29 12:41:30 +0100 |
commit | b8b236024af1e9daf7251414c80339293e1b10d9 (patch) | |
tree | da06b1ba2174c53296dce610dee23908e5a22009 /data | |
download | ayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.tar.gz ayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.tar.bz2 ayatana-settings-b8b236024af1e9daf7251414c80339293e1b10d9.zip |
Initial commit
Diffstat (limited to 'data')
-rwxr-xr-x | data/usr/bin/ayatana-settings | 325 | ||||
-rw-r--r-- | data/usr/share/applications/ayatana-settings.desktop | 9 | ||||
-rwxr-xr-x | data/usr/share/ayatana-settings/ayatana-settings.glade | 931 | ||||
-rwxr-xr-x | data/usr/share/icons/hicolor/scalable/apps/ayatana-settings.svg | 267 | ||||
-rw-r--r-- | data/usr/share/locale/.gitkeep | 0 |
5 files changed, 1532 insertions, 0 deletions
diff --git a/data/usr/bin/ayatana-settings b/data/usr/bin/ayatana-settings new file mode 100755 index 0000000..dde807e --- /dev/null +++ b/data/usr/bin/ayatana-settings @@ -0,0 +1,325 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +try: + + import devpath + from ayatanasettings.appdata import APPDEBUG + APPDEBUG.append(True) + +except: + + pass + +import gi + +gi.require_version('Gtk', '3.0') + +from gi.repository import Gtk, Gio +from ayatanasettings.appdata import APPNAME +from ayatanasettings.logger import logger +from ayatanasettings.psutil import isRunning, isSystemd +from ayatanasettings.builder import buildApp +import configparser +import gettext +import os +import pathlib +import shutil +import subprocess + +m_pTranslation = None + +try: + m_pTranslation = gettext.translation(APPNAME) +except IOError: + m_pTranslation = gettext.NullTranslations() + +m_pTranslation.install() + +class AyatanaSettings: + + def __init__(self): + + if isRunning(): + + sys.exit(1) + + buildApp(self) + + self.bSystemd = isSystemd() + self.bInit = False + self.sDesktop = os.environ['XDG_CURRENT_DESKTOP'] + + # Session + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.session', False): + + self.pSettingsSession = Gio.Settings.new('org.ayatana.indicator.session') + self.pSettingsSession.bind('show-real-name-on-panel', self.pSwitchSessionShowName, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsSession.bind('suppress-logout-menuitem', self.pSwitchSessionRemoveLogOut, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsSession.bind('suppress-logout-restart-shutdown', self.pSwitchSessionSuppressConfirmation, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsSession.bind('suppress-restart-menuitem', self.pSwitchSessionRemoveRestart, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsSession.bind('suppress-shutdown-menuitem', self.pSwitchSessionRemoveShutDown, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsSession.bind('user-show-menu', self.pSwitchSessionShowUsers, 'active', Gio.SettingsBindFlags.DEFAULT) + bEnabled = self.isEnabled('session') + self.pCheckButtonSessionEnable.set_active(bEnabled) + + else: + + self.pLabelSession.set_sensitive(False) + + # Date/Time + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.datetime', False): + + self.pSettingsDateTime = Gio.Settings.new('org.ayatana.indicator.datetime') + self.pSettingsDateTime.bind('show-calendar', self.pSwitchDatetimeShowCalendar, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-date', self.pSwitchDatetimeShowDate, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-day', self.pSwitchDatetimeShowDay, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-events', self.pSwitchDatetimeShowEvents, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-seconds', self.pSwitchDatetimeShowSeconds, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-week-numbers', self.pSwitchDatetimeShowWeekNumbers, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsDateTime.bind('show-year', self.pSwitchDatetimeShowYear, 'active', Gio.SettingsBindFlags.DEFAULT) + bEnabled = self.isEnabled('datetime') + self.pCheckButtonDatetimeEnable.set_active(bEnabled) + + else: + + self.pLabelDatetime.set_sensitive(False) + + # Sound + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.sound', False): + + self.pSettingsSound = Gio.Settings.new('org.ayatana.indicator.sound') + self.pSettingsSound.bind('allow-amplified-volume', self.pSwitchSoundAllowAmplified, 'active', Gio.SettingsBindFlags.DEFAULT) + bEnabled = self.isEnabled('sound') + self.pCheckButtonSoundEnable.set_active(bEnabled) + + else: + + self.pLabelSound.set_sensitive(False) + + # Power + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.power', False): + + self.pSettingsPower = Gio.Settings.new('org.ayatana.indicator.power') + self.pSettingsPower.bind('show-percentage', self.pSwitchPowerShowPercentage, 'active', Gio.SettingsBindFlags.DEFAULT) + self.pSettingsPower.bind('show-time', self.pSwitchPowerShowTime, 'active', Gio.SettingsBindFlags.DEFAULT) + bEnabled = self.isEnabled('power') + self.pCheckButtonPowerEnable.set_active(bEnabled) + + else: + + self.pLabelPower.set_sensitive(False) + + # Messages + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.messages', False): + + bEnabled = self.isEnabled('messages') + self.pCheckButtonMessagesEnable.set_active(bEnabled) + + else: + + self.pLabelMessages.set_sensitive(False) + + # Bluetooth + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.bluetooth', False): + + bEnabled = self.isEnabled('bluetooth') + self.pCheckButtonBluetoothEnable.set_active(bEnabled) + + else: + + self.pLabelBluetooth.set_sensitive(False) + + # Notifications + if Gio.SettingsSchemaSource.get_default().lookup('org.ayatana.indicator.notifications', False): + + self.pSettingsNotifications = Gio.Settings.new('org.ayatana.indicator.notifications') + nMaxItems = self.pSettingsNotifications.get_int('max-items') + self.pSpinButtonNotifications.set_value(nMaxItems) + + for sFilter in self.pSettingsNotifications.get_strv('filter-list'): + + self.pListStoreNotificationsFilters.append([sFilter]); + + for sHint in self.pSettingsNotifications.get_strv('filter-list-hints'): + + self.pListStoreNotificationsHints.append([sHint]); + + self.pEntryCompletionNotifications = Gtk.EntryCompletion() + self.pEntryCompletionNotifications.set_model(self.pListStoreNotificationsHints) + self.pEntryCompletionNotifications.set_text_column(0) + self.pEntryCompletionNotifications.set_minimum_key_length(0) + self.pEntryNotifications.set_completion(self.pEntryCompletionNotifications) + bEnabled = self.isEnabled('notifications') + self.pCheckButtonNotificationsEnable.set_active(bEnabled) + + else: + + self.pLabelNotifications.set_sensitive(False) + + self.bInit = True + + Gtk.main() + + def isEnabled(self, sIndicator): + + bEnabled = True + + ''' + TODO: Fix systemd autostart first + if self.bSystemd: + + bEnabled = subprocess.Popen('systemctl --user is-enabled ayatana-indicator-{}'.format(sIndicator), stdout = subprocess.PIPE, shell = True).communicate()[0].decode().strip() == 'enabled' + + else: + ''' + + sPath = '~/.config/autostart/ayatana-indicator-{}.desktop'.format(sIndicator) + pPath = pathlib.Path(sPath).expanduser() + + if pPath.exists(): + + pFile = pPath.open('r') + pParser = configparser.ConfigParser() + pParser.read_file(pFile) + + if 'X-MATE-Autostart-enabled' in pParser['Desktop Entry']: + + bEnabled = (pParser['Desktop Entry']['X-MATE-Autostart-enabled'] != 'false') + + elif 'X-GNOME-Autostart-enabled' in pParser['Desktop Entry']: + + bEnabled = (pParser['Desktop Entry']['X-GNOME-Autostart-enabled'] != 'false') + + pFile.close() + + return bEnabled + + def onCheckButtonEnableToggled(self, pCheckButton): + + if not self.bInit: + + return + + sIndicator = pCheckButton.get_name() + + ''' + TODO: Fix systemd autostart first + if self.bSystemd: + + sAction = 'enable' if pCheckButton.get_active() else 'disable' + subprocess.Popen('systemctl --quiet --user {} ayatana-indicator-{}'.format(sAction, sIndicator), stdout = subprocess.PIPE, shell = True).communicate() + + else: + ''' + + sPath = '~/.config/autostart/ayatana-indicator-{}.desktop'.format(sIndicator) + pPath = pathlib.Path(sPath).expanduser() + + if not pPath.exists(): + + sPathIn = '/etc/xdg/autostart/ayatana-indicator-{}.desktop'.format(sIndicator) + shutil.copy(sPathIn, pPath) + + pFile = pPath.open('r+') + pParser = configparser.ConfigParser() + pParser.optionxform = str + pParser.read_file(pFile) + sEnabled = 'true' if pCheckButton.get_active() else 'false' + + if self.sDesktop == 'MATE': + + pParser['Desktop Entry']['X-MATE-Autostart-enabled'] = sEnabled + + else: + + pParser['Desktop Entry']['X-GNOME-Autostart-enabled'] = sEnabled + + pFile.seek(0) + pParser.write(pFile, False) + pFile.truncate() + pFile.close() + + def onWindowDestroy(self, pWidget, pData = None): + + Gtk.main_quit() + + def onSpinButtonNotificationsValueChanged(self, pSpinButton): + + nValue = pSpinButton.get_value_as_int() + self.pSettingsNotifications.set_int('max-items', nValue) + + def onSpinButtonNotificationsChanged(self, pSpinButton): + + sText = pSpinButton.get_text() + + if not sText: + + return + + nNum = int(sText) + nNum = max(1, nNum) + nNum = min(nNum, 10) + + if str(nNum) != sText: + + pSpinButton.set_text(str(nNum)) + + def onButtonNotificationsAddClicked(self, pButton): + + sText = self.pEntryNotifications.get_text().strip() + + if sText: + + bDuplicate = False; + + for pRow in self.pListStoreNotificationsFilters: + + if pRow[0] == sText: + + bDuplicate = True + + break + + if not bDuplicate: + + self.pListStoreNotificationsFilters.append([sText]) + self.saveFilterList() + + self.pEntryNotifications.set_text('') + + def onButtonNotificationsRemoveClicked(self, pButton): + + pSelection = self.pTreeViewNotifications.get_selection() + pIter = pSelection.get_selected()[1] + + if pIter is not None: + + self.pListStoreNotificationsFilters.remove(pIter) + self.saveFilterList() + + def onEntryNotificationsFocusInEvent(self, pEntry, pEvent): + + self.pListStoreNotificationsHints.clear() + + for sHint in self.pSettingsNotifications.get_strv('filter-list-hints'): + + self.pListStoreNotificationsHints.append([sHint]) + + pEntry.emit('changed') + + return False + + def saveFilterList(self): + + lItems = [] + + for lRow in self.pListStoreNotificationsFilters: + + lItems.append(lRow[0]) + + self.pSettingsNotifications.set_strv('filter-list', lItems) + +if __name__ == "__main__": + + AyatanaSettings() diff --git a/data/usr/share/applications/ayatana-settings.desktop b/data/usr/share/applications/ayatana-settings.desktop new file mode 100644 index 0000000..f416c39 --- /dev/null +++ b/data/usr/share/applications/ayatana-settings.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Indicators +Comment=Ayatana Indicators Settings +Categories=Settings;DesktopSettings;X-LXDE-Settings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings; +Exec=/usr/bin/ayatana-settings +Icon=/usr/share/icons/hicolor/scalable/apps/ayatana-settings.svg +Terminal=false +Type=Application +X-Ubuntu-Gettext-Domain=ayatana-settings diff --git a/data/usr/share/ayatana-settings/ayatana-settings.glade b/data/usr/share/ayatana-settings/ayatana-settings.glade new file mode 100755 index 0000000..346dc8d --- /dev/null +++ b/data/usr/share/ayatana-settings/ayatana-settings.glade @@ -0,0 +1,931 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.36.0 --> +<interface domain="ayatana-settings"> + <requires lib="gtk+" version="3.22"/> + <object class="GtkListStore" id="ListStoreNotificationsFilters"> + <columns> + <!-- column-name appname --> + <column type="gchararray"/> + </columns> + </object> + <object class="GtkListStore" id="ListStoreNotificationsHints"> + <columns> + <!-- column-name appname --> + <column type="gchararray"/> + </columns> + </object> + <object class="GtkAdjustment" id="adjustmentNotificationsMaxItems"> + <property name="lower">1</property> + <property name="upper">10</property> + <property name="step_increment">1</property> + <property name="page_increment">1</property> + </object> + <object class="GtkImage" id="imageAdd"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_end">5</property> + <property name="icon_name">list-add</property> + </object> + <object class="GtkImage" id="imageRemove"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_end">5</property> + <property name="icon_name">list-remove</property> + </object> + <object class="GtkWindow" id="window"> + <property name="width_request">640</property> + <property name="height_request">480</property> + <property name="can_focus">False</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="window_position">center-always</property> + <property name="has_resize_grip">True</property> + <signal name="destroy" handler="onWindowDestroy" swapped="no"/> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkNotebook"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="tab_pos">left</property> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkSwitch" id="SwitchSessionShowName"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSessionRemoveLogOut"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSessionSuppressConfirmation"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSessionRemoveRestart"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSessionRemoveShutDown"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSessionShowUsers"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show full user name on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Remove the Log Out item from the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Suppress the Log Out, Restart and Shut Down confirmation</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Remove the Restart item from the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Remove the Shut Down item from the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the user list in the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="CheckButtonSessionEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">session</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + <property name="width">2</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelSession"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Session</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the number of seconds on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the calendar in the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show week numbers in the calendar</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show events in the menu</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowYear"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowDate"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowDay"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowSeconds"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowCalendar"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowWeekNumbers"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchDatetimeShowEvents"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">6</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the year on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the day of the week on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show the month and date on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="CheckButtonDatetimeEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">datetime</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">7</property> + <property name="width">2</property> + </packing> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelDatetime"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Date and Time</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Allow setting the volume above 100%</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchSoundAllowAmplified"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="CheckButtonSoundEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">sound</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">2</property> + </packing> + </child> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelSound"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Sound</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">2</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkCheckButton" id="CheckButtonPowerEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">power</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show percentage on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Show time on the panel</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchPowerShowPercentage"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkSwitch" id="SwitchPowerShowTime"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">3</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelPower"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Power</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">3</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkCheckButton" id="CheckButtonMessagesEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">messages</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> + </child> + </object> + <packing> + <property name="position">4</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelMessages"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Messages</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">4</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkCheckButton" id="CheckButtonBluetoothEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">bluetooth</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> + </child> + </object> + <packing> + <property name="position">5</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelBluetooth"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Bluetooth</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">5</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">10</property> + <property name="margin_end">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">10</property> + <property name="column_spacing">10</property> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Maximum number of visible items</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Discard notifications by application name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="SpinButtonNotifications"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="max_length">2</property> + <property name="width_chars">2</property> + <property name="max_width_chars">2</property> + <property name="caps_lock_warning">False</property> + <property name="input_purpose">number</property> + <property name="adjustment">adjustmentNotificationsMaxItems</property> + <property name="snap_to_ticks">True</property> + <property name="numeric">True</property> + <signal name="changed" handler="onSpinButtonNotificationsChanged" swapped="no"/> + <signal name="value-changed" handler="onSpinButtonNotificationsValueChanged" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_spacing">5</property> + <child> + <object class="GtkEntry" id="EntryNotifications"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <signal name="focus-in-event" handler="onEntryNotificationsFocusInEvent" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ButtonNotificationsAdd"> + <property name="label" translatable="yes">Add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="image">imageAdd</property> + <signal name="clicked" handler="onButtonNotificationsAddClicked" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ButtonNotificationsRemove"> + <property name="label" translatable="yes">Remove</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="image">imageRemove</property> + <signal name="clicked" handler="onButtonNotificationsRemoveClicked" swapped="no"/> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="CheckButtonNotificationsEnable"> + <property name="label" translatable="yes">Enable this indicator on login</property> + <property name="name">notifications</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="valign">end</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="draw_indicator">False</property> + <signal name="toggled" handler="onCheckButtonEnableToggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="shadow_type">in</property> + <property name="min_content_height">200</property> + <property name="propagate_natural_height">True</property> + <child> + <object class="GtkTreeView" id="TreeViewNotifications"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="model">ListStoreNotificationsFilters</property> + <property name="headers_visible">False</property> + <property name="enable_search">False</property> + <property name="fixed_height_mode">True</property> + <property name="show_expanders">False</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"/> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">column</property> + <child> + <object class="GtkCellRendererText" id="CellRendererTextAppName"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">6</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="LabelNotifications"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">Notifications</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="position">6</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <child type="titlebar"> + <placeholder/> + </child> + </object> +</interface> diff --git a/data/usr/share/icons/hicolor/scalable/apps/ayatana-settings.svg b/data/usr/share/icons/hicolor/scalable/apps/ayatana-settings.svg new file mode 100755 index 0000000..758cfa5 --- /dev/null +++ b/data/usr/share/icons/hicolor/scalable/apps/ayatana-settings.svg @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + version="1.1" + id="svg3499" + height="32px" + width="32px"> + <defs + id="defs3501"> + <linearGradient + id="linearGradient3547"> + <stop + id="stop3549" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:1;" /> + <stop + style="stop-color:#8e8e92;stop-opacity:1;" + offset="0.46295282" + id="stop3553" /> + <stop + id="stop3557" + offset="1" + style="stop-color:#f5f5f5;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient3245"> + <stop + id="stop3247" + offset="0" + style="stop-color:#414141;stop-opacity:1;" /> + <stop + id="stop3249" + offset="1" + style="stop-color:#000000;stop-opacity:1;" /> + </linearGradient> + <filter + height="1.2168634" + y="-0.10843168" + width="1.4337514" + x="-0.21687568" + id="filter3374"> + <feGaussianBlur + id="feGaussianBlur3376" + stdDeviation="0.99401352" /> + </filter> + <linearGradient + y2="-2" + x2="-229.75377" + y1="54" + x1="-230.10732" + gradientTransform="translate(0,39)" + gradientUnits="userSpaceOnUse" + id="linearGradient3565" + xlink:href="#linearGradient3547" /> + <filter + id="filter4144"> + <feGaussianBlur + id="feGaussianBlur4146" + stdDeviation="0.7" /> + </filter> + <linearGradient + y2="12.926581" + x2="111.59486" + y1="17.315649" + x1="119.7433" + gradientTransform="matrix(0.7000187,0,0,0.7000187,-65.177182,5.3745318)" + gradientUnits="userSpaceOnUse" + id="linearGradient4153" + xlink:href="#linearGradient3245" /> + <filter + height="1.48" + y="-0.24" + width="1.48" + x="-0.24" + id="filter4158"> + <feGaussianBlur + id="feGaussianBlur4160" + stdDeviation="0.66262488" /> + </filter> + <radialGradient + cx="6.702713" + cy="73.615715" + r="7.228416" + fx="6.702713" + fy="73.615715" + id="radialGradient2538" + xlink:href="#linearGradient10691" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.2134617,0,0,0.4842001,31.707695,-1.5162717)" /> + <linearGradient + id="linearGradient10691"> + <stop + id="stop10693" + style="stop-color:black;stop-opacity:1" + offset="0" /> + <stop + id="stop10695" + style="stop-color:black;stop-opacity:0" + offset="1" /> + </linearGradient> + <linearGradient + x1="32.036148" + y1="19" + x2="32.036148" + y2="47.012184" + id="linearGradient3326" + xlink:href="#linearGradient3309" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(15.543892,-11.371536)" /> + <linearGradient + x1="63.9995" + y1="3.1001" + x2="63.9995" + y2="122.8994" + id="linearGradient3309" + gradientUnits="userSpaceOnUse"> + <stop + id="stop3311" + style="stop-color:#f6f6f6;stop-opacity:1" + offset="0" /> + <stop + id="stop3313" + style="stop-color:#d2d2d2;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="25.922546" + y1="19" + x2="25.922546" + y2="47.044857" + id="linearGradient3328" + xlink:href="#linearGradient3397" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(15.543892,-11.371536)" /> + <linearGradient + id="linearGradient3397"> + <stop + id="stop3399" + style="stop-color:#aaa;stop-opacity:1" + offset="0" /> + <stop + id="stop3401" + style="stop-color:#8c8c8c;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="86.132919" + y1="105.105" + x2="84.63858" + y2="20.895" + id="linearGradient3322" + xlink:href="#linearGradient5128" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.2014014,0,0,0.2014015,33.654196,8.9401695)" /> + <linearGradient + id="linearGradient5128"> + <stop + id="stop5130" + style="stop-color:white;stop-opacity:1" + offset="0" /> + <stop + id="stop5132" + style="stop-color:#959595;stop-opacity:1" + offset="1" /> + </linearGradient> + </defs> + <metadata + id="metadata3504"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1"> + <path + id="path4138" + d="M 16.000005,2 C 8.2720052,2 2.0000052,8.271999 2.0000052,16 C 2.0000052,23.728 8.2720062,30 16.000005,30 C 23.728005,30 30.000006,23.727999 30.000005,16 C 30.000005,8.272 23.728006,2.000001 16.000005,2 z M 16.000005,3 C 23.176003,3.000002 29.000005,8.824 29.000005,16 C 29.000005,23.175999 23.176003,29 16.000005,29 C 8.8240062,29 3.0000052,23.176 3.0000052,16 C 3.0000052,8.824 8.8240072,3 16.000005,3 z" + style="opacity:0.4;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;filter:url(#filter4144);enable-background:accumulate" /> + <g + transform="matrix(1.1428569,0,0,1.1428569,-2.2857133,-2.285711)" + id="g14054"> + <circle + r="28" + cy="65" + cx="-227" + style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#linearGradient3565);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + id="path3539" + transform="matrix(0.5,0,0,0.5,129.5,-16.499999)" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:0.23;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="M 16.000005,2 C 8.2720052,2 2.0000052,8.271999 2.0000052,16 c 0,7.728 6.272001,14 13.9999998,14 7.728,0 14.000001,-6.272001 14,-14 0,-7.728 -6.271999,-13.999999 -14,-14 z m 0,1 c 7.175998,2e-6 13,5.824 13,13 0,7.175999 -5.824002,13 -13,13 C 8.8240062,29 3.0000052,23.176 3.0000052,16 c 0,-7.176 5.824002,-13 12.9999998,-13 z" + id="path3541" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:0.537313;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="M 16.000005,3 C 8.8240072,3 3.0000052,8.824 3.0000052,16 c 0,0.167008 0.025,0.334513 0.03125,0.5 C 3.2936652,9.554839 8.9910152,4 16.000005,4 c 7.00899,2e-6 12.70634,5.554839 12.96875,12.5 0.0063,-0.165487 0.03125,-0.332992 0.03125,-0.5 0,-7.176 -5.824002,-12.999998 -13,-13 z" + id="path3543" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:0.341991;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="M 16.000005,29 C 8.8240072,29 3.0000052,23.176 3.0000052,16 c 0,-0.167008 0.025,-0.334513 0.03125,-0.5 0.26241,6.945161 5.95976,12.5 12.9687498,12.5 7.00899,-2e-6 12.70634,-5.554839 12.96875,-12.5 0.0063,0.165487 0.03125,0.332992 0.03125,0.5 0,7.176 -5.824002,12.999998 -13,13 z" + id="path3545" /> + <path + style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter4158);enable-background:accumulate" + d="m -109,4 c -1.656,0 -3,1.344 -3,3 0,0.053877 -0.003,0.1030693 0,0.15625 -0.003,0.053302 0,0.1023195 0,0.15625 0,1.8285001 1.484,3.3125 3.3125,3.3125 1.8285,0 3.3125,-1.4839997 3.3125,-3.3125 0,-1.8285001 -1.484,-3.3124999 -3.3125,-3.3125 -0.0539,0 -0.10295,-0.00255 -0.15625,0 -0.0532,-0.00281 -0.10237,0 -0.15625,0 z" + id="path3549" + transform="matrix(0.7000187,0,0,0.7000187,92.327025,5.3745318)" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:0.673469;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter3374);enable-background:accumulate" + d="m -114,12 v 2 0.5 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 1.5 v 8 h -2 v 2 0.5 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 10 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 h -0.5 -1 v -8.5 -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 h -0.5 z" + id="path3551" + transform="matrix(0.7000187,0,0,0.7000187,92.327025,5.3745318)" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:0.15;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 12.809276,13.774756 c -0.167333,0.03193 -0.287386,0.179684 -0.284383,0.35001 v 1.400037 c 2.1e-5,0.193297 0.156713,0.34999 0.35001,0.350009 h 1.050028 v 5.60015 h -1.050028 c -0.193297,2e-5 -0.349989,0.156712 -0.35001,0.350009 v 1.400038 c 2.1e-5,0.193297 0.156713,0.349989 0.35001,0.350009 h 7.000187 c 0.193296,-2e-5 0.349988,-0.156712 0.350009,-0.350009 v -1.400038 c -2.1e-5,-0.193297 -0.156713,-0.349989 -0.350009,-0.350009 h -1.050028 v -5.950159 -1.400037 c -2.2e-5,-0.193297 -0.156714,-0.34999 -0.35001,-0.35001 h -5.600149 c -0.02183,-0.0021 -0.0438,-0.0021 -0.06563,0 z" + id="path3553" /> + <path + style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4153);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="m 12.524893,13.774756 v 1.400038 h 1.400038 v 6.300168 h -1.400038 v 1.400037 h 7.000187 v -1.400037 h -1.400037 v -6.300168 -1.400038 z" + id="path3555" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:0.567347;fill:#606060;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 13.224912,14.49665 h 4.900131 v 1.050029 6.300168 c 2.1e-5,0.193297 0.156713,0.34999 0.350009,0.350009 h 1.050028 v 0.700019 h -6.300168 v -0.700019 h 1.050028 c 0.193296,-1.9e-5 0.349988,-0.156712 0.350009,-0.350009 v -6.300168 c -2.1e-5,-0.193297 -0.156713,-0.34999 -0.350009,-0.35001 h -1.050028 z" + id="path3557" /> + <circle + r="3.5" + cy="7.5" + cx="116.5" + style="display:inline;overflow:visible;visibility:visible;opacity:0.43;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + id="path3559" + transform="matrix(0.6625177,0,0,0.6625177,-60.93957,5.5245358)" /> + <path + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="m 16.024987,8.1746066 c -1.159231,0 -2.100056,0.9408251 -2.100056,2.1000564 0,1.159231 0.940825,2.100056 2.100056,2.100056 1.159231,0 2.100056,-0.940825 2.100056,-2.100056 0,-1.1592313 -0.940825,-2.1000564 -2.100056,-2.1000564 z" + id="path3561" /> + <path + style="display:inline;overflow:visible;visibility:visible;opacity:0.567347;fill:#606060;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;enable-background:accumulate" + d="m 16.19353,8.6818428 c -0.99789,0 -1.80777,0.8098796 -1.80777,1.8077672 0,0.997887 0.80988,1.807767 1.80777,1.807767 0.997884,0 1.807763,-0.80988 1.807763,-1.807767 0,-0.9978876 -0.809879,-1.8077672 -1.807763,-1.8077672 z" + id="path3563" /> + </g> + <g + transform="matrix(0.57142857,0,0,0.57142857,-2.5965096,11.640878)" + id="g14079"> + <path + d="m 44.418893,8.1284645 c -0.748739,0 -1.375,0.595012 -1.375,1.34375 v 1.7499995 c -0.473402,0.158876 -0.932751,0.343406 -1.375,0.5625 l -1.21875,-1.21875 c -0.529439,-0.529438 -1.376813,-0.529438 -1.906251,0 l -3.0625,3.03125 c -0.529438,0.529438 -0.529435,1.376813 0,1.90625 l 1.21875,1.21875 c -0.224326,0.449932 -0.400632,0.923932 -0.5625,1.40625 h -1.71875 c -0.748739,0 -1.375001,0.595012 -1.375,1.34375 v 4.3125 c -10e-7,0.748738 0.626264,1.343752 1.375,1.34375 h 1.71875 c 0.161868,0.482318 0.338174,0.956318 0.5625,1.40625 l -1.21875,1.21875 c -0.529438,0.529438 -0.52944,1.376812 0,1.90625 l 3.0625,3.03125 c 0.529437,0.529438 1.376814,0.529436 1.906251,0 l 1.21875,-1.21875 c 0.442249,0.219094 0.901598,0.403624 1.375,0.5625 v 1.75 c -10e-7,0.748738 0.626266,1.343753 1.375,1.34375 h 4.28125 c 0.748739,0 1.34375,-0.595014 1.34375,-1.34375 v -1.75 c 0.482318,-0.161867 0.956318,-0.338173 1.40625,-0.5625 l 1.218749,1.21875 c 0.529439,0.529438 1.376811,0.529438 1.90625,0 l 3.0625,-3.03125 c 0.529439,-0.529438 0.529434,-1.376814 0,-1.90625 l -1.25,-1.25 c 0.219094,-0.442249 0.403624,-0.901598 0.5625,-1.375 h 1.75 c 0.748739,0 1.34375,-0.595014 1.34375,-1.34375 v -4.3125 c 10e-7,-0.748738 -0.595016,-1.34375 -1.34375,-1.34375 h -1.75 c -0.158876,-0.473402 -0.343406,-0.932751 -0.5625,-1.375 l 1.25,-1.25 c 0.529439,-0.529438 0.529438,-1.376812 0,-1.90625 l -3.0625,-3.03125 c -0.529437,-0.529438 -1.376814,-0.529438 -1.90625,0 l -1.218749,1.21875 c -0.449932,-0.224327 -0.923932,-0.400632 -1.40625,-0.5625 V 9.4722145 c 1e-6,-0.748738 -0.595016,-1.34375 -1.34375,-1.34375 z m 2.125,9.9999995 c 1.932,0 3.5,1.568 3.5,3.5 0,1.932 -1.568,3.5 -3.5,3.5 -1.932001,0 -3.5,-1.568 -3.5,-3.5 -10e-7,-1.932 1.568,-3.5 3.5,-3.5 z" + id="rect2576" + style="display:block;overflow:visible;visibility:visible;fill:url(#linearGradient3326);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3328);stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + d="m 46.543893,13.628464 c -4.411273,0 -7.999999,3.588727 -7.999999,8 0,4.411274 3.588726,8 7.999999,8 4.411273,0 7.999999,-3.588726 7.999999,-8 0,-4.411273 -3.588726,-8 -7.999999,-8 z m 0,3.69231 c 2.377844,0 4.307693,1.929845 4.307693,4.30769 0,2.377847 -1.929849,4.307693 -4.307693,4.307693 -2.377846,0 -4.307691,-1.929846 -4.307691,-4.307693 0,-2.377845 1.929845,-4.30769 4.307691,-4.30769 z" + id="path3315" + style="opacity:0.05;fill:#000000;fill-opacity:1;stroke:none" /> + <path + d="m 46.543893,13.249155 c -4.620353,0 -8.379308,3.758957 -8.379308,8.379308 0,4.620352 3.758955,8.37931 8.379308,8.37931 4.620353,0 8.379309,-3.758958 8.379309,-8.37931 0,-4.620351 -3.758956,-8.379308 -8.379309,-8.379308 z" + id="path28" + style="fill:none;stroke:url(#linearGradient3322);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + </g> +</svg> diff --git a/data/usr/share/locale/.gitkeep b/data/usr/share/locale/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/data/usr/share/locale/.gitkeep |