Skip to content

Rewrite in a performant language e.g. Golang #111

Open

Description

@devnoname120

Stackline spikes in CPU whenever I switch windows. This has a significant battery impact which would be reduced by using a compiled language such as Golang.

The dependency on Hammerspoon can be removed entirely as all the event listeners are all supported by yabai out of the box.

I may look into it in the future but it's low-priority in my TODO list.

Activity

  1. prurph commented on Aug 12, 2022

    @prurph

    Isn't Hammerspoon being used to actually render the icons?

  2. es183923 commented on Aug 12, 2022

    @es183923

    literally everything depends on hammerspoon. The timers, rendering the app icons/pills, clicks, being updated on certain events, logging, etc. Some of this can be removed, but mainly rendering the icons/pills and clicks require hammerspoon.

  3. devnoname120 commented on Aug 12, 2022

    @devnoname120
    Author

    Yes it would be a complete rewrite from scratch. I'll use this project as inspiration for what it will look like but otherwise there won't be much in common.

  4. mizlan commented on Feb 29, 2024

    @mizlan

    @devnoname120 have you worked on it?

  5. devnoname120 commented on Feb 29, 2024

    @devnoname120
    Author
  6. liam-mackie commented on Jul 29, 2025

    @liam-mackie

    I've written an alternative in Swift. You can find it here: https://github.com/liam-mackie/stackline-swift 😄
    Happy to get feedback and contributions, I've built it to be pretty specific to my own requirements, and it's very hacky. That being said, it's handled by automatically adding events to yabai rather than polling, and in my testing, the energy impact is pretty small.

  7. devnoname120 commented on Aug 14, 2025

    @devnoname120
    Author

    Liam’s rewrite is working really well and fast, I recommend everyone to try!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions