From c5413c424315d453e5f13ae7dbb7948220a6f77a Mon Sep 17 00:00:00 2001 From: enkore Date: Sat, 23 Mar 2013 22:02:46 +0100 Subject: [PATCH] Module.move should return self --- i3pystatus/core/modules.py | 3 ++- i3pystatus/core/util.py | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/i3pystatus/core/modules.py b/i3pystatus/core/modules.py index b94535d..a2f1efe 100644 --- a/i3pystatus/core/modules.py +++ b/i3pystatus/core/modules.py @@ -3,7 +3,7 @@ import time from .settings import SettingsBase from .threading import Manager -from .util import convert_position +from .util import convert_position, chain __all__ = [ "Module", "AsyncModule", "IntervalModule", @@ -36,6 +36,7 @@ class Module(SettingsBase): elif button == 3: # Right mouse button self.on_rightclick() + @chain def move(self, position): self.position = position diff --git a/i3pystatus/core/util.py b/i3pystatus/core/util.py index 26b1a0f..993d2fd 100644 --- a/i3pystatus/core/util.py +++ b/i3pystatus/core/util.py @@ -5,6 +5,12 @@ import itertools from .exceptions import * from .imputil import ClassFinder +def chain(fun): + def chained(self, *args, **kwargs): + fun(self, *args, **kwargs) + return self + return chained + def lchop(string, prefix): if string.startswith(prefix): return string[len(prefix):]