Hacker News .hnnew | past | comments | ask | show | jobs | submit | grincho's commentslogin

I had that complaint about Mail too. Then I realized you can begin dragging an email (from the list view), switch apps with your other hand, and drop it into, say, a todo. Of course, this is less discoverable, so I agree a Share button would not go amiss.


Wow. I didn’t even know it was possible to drag and drop between apps on iOS. TIL. Thanks!


    Location: Durham, NC
    Remote: Yes
    Willing to relocate: No
    Technologies: Python, OCaml, Elixir, Postgres, Elasticsearch, LLVM, ML, PyTorch, scikit-learn, Django, JavaScript, TypeScript, and many others
    Résumé/CV: https://www.linkedin.com/in/erikrose/
    Email: grinch@grinchcentral.com
Wrote the ML-optimized data-flow language that powers Firefox autofill. Designed the secure self-update mechanism for Let’s Encrypt, the world's largest certificate authority. Added hash-based reproducibility to Python’s standard packaging tool, pip. Wrote 5 Python packages in the top 1% downloaded.

>20 years of experience, across web, Mac desktop, and language stuff. Drop me a line! I’d love to make beautiful things with you!


I can't solve all your problems, but here are a few I can do off the top of my head. I hope they help somebody.

Hold keys and click to move a window: https://mmazzarolo.com/blog/2022-04-16-drag-window-by-clicki.... I love it. Bind it to a mouse button with USB Overdrive for extra convenience.

In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.

Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.

Cheers!


I've been doing this for >10 years with https://manytricks.com/butler/. Works great! You can also bind snippets of text, scripts, etc.

I can't overstate how important it is to have a keyboard that groups function keys into "islands" of (generally) 4 so you can touch-type them. An ergonomics consultant once observed that the source of my neck pain was that I looked at the keyboard while typing. As a touch-typist, I found this puzzling—until we realized it was just the function keys. :-)

Btw, LaunchBar (https://obdev.at/products/launchbar/index.html) makes an excellent 2nd-level util for things not common enough to merit a single keychord.


Hit command-return to open the folder the file is in.


This is a macOS pattern, by the way - other (good) search apps, like Alfred, maintain this behavior when searching for files. Very useful to remember


One good source of Mac mechanicals is Matias, e.g. https://matias.ca/quietpro/mac/. In fact, it's the only company I've found that makes a true Mac layout: that is, a full symmetric set of command, option, and control keys on each side.


I had one of the Matias wireless keyboards with the numeric keypad. I bought it because at the time, Apple didn't make a wireless version of its full Magic Keyboard.

It was good for about a year. Then i started having connectivity problems. The Letter in the keys wrote off quickly. And a few of the keys started becoming less responsive. The quality just wasn't there.

Luckily, by then Apple came out with its version, and it's been flawless for a few years now. It's worth the extra money to go with Apple, if you're getting that kind of keyboard.


Yes, this is why I implemented hash-checking in pip (https://pip.pypa.io/en/stable/topics/repeatable-installs/#ha...). Running your own server is certainly another way to solve the problem (and lets you work offline), but keeping the pinning info in version control gives you a built-in audit trail, code reviews, and one fewer server to maintain.


Doesn't Poetry do this by default in its lockfile too?


There is an active PEP[0] for defining lockfiles.

0: https://www.python.org/dev/peps/pep-0665/


To me, most shortcuts gain nothing by being on mouse rather than the keyboard (which, of course, has much more room). However, when a shortcut modifies a mouse action or otherwise comes into scope while mousing—that is when you get useful leverage.

Here are the best uses I've put extra mouse buttons to:

1. Double-click. Great for selecting word-at-a-time and really relieves the RSI. If you double-click the double-click button, it turns into triple-click, which selects paragraph-at-a-time.

2. Close window. I live the "window closing lifestyle". If I'm not slamming a browser tab, I'm closing an editor or Finder window—which I often opened by mousing to a link, icon, or existing window a split second before. In fact, I can get quite a furious window-closing hurricane going, targeting window after window, focusing each with a click and then hitting the close-window mouse button. It's a great way to clean up after finishing a task.

3. Option-click. I use this almost exclusively for clicking on a different application and hiding the previous one, a standard Mac behavior that becomes smoother by being one-handed. It also activates rectangular text selection in BBEdit, as a bonus.

4. Exposé/Mission Control. Hold a button, have all your windows flatten out, then mouse to one to bring it to the fore. I have several quicker ways of unearthing windows, but this is a nice fallback when all else fails.

Those are the big 4. I have extra buttons I've been auditioning for some other bindings like Open In New Window and Back, but what I really wish for are...

5. Grab-scroll. I had this with the old ADB Kensington Thinking Mouse driver. Hold down a mouse button, yank on some scrollable content, and the content would follow your mouse pointer, just like today's 2-finger trackpad gesture. If anybody knows how to set this up today, I'd be grateful to hear it!

6. Drag window. It seems like we're all looking for faster ways to arrange windows these days: tiling managers, grid snapping, hotkeys bound to specific positions. In my perfect world, I could drag a window anywhere I pleased but without the expensive targeting of the small draggable region first. If I could place my pointer just vaguely over a window, hold a certain mouse button, and drag the window thereby, I'd be thrilled. I've never managed to set this one up but would love to hear ideas.

Funny enough—and maybe this is just an artifact of Mac software design—I've never found so-called "right click" profitable enough to actually earn it a button. :-)


Re: Drag window: One of the only things I miss about the Sun Solaris workstation I used back in my embedded days was the "Front" key. Hover the mouse over a window, hit "Front", and that window would be moved to the top of the window stack, unless it was already on top in which case it would be moved to the back. It was extremely useful both for raising a window when you could only see a little corner, and for cycling through all the windows at a particular point on the screen. You also didn't have to make it so clicks would raise a window, and then you could have a terminal in front of a browser window and you could click around in the browser without losing the terminal.

There are many things I do not miss about my SparcStation. Like, opening a web page with too many GIFs in Firefox, which would lock up the window manager, and I'd have to use a colleague's machine to telnet to my machine so I could `pkill -9 x11`.


When I was using Ubuntu I could drag a window from anywhere by holding Alt and clicking anywhere on the window. I had to use this frequently because due to resolution switching bugs I’d end up with windows where the window controls were entirely off screen.

I believe there is a Windows tool that implements Alt drag as well. On OS X I remember seeing some work in progress attempt but not sure it was ever fully polished.


Width-based media queries are simply a corrupt idea altogether. In addition to the problem complained noted in the post, they give rise to other pathological behaviors I encounter daily. I increase the zoom of a page to better see an image, only to have the image shrink due to a layout change. I shrink a window to remove a huge empty margin, only to have the text recede even further.

They way they're implemented in browsers, width media queries are a UI antipattern. They violate the principle of least astonishment because their boundaries are invisible, causing the user to be surprised every time.


The Mac has provided easy access to symbols since 1984, with nice mnemonics like these:

    option-=  ≠
    option-<  ≤
    option->  ≥
    option-/  ÷
    option-o  ø
    option-w  ∑
I don't know why other OSes haven't adopted something similar. The first couple of these were even idiomatic in HyperCard's scripting language.


That's like visual puns, and is limited to whatever symbols seemed important to the developer at the time.

How do you discover how to type ß, °, «, ‡ etc?

Android's gboard uses phonetics (long press [s] key for ß), symbolic similarity (long press [*] key for ‡) and visual similarity (long press [<] key for «) which is guessable for some symbols, but isn't discoverable for others (you can search for emoji by name, but not symbols).


The Mac has had, as a standard feature for decades, an on-screen keyboard to allow you to explore the results of different key combinations. It’s a great tool.


I should note that, alongside it, is a useful search tool that allows you to find the character you’re looking for if you’d rather just search and don’t care to learn the key combination (if there is one).


Cool! Where do I find it?


In Mojave, and it’s pretty similar across versions IIRC: open keyboard preferences in system settings and check the “Show keyboard and emoji viewers in menu bar” box.

That will replace the language flag icon in your top bar with an odd icon with the command key embedded.

The second option in that menu is the keyboard viewer. You can show that and drag on a corner to make it as large as you want. Dynamically changes the keyboard as you hold down modifier keys.


It's easy on the Mac to have a custom or purpose-built keyboard layout that makes sense for the user or context. It's a little harder with X (mostly due to uncoöperative DEs) but still doable.


Self-reply for Kwpolska: Adding layouts to /usr/share/X11/xkb/symbols/ is straightforward (but is necessarily system-wide, and requires root), and I do that. However, for the popular desktop environments, it's like pulling teeth to have that layout treated as first-class with respect to switching and settings.

(On MacOS, putting a .layout file in ~/Library/Keyboard\ Layouts is enough.)


I've hacked /usr/share/X11/xkb/symbols/xx files to have custom keyboard layouts, DEs are not able to mess with it.


X has Compose, which originated slightly earlier (the key, that is, not the X11/xkb implementation), and is a tolerable alternative. e.g. [Compose / =] ↦ [≠]


> nice mnemonics like these:

> option-w ∑

This would grate on me every single time I had to use it. It's an S. Put it on option-s.


For context opt s is ß so the decision wouldn’t be easy if you want to include both.


What are á and à?

Putting double S on option-s just makes option-w for Sigma more grating. If they were going by shape, it'd be on option-b, which is equally stupid. But since it's on S, we can conclude that... someone at Apple knows German, but nobody can even name a Greek letter? That Germans are right and Greeks are wrong? What?


I don’t think it that extreme, but that German has higher precedence than Greek. If you need to include both characters, you have to pick one or the other, and for whatever reason this configuration happened. We might never know the true reason behind the decision, but stupility is unlikely the answer. Most seemingly stupid decisions (technical or otherwise) makes at least a certain amount of sense within its proper context, and it’s fair to talk down to it when you don’t have the risk of being judged by that decision.


I repeat:

> What are á and à?

The concept of variations on a common letter wasn't exactly new at the time. If you're supporting German and Greek, it seems safe to say you're also supporting French.


Windows has a keyboard called US-International with extra symbols. Also, note that those key combinations might not exist in other keyboard layouts (replaced with local keys).


I like to use characters like those as custom operators whenever I can. :)


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

Search: