You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove jq dependency. Remove shell script to call yabai. Remove lib.json module. Refactor stackline.query from an unnecessary object-oriented design to a functional design. Cleanup stackline.lib.utils (#75)
- 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`
A 'stack' is a generalized subset of a tabbed UI that enables multiple macOS windows to occupy the same screen space and behave as a single unit. A stack lets a user…
A 'stack' enables multiple macOS windows to occupy the same screen space and behave as a single unit.
35
33
36
-
Stacks are a recent addition (June 2020) to the (_excellent!_) macOS tiling window manager [koekeishiya/yabai](https://github.com/koekeishiya/yabai). See [yabai #203](https://github.com/koekeishiya/yabai/issues/203) for more info about `yabai`'s stacking feature. Currently, `yabai` does not provide a visual indication of a stack's active window or the inactive windows below. This makes it easy to forget about the stacked windows that aren't visible.
37
-
38
-
Enter `stackline`: simple, unobtrusive visual indicators that complement `yabai` window stacks.
34
+
Stacks are a recent addition (June 2020) to the (_excellent!_) macOS tiling window manager [koekeishiya/yabai](https://github.com/koekeishiya/yabai). See [yabai #203](https://github.com/koekeishiya/yabai/issues/203) for more info about `yabai`'s stacking feature. Currently, there's no built-in UI for stacks, which makes it easy to forget about stacked windows that aren't visible or get disoriented.
39
35
36
+
Enter `stackline`: unobtrusive visual indicators that complement `yabai` window stacks.
- 🚦 **See your stacks**. Window indicators show you which BSP leaves are stacks & how many windows each stack contains
46
-
- 🔦 **App icons**. Toggle icons on to know exactly which apps are stacked where. Toggle icons off and get a slim minimalistic indicator that doesn't get in the way.
47
-
- 🧘♂️️**Smart positioning**. Whichever mode you prefer, indicators always stay out of the way on the outside edge of the window (nearest the screen edge). `stackline v0.1.55` has full support for multi-monitor setups, too.
48
-
-🧮**Always in sync**. stackline keeps track of stacks as you move between spaces, resize windows, and add or remove stacks.
49
-
-🕹️ **Flexible control**. Control stackline via shell commands, or access the instance directly via Hammerspoon.
42
+
- 🚦 **Window indicators**show the position and window count of stacks
43
+
- 🔦 Use **app icons**to show apps inside stacks or slim indicators to save space
44
+
- 🧘 **Smart positioning**. Indicators stay on the outside edge of the window nearest the screen edge
45
+
-🕹️**Flexible control**. Control stackline via shell commands, or access the instance directly via hammerspoon.
46
+
-🖥️ **Multi-monitor support** introduced in `stackline v0.1.55`
50
47
51
48
<table>
52
49
<tbody>
@@ -66,17 +63,16 @@ Enter `stackline`: simple, unobtrusive visual indicators that complement `yabai`
See [wiki](https://github.com/AdamWagner/stackline/wiki/Install-&-configure-dependencies#user-content-configure-yabai-stacks) for example keybindings to create and navigate between stacks.
78
74
79
-
### Installing stackline
75
+
### Installation
80
76
81
77
1.[Clone the repo into ~/.hammerspoon/stackline](https://github.com/AdamWagner/stackline/wiki/Install-stackline#1-clone-the-repo-into-hammerspoonstackline)
82
78
2.[Install the hammerspoon cli tool](https://github.com/AdamWagner/stackline/wiki/Install-stackline#2-install-the-hammerspoon-cli-tool)
- Launch `hammerspoon` (or make sure it's running) (`open -a "Hammerspoon"`)
142
149
143
-
```sh
144
-
❯ which hs
145
-
/usr/local/bin/hs
146
-
```
147
-
148
-
### RETRO? GO! FIDO? GO! GUIDANCE…
149
-
150
-
We're almost there!
151
-
152
-
```sh
153
-
# Launch yabai (or make sure it's running)
154
-
brew services start yabai
155
-
156
-
# Launch hammerspoon (or make sure it's running)
157
-
open -a "Hammerspoon"
158
-
```
150
+
**Create a window stack**
159
151
160
-
Now, assuming you've been issuing these commands from a terminal and _also_ have a browser window open on the same space, make sure your terminal is positioned immediately to the _left_ of Safari and issue the following command (or use [keybindings](https://github.com/AdamWagner/stackline/wiki/Install-dependencies)) to create a stack:
152
+
Now, assuming you've been issuing these commands from a terminal and _also_ have a browser window open on the same space, make sure your terminal is positioned immediately to the _left_ of your browser and issue the following command (or use [keybindings](https://github.com/AdamWagner/stackline/wiki/Install-dependencies)) to create a stack:
161
153
162
154
```sh
163
155
yabai -m window --stack next
@@ -167,27 +159,20 @@ Did the terminal window expand to cover the area previously occupied by Safari?
The minimalist stack indicator style is shown here ↑
180
-
181
-
See the wiki to [for details about how to do this with a key binding!](https://github.com/AdamWagner/stackline/wiki/Keybindings).
170
+
See the wiki to [for details about how to do this with a key binding](https://github.com/AdamWagner/stackline/wiki/Keybindings).
182
171
183
172
184
-
## Help us get to v1.0.0!
185
-
186
-
Give a ⭐️ if you think (a more fully-featured version of) stackline would be useful!
187
-
188
173
## Thanks to contributors!
189
174
190
-
All are welcome (actually, _please_ help us, 🤣️)! Feel free to dive in by opening an [issue](https://github.com/AdamWagner/stackline/issues/new) or submitting a PR.
175
+
All are welcome. Feel free to dive in by opening an [issue](https://github.com/AdamWagner/stackline/issues/new) or submitting a PR.
191
176
192
177
[@alin23](https://github.com/alin23) initially proposed the [concept for stackline here](https://github.com/koekeishiya/yabai/issues/203#issuecomment-652948362) and encouraged [@AdamWagner](https://github.com/AdamWagner) to share the mostly-broken proof-of-concept publicly. Since then, [@alin23](https://github.com/alin23) dramatically improved upon the initial proof-of-concept with [#13](https://github.com/AdamWagner/stackline/pull/13), has some pretty whiz-bang functionality on deck with [#17](https://github.com/AdamWagner/stackline/pull/17), and has been a great thought partner/reviewer.
193
178
@@ -199,13 +184,15 @@ All are welcome (actually, _please_ help us, 🤣️)! Feel free to dive in by o
199
184
200
185
[@AdamWagner](https://github.com/AdamWagner) wrote the initial proof-of-concept (POC) for stackline.
201
186
187
+
Give a ⭐️ if you think (a more fully-featured version of) stackline would be useful!
188
+
202
189
### …on the shoulders of giants
203
190
204
191
Thanks to [@koekeishiya](gh-koekeishiya) without whom the _wonderful_[yabai](https://github.com/koekeishiya/yabai) would not exist, and projects like this would have no reason to exist.
205
192
206
193
Similarly, thanks to [@dominiklohmann](https://github.com/dominiklohmann), who has helped _so many people_ make chunkwm/yabai "do the thing" they want and provides great feedback on new and proposed yabai features.
207
194
208
-
Thanks to [@cmsj](https://github.com/cmsj), [@asmagill](https://github.com/asmagill), and all of the contributors to [hammerspoon](https://github.com/Hammerspoon/hammerspoon) for making macOS APIs accessible to the rest of us!
195
+
Thanks to [@cmsj](https://github.com/cmsj), [@asmagill](https://github.com/asmagill), and all of the contributors to [hammerspoon](https://github.com/Hammerspoon/hammerspoon) for making macos APIs accessible to the rest of us!
209
196
210
197
Thanks to the creators & maintainers of the lua utility libaries [underscore.lua](https://github.com/mirven/underscore.lua), [lume.lua](https://github.com/rxi/lume), and [self.lua](https://github.com/M1que4s/self).
0 commit comments