-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature/fuzzy stacked win detection (#37)
* Initial experiments with multi-monitor support. This is going to be hard! * Remove stackIdx set in Window:new, as it was always null anyway * Clarify why windows not on current space are filtered in Query:groupWindows() * Clarify experimental change in yabai-get-stack-idx script * Add note on status of multi-monitor support below feature list in readme. * General cleanup in preparation for multi-mon support * Add utils.look() to see tables with metatable details * Minimally-viable multi-monitor support - stackline/stackline.lua is now a proper module storing fields and methods in a table - Move global variables into stackline module - On every windowFocused event, check to see if screen has changed. If so, refresh stack indicators. The last point is what provides an MVP for multi-monitors support: - `stackline` only renders on the monitor that contains the focused window - Stacks on screens that do not contain the focused window do not have indicators - Because refreshing (query all windows, re-render all stack indicators) is kind of slow (500ms), rapidly switching screens is not a great experience I still think the "proper" solution will require updating the data model to track screens (at least) and potentially spaces. This will enable stackline to render on all screens. If spaces are modeled, it will additionally speed up the rendering of stack indicators when switching between spaces with stacks. * Actually-pretty-good multi-monitor support * Cleaning up * Add note on status of multi-monitor support below feature list in readme. * Basic 'click to focus window' feature * Delete clicks on indicators to prevent focusing hammerspoon * Restore missing stacks def * fixes & tweaks * Support iTerm by rounding window frames to (configurable) fuzzFactor before equality comparison. * Simplify Window:isFocused() * After a failed attempt to rework how windows are grouped into stacks to account for apps that constrain window size, got better results from simply increasing the frameFuzz factor all the way to 200 (without negative side effects) * update .gitignore * update .gitignore
- Loading branch information
1 parent
6b1798e
commit 43b37b5
Showing
5 changed files
with
73 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
|
||
luacov.stats.out | ||
lib/figlet.lua | ||
stackline/sratch.md | ||
tmp-notes.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters