drracket
drracket copied to clipboard
Home and End keys on macOS
Hi,
I have noticed that DrRacket doesn't follow the conventions on macOS with regards to the Home and End keys.
On an external keyboard the Home and End keys in most macOS applications are bound to "beginning of document" and "end of document". This is can be observed in Pages, Chrome, Safari and other programs.
The macOS User Guide describes this behaviour too: https://support.apple.com/en-gb/guide/mac-help/cpmh0152/mac
In DrRacket these keys are bound to "beginning of line" and "end of line". This follows the convention used on Linux and Windows.
The conventions are described here: https://en.wikipedia.org/wiki/Home_key
Personally I think it would make sense to follow the platform conventions. However typing habits die hard, so if the default keybindings stay, I suggest adding a new option to the "General Editing" tab in preferences.
/Jens Axel
An option (that defaults to the standard behavior) sounds like a good idea to me. Just changing it would probably also be an improvement on the current state.
We do need beginning of line and end of line keybindings (that aren't control-a and control-e); are the current command-left and command-right standard? I see they work here in this firefox editor thingy I'm using which seems like a good sign.
Yes, command and arrow left and right are standard.
Any tips on building just DrRacket using a snapshot version of Racket? (See detailed question on Slack)
Sorry I just realized there was a question here. Maybe you're set up now, but the way I usually do things is to clone the main racket repo, type make
at the toplevel (nothing else first), make an extra-pkgs
directory at the top and, inside it, do raco pkg update --clone drracket
(accepting the defaults to the subsequent questions). This has the disadvantage that it takes longer to get going (notably, on my machine the initial make
step takes a bit more than 30 minutes) but the whole thing can be thrown away by throwing away the top-level directory, the snapshot that gets downloaded is never too old, and git pull followed by make
at the top-level updates everything.
Thanks for the pointers.
In order to skip the 30 minutes for building (that's a long time, if the you only want to make a small change), I wanted to use a snapshot build. I like making a fork on github and the clone the fork. This way, after making the change, I can inspect it on Github before I make a pull request.
The key step I was doing wrong was using raco link
rather than raco update
(which for some
reason, I thought downloaded an update from github).