From d29d04c9e64c2421ed84022e0c140ead40e5fb58 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Tue, 29 Oct 2019 16:14:14 +0100 Subject: gnu: Add udiskie. * gnu/packages/freedesktop.scm (udiskie): New variable. * gnu/packages/patches/udiskie-no-appindicator.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/packages/patches/udiskie-no-appindicator.patch | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 gnu/packages/patches/udiskie-no-appindicator.patch (limited to 'gnu/packages/patches/udiskie-no-appindicator.patch') diff --git a/gnu/packages/patches/udiskie-no-appindicator.patch b/gnu/packages/patches/udiskie-no-appindicator.patch new file mode 100644 index 0000000000..c19099cdaa --- /dev/null +++ b/gnu/packages/patches/udiskie-no-appindicator.patch @@ -0,0 +1,155 @@ +Remove the support for Unity's appindicator. + +diff -Naur udiskie-1.7.7/completions/_udiskie udiskie-1.7.7a/completions/_udiskie +--- udiskie-1.7.7/completions/_udiskie 2019-02-17 18:28:58.000000000 +0100 ++++ udiskie-1.7.7a/completions/_udiskie 2019-10-29 14:21:04.556193639 +0100 +@@ -21,8 +21,6 @@ + '(-a)'{-A,--no-automount}"[disable automounting]" + '(-N)'{-n,--notify}"[show popup notifications]" + '(-n)'{-N,--no-notify}"[disable notifications]" +- '(--no-appindicator)'--appindicator"[use appindicator for status icon]" +- '(--appindicator)'--no-appindicator"[don't use appindicator]" + '(-T -s)'{-t,--tray}"[show tray icon]" + '(-T -t)'{-s,--smart-tray}"[auto hide tray icon]" + '(-t -s)'{-T,--no-tray}"[disable tray icon]" +diff -Naur udiskie-1.7.7/doc/udiskie.8.txt udiskie-1.7.7a/doc/udiskie.8.txt +--- udiskie-1.7.7/doc/udiskie.8.txt 2019-02-17 18:28:58.000000000 +0100 ++++ udiskie-1.7.7a/doc/udiskie.8.txt 2019-10-29 14:21:52.304570344 +0100 +@@ -95,12 +95,6 @@ + *-F, \--no-file-manager*:: + Disable browsing. + +-*-appindicator*:: +- Use AppIndicator3 for the status icon. Use this on Ubuntu/Unity if no icon is shown. +- +-*--no-appindicator*:: +- Use Gtk.StatusIcon for the status icon (default). +- + *--password-cache MINUTES*:: + Cache passwords for LUKS partitions and set the timeout. + +diff -Naur udiskie-1.7.7/udiskie/appindicator.py udiskie-1.7.7a/udiskie/appindicator.py +--- udiskie-1.7.7/udiskie/appindicator.py 2019-02-17 18:28:58.000000000 +0100 ++++ udiskie-1.7.7a/udiskie/appindicator.py 1970-01-01 01:00:00.000000000 +0100 +@@ -1,61 +0,0 @@ +-""" +-Status icon using AppIndicator3. +-""" +- +-from gi.repository import Gtk +-from gi.repository import AppIndicator3 +- +-from udiskie.async_ import Async +- +- +-class AppIndicatorIcon(object): +- +- """ +- Show status icon using AppIndicator as backend. Replaces +- `udiskie.tray.StatusIcon` on ubuntu/unity. +- """ +- +- def __init__(self, menumaker, _icons): +- self._maker = menumaker +- self._menu = Gtk.Menu() +- self._indicator = AppIndicator3.Indicator.new( +- 'udiskie', +- _icons.get_icon_name('media'), +- AppIndicator3.IndicatorCategory.HARDWARE) +- self._indicator.set_status(AppIndicator3.IndicatorStatus.PASSIVE) +- self._indicator.set_menu(self._menu) +- # Get notified before menu is shown, see: +- # https://bugs.launchpad.net/screenlets/+bug/522152/comments/15 +- dbusmenuserver = self._indicator.get_property('dbus-menu-server') +- self._dbusmenuitem = dbusmenuserver.get_property('root-node') +- self._conn = self._dbusmenuitem.connect('about-to-show', self._on_show) +- self.task = Async() +- menumaker._quit_action = self.destroy +- # Populate menu initially, so libdbusmenu does not ignore the +- # 'about-to-show': +- self._maker(self._menu) +- +- def destroy(self): +- self.show(False) +- self._dbusmenuitem.disconnect(self._conn) +- self.task.callback() +- +- @property +- def visible(self): +- status = self._indicator.get_status() +- return status == AppIndicator3.IndicatorStatus.ACTIVE +- +- def show(self, show=True): +- if show == self.visible: +- return +- status = (AppIndicator3.IndicatorStatus.ACTIVE if show else +- AppIndicator3.IndicatorStatus.PASSIVE) +- self._indicator.set_status(status) +- +- def _on_show(self, menu): +- # clear menu: +- for item in self._menu.get_children(): +- self._menu.remove(item) +- # repopulate: +- self._maker(self._menu) +- self._menu.show_all() +diff -Naur udiskie-1.7.7/udiskie/cli.py udiskie-1.7.7a/udiskie/cli.py +--- udiskie-1.7.7/udiskie/cli.py 2019-02-17 18:28:58.000000000 +0100 ++++ udiskie-1.7.7a/udiskie/cli.py 2019-10-29 14:18:22.678919186 +0100 +@@ -376,9 +376,6 @@ + -T, --no-tray Disable tray icon + -m MENU, --menu MENU Tray menu [flat/nested] + +- --appindicator Use appindicator for status icon +- --no-appindicator Don't use appindicator +- + --password-cache MINUTES Set password cache timeout + --no-password-cache Disable password cache + +@@ -400,7 +397,6 @@ + 'notify': True, + 'tray': False, + 'menu': 'flat', +- 'appindicator': False, + 'file_manager': 'xdg-open', + 'password_prompt': 'builtin:gui', + 'password_cache': False, +@@ -415,7 +411,6 @@ + '--no-tray': False, + '--smart-tray': 'auto'}), + 'menu': Value('--menu'), +- 'appindicator': Switch('appindicator'), + 'file_manager': OptionalValue('--file-manager'), + 'password_prompt': OptionalValue('--password-prompt'), + 'password_cache': OptionalValue('--password-cache'), +@@ -541,11 +536,7 @@ + raise ValueError("Invalid menu: %s" % (options['menu'],)) + + menu_maker = udiskie.tray.UdiskieMenu(self, icons, actions, flat) +- if options['appindicator']: +- import udiskie.appindicator +- TrayIcon = udiskie.appindicator.AppIndicatorIcon +- else: +- TrayIcon = udiskie.tray.TrayIcon ++ TrayIcon = udiskie.tray.TrayIcon + trayicon = TrayIcon(menu_maker, icons) + return udiskie.tray.UdiskieStatusIcon(trayicon, menu_maker, smart) + +diff -Naur udiskie-1.7.7/udiskie.egg-info/SOURCES.txt udiskie-1.7.7a/udiskie.egg-info/SOURCES.txt +--- udiskie-1.7.7/udiskie.egg-info/SOURCES.txt 2019-02-17 19:42:25.000000000 +0100 ++++ udiskie-1.7.7a/udiskie.egg-info/SOURCES.txt 2019-10-29 14:40:09.333315287 +0100 +@@ -24,7 +24,6 @@ + test/test_cache.py + test/test_match.py + udiskie/__init__.py +-udiskie/appindicator.py + udiskie/async_.py + udiskie/automount.py + udiskie/cache.py +@@ -46,4 +45,4 @@ + udiskie.egg-info/dependency_links.txt + udiskie.egg-info/entry_points.txt + udiskie.egg-info/requires.txt +-udiskie.egg-info/top_level.txt +\ Pas de fin de ligne à la fin du fichier ++udiskie.egg-info/top_level.txt -- cgit v1.2.3