Files
dotfiles/.config/kitty/focus_mode.py
T
2025-09-06 02:09:13 -05:00

25 lines
852 B
Python

from kitty.boss import Boss
from kittens.tui.handler import result_handler
import kitty.fast_data_types as f
focus_opacity = 0.5
focus_margin = 200
def main(args: list[str]) -> str:
pass
@result_handler(no_ui=True)
def handle_result(args, answer, target_window_id, boss):
w = boss.window_id_map.get(target_window_id)
current_opacity = f.background_opacity_of(target_window_id)
in_focus = True if current_opacity != 1 else False
new_opacity = str(1 if in_focus else focus_opacity)
new_margin = str(0 if in_focus else focus_margin)
if w is not None:
boss.call_remote_control(w, ('set-background-opacity', new_opacity))
boss.call_remote_control(w, ('set-spacing', "margin-left="+new_margin))
boss.call_remote_control(w, ('set-spacing', "margin-right="+new_margin))
boss.toggle_fullscreen()