xsel: new state
@@ -5,11 +5,14 @@ Display X selection.
Configuration parameters:
cache_timeout: refresh interval for this module (default 0.5)
command: the clipboard command to run (default 'xsel -o')
- format: display format for this module (default '{output}')
+ format: display format for this module (default '{selection}')
max_size: strip the selection to this value (default 15)
symmetric: show beginning and end of the selection string
with respect to configured max_size. (default True)
+Format placeholders:
+ {selection} output from clipboard command
+
Requires:
xsel: a command-line program to retrieve/set the X selection
@@ -24,22 +27,21 @@ class Py3status:
# available configuration parameters
cache_timeout = 0.5
command = 'xsel -o'
- format = '{output}'
+ format = '{selection}'
max_size = 15
symmetric = True
def xsel(self):
- output = self.py3.command_output(self.command)
- output = output.splitlines()[0]
- if len(output) >= self.max_size:
+ selection = self.py3.command_output(self.command)
+ if len(selection) >= self.max_size:
if self.symmetric is True:
split = int(self.max_size / 2) - 1
- output = output[:split] + '..' + output[-split:]
+ selection = selection[:split] + '..' + selection[-split:]
else:
- output = output[:self.max_size]
+ selection = selection[:self.max_size]
return {
'cached_until': self.py3.time_in(self.cache_timeout),
- 'full_text': self.py3.safe_format(self.format, {'output': output})
+ 'full_text': self.py3.safe_format(self.format, {'selection': selection})
}
