def do_window_resize(self, is_decrease: bool = False, is_horizontal: bool = True, reset: bool = False, multiplier: int = 1) -> None: resize_window = command_for_name('resize_window') increment = self.opts.horizontal_increment if is_horizontal else self.opts.vertical_increment increment *= multiplier if is_decrease: increment *= -1 axis = 'reset' if reset else ( 'horizontal' if is_horizontal else 'vertical') cmdline = [ resize_window.name, '--self', f'--increment={increment}', '--axis=' + axis ] opts, items = parse_subcommand_cli(resize_window, cmdline) payload = resize_window.message_to_kitty(global_opts, opts, items) send = { 'cmd': resize_window.name, 'version': version, 'payload': payload, 'no_response': False } self.write(encode_send(send))
def do_window_resize(self, is_decrease=False, is_horizontal=True, reset=False, multiplier=1): resize_window = cmap['resize-window'] increment = self.opts.horizontal_increment if is_horizontal else self.opts.vertical_increment increment *= multiplier if is_decrease: increment *= -1 axis = 'reset' if reset else ( 'horizontal' if is_horizontal else 'vertical') cmdline = [ resize_window.name, '--self', '--increment={}'.format(increment), '--axis=' + axis ] opts, items = parse_subcommand_cli(resize_window, cmdline) payload = resize_window(global_opts, opts, items) send = { 'cmd': resize_window.name, 'version': version, 'payload': payload, 'no_response': False } self.write(encode_send(send))
def change_theme(self, theme_name): """ Performs the theme change """ set_colors = command_for_name("set_colors") cmdline = [set_colors.name, "-a", "-c", theme_name] opts, items = parse_subcommand_cli(set_colors, cmdline) payload = set_colors.message_to_kitty(self.global_opts, opts, items) send = { "cmd": set_colors.name, "version": version, "payload": payload, "no_response": False, } self.write(encode_send(send)) remove(expanduser("~/.config/kitty/colors.conf")) symlink(theme_name, expanduser("~/.config/kitty/colors.conf"))
def write_broadcast_data(self, data: str) -> None: payload = self.payload.copy() payload['data'] = data send = create_basic_command('send-text', payload, no_response=True) self.write(encode_send(send))
def session_command(payload: Dict[str, Any], start: bool = True) -> bytes: payload = payload.copy() payload['data'] = 'session:' + ('start' if start else 'end') send = create_basic_command('send-text', payload, no_response=True) return encode_send(send)