-
Notifications
You must be signed in to change notification settings - Fork 48
Changelog
Adam Wagner edited this page Jun 11, 2021
·
12 revisions
- Attempt to fix https://github.com/AdamWagner/stackline/issues/67
- Attempt to fix https://github.com/AdamWagner/stackline/issues/74
- Fixed: offset indicators when menubar is not hidden (#80)
- Fixed: Icons don't change when toggling showIcons (#68)
- Fixed: Failure to parse json output from yabai that contains inf values (might fix #46)
- Removed external dependency on jq
- Removed shell script used to call out to yabai
- Replaced third-party json library with hs.json
- Refactored unnecessary object-orientation out of stackline.query
- Cleaned up stackline.lib.utils
--
- #33 Improved configuration
- #22 Multi-monitor support
- #23 Conform to "spoon" API for one-step installation & configuration
- #24 Integrate dynamic indicator color feature into refactored Window class
- #19 Click on indicator to activate target window (like tabs)
0.1.50
is the newest version of stackline. It addresses a number of serious issues and includes several small improvements. The result is significantly more stable & performant. In fact, if you primarily work on a single monitor, I'm no longer hesitant to suggest that you try it out ;-)
- #15: When all the windows in a stack are unfocused, the indicator for the most recently focused window in the stack should be ~50% opaque
- #18: Much-improved responsiveness when focusing windows by efficiently updating indiactor attributes on change event rather than deleting & re-creating the canvas elements from scratch.
- #18: Reduced impact on
yabai
performance by:- debouncing
yabai -m query
invocations - only querying on space or layout changes rather than on every window focus event
- debouncing
- Stack indicators are always positioned on the side of the window that's closest to the edge of the screen. This allows for tight
window_gaps
, — even withshowIcons
enabled. - Centralized settings in
config.lua
lay groundwork for users to easily initialize with custom settings frominit.lua
- Workaround Hammerspoon bug that causes window unfocus events for same-app windows not to fire
- Fix issue that unfocused same-app windows occasionally 'flash focus' when switching windows
- Handle edge case in which window frames overlap exactly, yet are not members of the same stack (can happen when unstacked window is
zoom-parent
orzoom-fullscreen
) - Indicators are no longer drawn outside of screen boundaries with small screen padding values (#21)
- Enable any window to easily call stack methods by storing a reference to the parent stack directly on the window instance. This allowed
redrawOtherAppWindows()
to reside in the window class rather than the stack class. - Consolidated utils files into
utils.lua
and pruned unused functions (#1) - Magic numbers are less entangled in the implementation details — and a few of them have even been abstracted into easy-to-change configuration settings. The new
config.lua
file isn't that exciting yet (it's mostly boilerplate), but the next update will improve the configuration experience.
v0.1.01
Fixes egregious issues that made stackline impractical for daily use. Stackline v0.1.01
behaves as expected, but still suffers from visual artifacts (flicker) and performance issues.
- Ability to toggle indicator icons from the command line via
echo ":toggle_icons:1" | hs -m stackline-config
- #2, #3, #4, #5: Use
yabai
signals to update stacks, fixing multiple bugs in which stack indicators did not properly update when:- a window is added to a stack
- a window is removed from a stack
- window layout changes (window is resized, gaps/padding increase/decrease)
- Update hasbang in shell scripts from
usr/local/bin/dash
to the more common (and faster)/bin/dash
- Fix errors and improve clarity of installation instructions
- Semantic grouping
The initial proof of concept. Hammerspoon invokes yabai -m query
, ingests the result as json, and renders indicators at the top-left corner of each stack.
- #11 When a stack that has "zoom-parent": 1 occludes another stack, the occluded stack's indicators shouldn't be displayed
- #10 Configurable + automatic indicator position relative to stack