From faa9cf248e20bd97e904017d1bcc28dae4d7578c Mon Sep 17 00:00:00 2001 From: PlugaruT Date: Sun, 4 Mar 2018 20:01:01 +0200 Subject: [PATCH] - Add show/hide battery percentage in Wingpanel; - Add log out action; - Improvements to the code; --- README.md | 2 + images/battery.svg | 269 ++++++++++++++++++++++++++++++++++++++ images/screenshot.png | Bin 36313 -> 49277 bytes images/system-log-out.svg | 262 +++++++++++++++++++++++++++++++++++++ main.py | 41 +++++- utils.py | 30 ++++- 6 files changed, 593 insertions(+), 11 deletions(-) create mode 100644 images/battery.svg create mode 100644 images/system-log-out.svg diff --git a/README.md b/README.md index 6677d0f..b739737 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ Actions are performed using [`dbus-send`](https://dbus.freedesktop.org/doc/dbus- - `Restart` computer. Search strings: _reboot_, _restart_ - `PowerOff` computer. Search strings: _shutdown_, _power-off_ - `Lock` computer. Search strings: _lock_ + - `LogOut` from current sesstion. Search string: _logout_ - `DND`, toggle Do Not Disturb mode. Search strings: _dnd_ + - `Show/Hide battery %`, toggle battery percentage. Search string: _battery_ ![screenshot](images/screenshot.png) diff --git a/images/battery.svg b/images/battery.svg new file mode 100644 index 0000000..14d67c1 --- /dev/null +++ b/images/battery.svg @@ -0,0 +1,269 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/screenshot.png b/images/screenshot.png index d301af72e5dab3c111d4d6c5be6c241d9438224d..9e20609b6e17cf3eeadf15887c23c62173dd9fee 100644 GIT binary patch literal 49277 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 z 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 Ii~jfj2U<%A%>V!Z diff --git a/images/system-log-out.svg b/images/system-log-out.svg new file mode 100644 index 0000000..bd30fc4 --- /dev/null +++ b/images/system-log-out.svg @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/main.py b/main.py index 4c6c2ce..c4d987b 100644 --- a/main.py +++ b/main.py @@ -16,7 +16,8 @@ def __init__(self): class KeywordQueryEventListener(EventListener): def on_event(self, event, extension): - options = ['dnd', 'lock', 'suspend', 'sleep', 'restart', 'reboot', 'shutdown', 'power-off', ] + options = ['dnd', 'battery', 'lock', 'logout', 'suspend', + 'sleep', 'restart', 'reboot', 'shutdown', 'power-off', ] actions = [] my_list = event.query.split(" ") if len(my_list) == 1: @@ -46,6 +47,12 @@ def on_event(self, event, extension): elif option in ['dnd']: actions.append(dnd_item()) included.append('dnd') + elif option in ['logout']: + actions.append(logout_item()) + included.append('logout') + elif option in ['battery']: + actions.append(battery_percentage_item()) + included.append('battery') return RenderResultListAction(actions) @@ -53,41 +60,61 @@ def on_event(self, event, extension): def reboot_item(): return ExtensionResultItem(icon='images/system-reboot.svg', name='Reboot', - description='Reboot computer', + description='Reboot computer.', on_enter=RunScriptAction(SessionAction.reboot(), None)) def shutdown_item(): return ExtensionResultItem(icon='images/system-shutdown.svg', name='Shutdown', - description='Power off computer', + description='Power off computer.', on_enter=RunScriptAction(SessionAction.power_off(), None)) def lock_screen_item(): return ExtensionResultItem(icon='images/system-lock-screen.svg', name='Lock', - description='Lock screen', + description='Lock screen.', on_enter=RunScriptAction(SessionAction.lock(), None)) def suspend_item(): return ExtensionResultItem(icon='images/system-suspend.svg', name='Suspend', - description='Suspend session', + description='Suspend session.', on_enter=RunScriptAction(SessionAction.suspend(), None)) +def logout_item(): + return ExtensionResultItem(icon='images/system-log-out.svg', + name='Log Out', + description='This will close all open applications.', + on_enter=RunScriptAction(SessionAction.logout(), None)) + + +def battery_percentage_item(): + if SessionAction.get_battery_percentage_state(): + return ExtensionResultItem(icon='images/battery.svg', + name='Hide battery percentage.', + description='Hide battery percentage from wingpanel.', + on_enter=RunScriptAction(SessionAction.hide_battery_percentage(), None)) + else: + return ExtensionResultItem(icon='images/battery.svg', + name='Show battery percentage.', + description='Show battery percentage in wingpanel.', + on_enter=RunScriptAction(SessionAction.show_battery_percentage(), None)) + + def dnd_item(): if SessionAction.get_dnd_state(): return ExtensionResultItem(icon='images/system-notifications.svg', name='Disable DND', - description='Turn off DND mode', + description='Turn off DND mode.', on_enter=RunScriptAction(SessionAction.dnd_off(), None)) else: return ExtensionResultItem(icon='images/system-notifications.svg', name='Enable DND', - description='Turn on DND mode', + description='Turn on DND mode.', on_enter=RunScriptAction(SessionAction.dnd_on(), None)) diff --git a/utils.py b/utils.py index 95ab99f..feb40cc 100644 --- a/utils.py +++ b/utils.py @@ -7,6 +7,10 @@ class SessionAction(object): def lock(cls): return 'dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /org/freedesktop/ScreenSaver org.freedesktop.ScreenSaver.Lock uint32:1' + @classmethod + def logout(cls): + return 'dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1/user/self org.freedesktop.login1.User.Terminate' + @classmethod def reboot(cls): return 'dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Reboot boolean:false' @@ -27,8 +31,26 @@ def dnd_on(cls): def dnd_off(cls): return 'gsettings set org.pantheon.desktop.gala.notifications do-not-disturb false' + @classmethod + def show_battery_percentage(cls): + return 'gsettings set org.pantheon.desktop.wingpanel.indicators.power show-percentage true' + + @classmethod + def hide_battery_percentage(cls): + return 'gsettings set org.pantheon.desktop.wingpanel.indicators.power show-percentage false' + + @classmethod + def get_dnd_state(cls): + schema_name = 'org.pantheon.desktop.gala.notifications' + dnd_key = 'do-not-disturb' + return cls._get_state(schema_name, dnd_key) + + @classmethod + def get_battery_percentage_state(cls): + schema_name = 'org.pantheon.desktop.wingpanel.indicators.power' + battery_percentage_key = 'show-percentage' + return cls._get_state(schema_name, battery_percentage_key) + @staticmethod - def get_dnd_state(): - schema_name = "org.pantheon.desktop.gala.notifications" - dnd_key = "do-not-disturb" - return subprocess.check_output(["gsettings", "get", schema_name, dnd_key])[:-1] == 'true' + def _get_state(schema_name, key): + return subprocess.check_output(["gsettings", "get", schema_name, key])[:-1] == 'true'