# chrome-tab-switcher `chrome-tab-switcher` reads `chrome-session-dump --json`, presents tabs via `rofi`, and switches to the chosen Chrome tab in i3wm using `wmctrl` + `xdotool`. By default it discovers all active Chrome/Chromium sessions by inspecting running processes (`ps -eo args`), then merges tabs from each discovered `--user-data-dir`. ## Requirements - `chrome-session-dump` - `rofi` - `wmctrl` - `xdotool` ## Usage Interactive (default, all active sessions): ```bash python3 dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py ``` List tabs only: ```bash python3 dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py --list-only ``` Switch by explicit token: ```bash python3 dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py --select S0W0T5 ``` Dry-run (show focus/switch commands without executing): ```bash python3 dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py --select S0W0T5 --dry-run ``` Single-session mode (legacy behavior): ```bash python3 dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py --single-session ``` ## i3 binding example ```i3 bindsym $mod+u exec --no-startup-id python3 /home/bwdezend/monorepo/dezendorf/applications/chrome-tab-switcher/chrome-tab-switcher.py ``` ## Notes - The tool prefers matching the parent Chrome window by active-window title from session data, then falls back to index order. - Tab switching resets to first tab (`Ctrl+1`) and advances with repeated `Ctrl+Tab`.