[HN Gopher] Vim-like "jump" cursor for Mac OS Window Management
       ___________________________________________________________________
        
       Vim-like "jump" cursor for Mac OS Window Management
        
       Author : pyinstallwoes
       Score  : 165 points
       Date   : 2023-04-05 08:29 UTC (14 hours ago)
        
 (HTM) web link (www.homerow.app)
 (TXT) w3m dump (www.homerow.app)
        
       | likeclockwork wrote:
       | 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?
        
         | galoisscobi wrote:
         | 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.
        
         | sixhobbits wrote:
         | 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.
        
         | sleepybrett wrote:
         | I have used phoenix for some functionality in the general area
         | https://github.com/kasper/phoenix
        
       | afry1 wrote:
       | 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
        
       | phil294 wrote:
       | I made this for Linux recently too:
       | https://github.com/phil294/vimium-everywhere (X11, Wayland coming
       | soon)
        
       | lelandfe wrote:
       | 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.
        
       | meatjuice wrote:
       | 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
        
       | absoluteunit1 wrote:
       | 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
        
         | systoll wrote:
         | Yes.
        
       | tincanner wrote:
       | 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.
        
         | gregwebs wrote:
         | finda for Mac. can also switch to specific tabs in browsers and
         | VSCode. https://keminglabs.com/finda/setup/
        
         | js2 wrote:
         | https://manytricks.com/witch/
        
         | giraffe_lady wrote:
         | 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
        
           | philsnow wrote:
           | I didn't like the default cmd-tab behavior or expose so I
           | also used hammerspoon to "fix" it: https://gist.github.com/ph
           | ilsnow/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.
        
           | tincanner wrote:
           | 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.
        
             | philsnow wrote:
             | 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".
        
         | westh wrote:
         | https://contexts.co/
        
       | squeegee_scream wrote:
       | 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.
        
       | johncoltrane wrote:
       | The feature this app mimics has never been part of Vim proper, so
       | I am not sure what is "Vim-like" about this.
        
         | aikinai wrote:
         | You can use f, F, b, B, /, etc to quickly jump around native
         | Vim and act on distant text, so makes sense to me.
        
           | johncoltrane wrote:
           | That app doesn't provide those features, though.
        
         | absoluteunit1 wrote:
         | They probably meant "Vimium-like"
        
         | tmtvl wrote:
         | Seems more avy-like.
        
         | aliceryhl wrote:
         | 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".
        
           | johncoltrane wrote:
           | EasyMotion-like would be more accurate.
        
       | bilekas wrote:
       | 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.
        
         | masukomi wrote:
         | 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?
        
           | al_be_back wrote:
           | 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).
        
           | nomilk wrote:
           | 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.
        
           | kitsunesoba wrote:
           | 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.
        
           | bilekas wrote:
           | > 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.
        
       | curious145454 wrote:
       | Are there any alternatives for KDE/Wayland?
        
       | hs86 wrote:
       | Alternative: https://shortcat.app/
        
         | asciii wrote:
         | Thanks! I'm in love with this and needed something similar to
         | Chrome's Vimium extension
        
         | aikinai wrote:
         | Have you tried both? Any tips on which might be better?
        
           | tincanner wrote:
           | just tried both, homerow seemed noticeably faster to me.
        
         | ChrisLTD wrote:
         | 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.
        
           | brentm wrote:
           | Just tried this one, works great on M1 Max. No delays.
        
             | dmix wrote:
             | 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.
        
               | ChrisLTD wrote:
               | Yep, this is exactly what I'm talking about.
        
               | philsnow wrote:
               | 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.
               | 
               | [0] https://snap.philsnow.io/2023-04-05T10-04-07.bmgoq2rk
               | wxqmy28... [1] https://snap.philsnow.io/2023-04-05T10-01-
               | 44.gdj1z3ukbq712zw...
        
               | dmix wrote:
               | 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.
        
           | chris_st wrote:
           | There's a customizable delay in Shortcat that you may have
           | set. Otherwise, buy an M2 Air like mine and see it fly :-)
        
             | ChrisLTD wrote:
             | I have it set to immediate, and I'm using it on a M1 Pro
             | machine :-D
        
         | rideontime wrote:
         | that icon has such Mac OS X energy, I love it
        
           | dmix wrote:
           | I remember wanting to buy a Mac after seeing the Transmit app
           | icon.
        
           | wellthisisgreat wrote:
           | the icon is incredible!
        
         | morgango wrote:
         | This is super cool, a great addition to Alfred for typing
         | goodness.
        
       | anamexis wrote:
       | 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"
        
       | cipher_system wrote:
       | 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.
        
       | freeCandy wrote:
       | Not really the same thing, but I found warpd to be the most
       | usable keyboard navigation solution for Linux
       | 
       | https://github.com/rvaiya/warpd
        
         | xept wrote:
         | 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, the maim seems to exit. Or if I enter warpd first, I
         | can't launch main anymore. It would be nice to take screenshots
         | from keyboard only. Otherwise, warpd is awesome. History mode
         | is interesting in particular.
        
         | p2hari wrote:
         | Yes, I agree. I use it and love it. Occasionally it keeps
         | falling to move down on pressing 'j'.
        
       | blakedietz wrote:
       | 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.
        
       | piskov wrote:
       | I knew I've seen it before :-)
       | 
       | This is Vimac that gone commercial
       | 
       | https://github.com/dexterleng/vimac
        
       | AlexErrant wrote:
       | A source-available alternative for Windows:
       | https://github.com/zsims/hunt-and-peck
        
       | spark3k wrote:
       | I use the UHK keyboard which has butter smooth home row keys
       | mouse movement so I never need a mouse anyway.
       | https://ultimatehackingkeyboard.com/
        
       ___________________________________________________________________
       (page generated 2023-04-05 23:02 UTC)