@resize-window now has a useful return code
This commit is contained in:
parent
3875ee021a
commit
05ec174868
@ -21,7 +21,7 @@ class MatchError(ValueError):
|
|||||||
ValueError.__init__(self, 'No matching {} for expression: {}'.format(target, expression))
|
ValueError.__init__(self, 'No matching {} for expression: {}'.format(target, expression))
|
||||||
|
|
||||||
|
|
||||||
def cmd(short_desc, desc=None, options_spec=None, no_response=False, argspec='...'):
|
def cmd(short_desc, desc=None, options_spec=None, no_response=False, argspec='...', string_return_is_error=False):
|
||||||
|
|
||||||
def w(func):
|
def w(func):
|
||||||
func.short_desc = short_desc
|
func.short_desc = short_desc
|
||||||
@ -32,6 +32,7 @@ def cmd(short_desc, desc=None, options_spec=None, no_response=False, argspec='..
|
|||||||
func.is_cmd = True
|
func.is_cmd = True
|
||||||
func.impl = lambda: globals()[func.__name__[4:]]
|
func.impl = lambda: globals()[func.__name__[4:]]
|
||||||
func.no_response = no_response
|
func.no_response = no_response
|
||||||
|
func.string_return_is_error = string_return_is_error
|
||||||
return func
|
return func
|
||||||
return w
|
return w
|
||||||
|
|
||||||
@ -299,7 +300,8 @@ reset the layout to its default configuration.
|
|||||||
type=bool-set
|
type=bool-set
|
||||||
If specified close the window this command is run in, rather than the active window.
|
If specified close the window this command is run in, rather than the active window.
|
||||||
''',
|
''',
|
||||||
argspec=''
|
argspec='',
|
||||||
|
string_return_is_error=True
|
||||||
)
|
)
|
||||||
def cmd_resize_window(global_opts, opts, args):
|
def cmd_resize_window(global_opts, opts, args):
|
||||||
return {'match': opts.match, 'increment': opts.increment, 'axis': opts.axis, 'self': opts.self}
|
return {'match': opts.match, 'increment': opts.increment, 'axis': opts.axis, 'self': opts.self}
|
||||||
|
|||||||
@ -130,5 +130,8 @@ def main(args):
|
|||||||
if response.get('tb'):
|
if response.get('tb'):
|
||||||
print(response['tb'], file=sys.stderr)
|
print(response['tb'], file=sys.stderr)
|
||||||
raise SystemExit(response['error'])
|
raise SystemExit(response['error'])
|
||||||
if 'data' in response:
|
data = response.get('data')
|
||||||
print(response['data'])
|
if data is not None:
|
||||||
|
if func.string_return_is_error and isinstance(data, str):
|
||||||
|
raise SystemExit(data)
|
||||||
|
print(data)
|
||||||
|
|||||||
@ -166,7 +166,7 @@ class Tab: # {{{
|
|||||||
increment_as_percent = self.current_layout.bias_increment_for_cell(is_horizontal) * increment
|
increment_as_percent = self.current_layout.bias_increment_for_cell(is_horizontal) * increment
|
||||||
if self.current_layout.modify_size_of_window(self.windows, window_id, increment_as_percent, is_horizontal):
|
if self.current_layout.modify_size_of_window(self.windows, window_id, increment_as_percent, is_horizontal):
|
||||||
self.relayout()
|
self.relayout()
|
||||||
return ''
|
return
|
||||||
return 'Could not resize'
|
return 'Could not resize'
|
||||||
|
|
||||||
def reset_window_sizes(self):
|
def reset_window_sizes(self):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user