[kupfer] plugin.screen: Use FilesystemWatchMixin
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] plugin.screen: Use FilesystemWatchMixin
- Date: Fri, 28 Aug 2009 09:32:19 +0000 (UTC)
commit 3eac153471cbaae6325670a3492bc74f6641ae94
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Fri Aug 28 01:25:02 2009 +0200
plugin.screen: Use FilesystemWatchMixin
kupfer/plugin/screen.py | 20 +++++---------------
1 files changed, 5 insertions(+), 15 deletions(-)
---
diff --git a/kupfer/plugin/screen.py b/kupfer/plugin/screen.py
index 519e2d6..5f95d55 100644
--- a/kupfer/plugin/screen.py
+++ b/kupfer/plugin/screen.py
@@ -1,8 +1,7 @@
import os
-import gio
-from kupfer.objects import Leaf, Action, Source, PicklingHelperMixin
-from kupfer import utils
+from kupfer.objects import Leaf, Action, Source, PicklingHelperMixin, FilesystemWatchMixin
+from kupfer import utils, objects
__kupfer_name__ = _("GNU Screen")
__kupfer_sources__ = ("ScreenSessionsSource", )
@@ -56,7 +55,7 @@ class ScreenSession (Leaf):
def get_icon_name(self):
return "gnome-window-manager"
-class ScreenSessionsSource (Source, PicklingHelperMixin):
+class ScreenSessionsSource (Source, PicklingHelperMixin, FilesystemWatchMixin):
"""Source for GNU Screen sessions"""
def __init__(self):
super(ScreenSessionsSource, self).__init__(_("Screen Sessions"))
@@ -69,20 +68,11 @@ class ScreenSessionsSource (Source, PicklingHelperMixin):
"""Set up a directory watch on Screen's socket dir"""
self.screen_dir = (os.getenv("SCREENDIR") or
"/var/run/screen/S-%s" % get_username())
- gfile = gio.File(self.screen_dir)
- exists = gfile.query_exists()
- if not exists:
+ if not os.path.exists(self.screen_dir):
self.screen_dir = None
self.output_debug("Screen socket dir or SCREENDIR not found")
return
- self.monitor = gfile.monitor_directory(gio.FILE_MONITOR_NONE, None)
- self.monitor.connect("changed", self._screen_socket_changed)
-
- def _screen_socket_changed(self, monitor, file1, file2, evt_type):
- # (changed attributes need no update, only new files)
- if evt_type in (gio.FILE_MONITOR_EVENT_CREATED,
- gio.FILE_MONITOR_EVENT_DELETED):
- self.mark_for_update()
+ self.monitor = self.monitor_directories(self.screen_dir)
def get_items(self):
if not self.screen_dir:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]