Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Vim-like “jump” cursor for Mac OS Window Management (homerow.app)
187 points by pyinstallwoes on April 5, 2023 | hide | past | favorite | 65 comments


I knew I’ve seen it before :-)

This is Vimac that gone commercial

https://github.com/dexterleng/vimac


I've used vimac for a few years and like it; I'm willing to throw the dev some money for a successor!


I made this for Linux recently too: https://github.com/phil294/vimium-everywhere (X11, Wayland coming soon)


The feature this app mimics has never been part of Vim proper, so I am not sure what is "Vim-like" about this.


You can use f, F, b, B, /, etc to quickly jump around native Vim and act on distant text, so makes sense to me.


That app doesn't provide those features, though.


They probably meant “Vimium-like”


Most browsers have a vim emulation plugin that provide a feature like this when you press `f`. So really, it's "browser-vim-emulator-like".


EasyMotion-like would be more accurate.


Seems more avy-like.


Not really the same thing, but I found warpd to be the most usable keyboard navigation solution for Linux

https://github.com/rvaiya/warpd


Great app, thank you for the recommendation. There's only one problem I've encountered so far. I use `maim -s` to take screenshots, and I've tried to combine it with the dragging mode in warpd, but it doesn't work. As soon as I activate warpd, maim seems to exit. Or if I enter warpd first, I can't launch maim anymore. It would be nice to take screenshots from keyboard only. Otherwise, warpd is awesome. History mode is interesting in particular.


Yes, I agree. I use it and love it. Occasionally it keeps falling to move down on pressing 'j'.


Doesn't seem to work with XFCE.


For my emacs friends, here's a wonderful package that provides the same functionality: https://github.com/abo-abo/avy

And, if you're interested in some historical context for this "type characters and jump to point" functionality, the Canon Cat: https://youtu.be/o_TlE_U_X3c



Shortcat is my favorite of these sorts of apps. I just wish there was a way to make all of them faster. The delay between requesting the link hints and then actually displaying on screen is painful enough that I haven’t been able to incorporate it into my workflow.

Most of these apps seem to tie into MacOS’s accessibility framework for the hinting, and I’m guessing the delay is being caused by waiting for and then acting on these response from that framework.


There's a customizable delay in Shortcat that you may have set. Otherwise, buy an M2 Air like mine and see it fly :-)


I have it set to immediate, and I'm using it on a M1 Pro machine :-D


Just tried this one, works great on M1 Max. No delays.


I'm using it on a M1 Max and it's pretty slow to initialize the yellow key options... even when the setting is on "immediate".

I took a screencast: https://imgur.com/a/xL5CgJ2

With Vimium when you hit "f" it actually appears immediately. It takes a full second with Shortcat.


The app in the screencast is Firefox; if you run Accessibility Inspector.app and try to inspect, for instance, the "NN minutes ago" link text in your comment, this is what it looks like in Firefox [0] and this is what it looks like in Safari [1].

Firefox (and Chrome) look like giant completely opaque windows to the macOS accessibility API, the only things you can "see" to click on are the close/minimize/maximize buttons, whereas Safari exposes its entire interface and a lot of the web page to the API.

It looks like Homerow is somehow scraping a short list of apps, "Popular non-native apps such as Chrome, Firefox, Brave, Arc, Visual Studio Code, Spotify, Slack, Discord, and Obsidian are supported. I'm working on supporting more non-native apps.". I don't know how shortcat etc do it, but all of these approaches might just be slower than using the accessibility API.

[0] https://snap.philsnow.io/2023-04-05T10-04-07.bmgoq2rkwxqmy28... [1] https://snap.philsnow.io/2023-04-05T10-01-44.gdj1z3ukbq712zw...


I don’t think it has anything to do with FF. Happens with every app I’ve tried including the macOS settings app. I’ll try Homerow.


Yep, this is exactly what I'm talking about.


that icon has such Mac OS X energy, I love it


I remember wanting to buy a Mac after seeing the Transmit app icon.


the icon is incredible!


This is super cool, a great addition to Alfred for typing goodness.


Thanks! I'm in love with this and needed something similar to Chrome's Vimium extension


Have you tried both? Any tips on which might be better?


just tried both, homerow seemed noticeably faster to me.


Looks like the app download is broken. I get taken to a page at install.appcenter.ms that says "Our services aren't available right now"


I've been looking for a utility that will let me look at a window on another monitor, see a hint, focus it. It seems as though this utility only works within windows rather than between them though, if I have understood the sales pitch correctly.

I'm coming to MacOS from a Linux tiling WM. I'm so used to being able to jump between monitors and switch windows directionally without having to grab the mouse.

Alt-tab / window search workflows are a non-starter: I can see the window I want to focus, I shouldn't have to pick it out of a menu or have to type the window title.

Does anyone know of any utilities that might fit the bill?


Yabai[1] looks like it supports directional focus movement.[2]

You could also check out hammerspoon[3] and see if there are any sample configurations that could do directional focus.[4]

[1]: https://github.com/koekeishiya/yabai

[2]: https://github.com/koekeishiya/yabai/wiki/Commands#focus-win...

[3]: https://github.com/Hammerspoon/hammerspoon

[4]: https://github.com/Hammerspoon/hammerspoon/wiki/Sample-Confi...


I have used phoenix for some functionality in the general area https://github.com/kasper/phoenix


I also came from a TWM (i3) to macOS. It took a while to get to a good solution but I have it down now with yabai and skhd for window management. For launching apps, I wrote something around the launchAppOrFocus API in hammerspoon, assigning hot keys to my commonly used apps. I also have a rule set in yabai that launches certain apps in set desktop spaces.

I use spotlight search for the apps I don’t open so frequently but having something closer to dmenu (or a fuzzy find app picker) would be nice.



not exactly what you want but I use alfred hotkeys tied to "open" actions for specific applications. If the app is already open it activates it instead so I have shortcuts for safari, firefox, slack etc.


I’d love to use an app like this but I’ve tried a few and they are too slow for me and they only work about 90-95% of the time which is enough to start relying on it but when it doesn’t work it’s jarring and then I have to use the mouse, which makes the entire interaction slower than just using the mouse in the first place.


You just perfectly described what my experience with these apps has been as well


I use the UHK keyboard which has butter smooth home row keys mouse movement so I never need a mouse anyway. https://ultimatehackingkeyboard.com/


A source-available alternative for Windows: https://github.com/zsims/hunt-and-peck


I haven't been maintaining this much lately. Suffers from the same problems as other tools - the accessibility APIs are slow


This is cool, after only recently discovering Vimium which is a game changer for me, I'll definitely be checking this out.

Can't say I'm too keen on the pricing though.


I feel like $29 for "use it forever" is pretty reasonable for something that would likely qualify as a "game changer". How many sales would they have to make at say $5 to pay for all the time they spent developing it + all the time they will spend maintaining it as apple changes things out from under them?

If we assume a $5 price, and a standard US contract rate of ~$100hr (cheap for US contracting actually) and we ignore the cut taken by credit card companies and such (ha!), then we're talking 20 sales to pay for 1hr of development. I don't think they made this plus the site with < 20 hrs and I assume they'll be spending at least 1hr doing email support so 400 sales just to cover their time making it. Or 420 sales to break even... for an extremely niche product.

Still think $29 is too expensive?


It's a bit surprising how consistently the amount of work that goes into developing an app and then maintaining it is underestimated, particularly with how there doesn't seem to be any price point other than free that won't prompt reactions of "that's too expensive". As someone who's more inclined towards developing little desktop utilities than some kind of SaaS it's dissuading.


For clarity $29 is "use it forever" but with updates for only 1 year. If only for security patches, best to keep software updated, so for most it becomes $29 annually.

Also:

> you can use Homerow without a license. An unintrusive prompt will show every 50 activations.

So you can try before you buy.


> Still think $29 is too expensive?

For only one machine, yeah.. the 29 is fine but I need a new license for every machine?

This also suggests the app needs be online too .. Will be getting it but it feels strange to me. That's all.


for many apps recently, the pay $$ "use X forever" has evolved to mean "pay $$ for version X and use it forever", then bring a new paid version of X every year or so.

I'm all for monetising projects - just can't see a one-off $29 making them much, it's a niche product (as you say).


Having tried in vain to automate apps' interfaces in the past, I'm confident Homerow can not work with a lot of the applications I use.

> Homerow works with most native macOS apps and a growing set of non-native web-based apps

Yeah, that tracks - thankfully Electron does make that a breeze. I wonder if this at least supports Catalyst apps, like Messages or Weather.


If you haven't used leap or its alternatives in vim, I highly recommend giving it a try. It's the closest thing to a direct brain to computer interface that I've used. Love the other comments in here. I'll have to check out shortcat.


I found an app named “Scoot” recently and it works just as I wanted. It works in literally any situation by its grid-based navigation feature.

https://github.com/mjrusso/scoot


This looks cool. Thanks.


Cool app; does it use the same MacOS api as the Voice Control feature? (If you’re in voice control and ask for it to “Show Number”, it will append a number to every clickable element currently in view


Yes.


Pretty cool app that could be useful. Works quite like Vimium in Chrome.

Only annoying thing is that you have to press shift to enter uppercase letters.


anyone aware of a quick switcher like this but for open windows/tabs on Mac? AltTab which seems to be the popular options doesn't seem to have a quick switch/fuzzy finder.


I do this with hammerspoon, it's built in to the hints module with the "vimperator" style setting.

https://www.hammerspoon.org/docs/hs.hints.html#windowHints


I didn't like the default cmd-tab behavior or expose so I also used hammerspoon to "fix" it: https://gist.github.com/philsnow/d6ba054f57e2d304f0d4d18f247...

This is off-topic because this thing is about cmd-tab switching instead of typing a couple keys to switch to a particular window, but I just wanted to second the mention for hammerspoon as a "can probably solve your issues with macOS interface" multitool. Since you write in lua (or anything that compiles to lua, like fennel) it's incredibly easy to iterate on.


kicked the tires with Hammerspoon, seems quite powerful, thanks for sharing! the windowHints are quite slow to load but it's a start!

what i do at the moment, which is fairly fast, is launch Finder and type the first couple letters of the window i want to switch to—99% hit rate.


By Finder do you mean Spotlight? My gripe with Spotlight is the instability of the pre-selected item after you type a few characters.

On my mac, if I'm trying to go to Finder, I get

  cmd+space  (Spotlight Search)
  f          F(inder.app)
  i          Fi(nd My.app)
  n          Fin(d My.app)
  d          Find( My.app)
  e          Finde(r.app)
so quite often I'll see Finder.app show up as the result, but I've already told my fingers to type the 'ind', so there's a race between "type these keys", "see Finder", "type return", and "see Find My".




finda for Mac. can also switch to specific tabs in browsers and VSCode. https://keminglabs.com/finda/setup/


Are there any alternatives for KDE/Wayland?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: