Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP ignore tabs in windows #41

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

WIP ignore tabs in windows #41

wants to merge 1 commit into from

Conversation

mogenson
Copy link
Owner

A window with no tabs will have a tabCount of 0. A new tab for an existing window will have a tabCount equal to the total number of tabs (eg. 2 for the first new tab). The tabCount for existing tabs will be set back to 0. This means we need to capture and track each new tab when it is created. We cannot identify a tab later.

Create a getFocusedWindow() helper function.

MacOS applications like Terminal and Finder can create new tabs within
the same window. To Hammerspoon each tab looks like an independent
window, with a unique frame.

A window with no tabs will have a tabCount of 0. A new tab for an
existing window will have a tabCount equal to the total number
of tabs (eg. 2 for the first new tab). The tabCount for existing
tabs will be set back to 0. This means we need to capture and
track each new tab when it is created. We cannot identify a tab
later.

Setting the frame for a tab that is not the top active tab has no
effect. There is currently no good way to tell which tab of a window is
on top (but not focused). For now, set the frame of the first tab for
each window and call raise() to bring the tab to the front before
setting the frame. This will switch the tab to the first one everytime
the space is re-tiled (eg on window move).

Change the window_list to hold a list of tabs for each row, of each
column, of each space. Windows with no tabs will be a list of 1. Tabs
will have their own key in the index_table. This means that multiple
index_table entries can now have the same space/column/row index values.

Create some new helper functions: getFocusedWindow(), getRow(), trace().
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant