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

Numero Uno #1

Open
agzam opened this issue Dec 13, 2023 · 0 comments
Open

Numero Uno #1

agzam opened this issue Dec 13, 2023 · 0 comments

Comments

@agzam
Copy link

agzam commented Dec 13, 2023

It's just a placeholder for a preliminary draft of the list of things to consider.

This is the beginning phase of designing the next iteration of agzam/spacehammer.

The issues I personally face with the current version:

  • There is a memory leak I can't figure out. I suspect it's an upstream issue, but we still need to find a workaround. Perhaps, while redesigning the whole app, we'll find the cause. Basically, for no apparent reason, Spacehammer's main menu freezes or doesn't show up at all; Activity Monitor shows a sudden increase in memory usage. It can jump from about a couple of hundred MBs to several gigs 😱 in second. And then the only way is to forcefully kill and restart Hammerspoon.

  • I would absolutely love to have proper tiling WM support.

I- have never figured out how to set up a proper Fennel REPL, but I would love to write forms and evaluate them without leaving my editor.

What I think would be great to have

  • An easier way to install things - Nix, Homebrew, or luarocks, etc.

  • A simpler way of adding menu items would be fantastic. It would be nice to have a universal macro that would let you easily define and extend menus and items.

  • Local bindings support. It would be great if we had a dedicated key that invokes a local menu, specifically made for the app, or maybe even different classes of apps. For example, I imagine apps that have "tabs" - Browser, Terminal, Finder, etc., could add some similar features through the local menu. We have a way of doing local bindings today, but it's not as simple and straightforward to use, possibly due to the general difficulty of making and configuring nested menus. Would be nice to be able to easily "hook" up any app and make it for example always start with a specific screen-rect coords.

  • I don't know if we need to revisit our FSM implementation, but some optimizations wouldn't hurt, I suppose.

  • End-to-end testing is something I've always wanted, and I'm not sure if that's even attainable via practical means, especially unsure if we can do it via GH Actions.

  • In general, a better way of customizing things would be great. We should aim to have a very tiny core and make things extremely extensible.

  • Some consensus around the "core" library is needed. Fennel doesn't have an official core library; either adopting something like andreyorst/fennel-cljlib or borrowing things from other sources could potentially work.

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

No branches or pull requests

1 participant