The elementary OS team is very thoughtful about the default workflow, and so I would recommend new users to this operating system to try using the default settings before making too many tweaks. However, there are always some preferences that one will like to adjust, and especially for those coming from MacOS, it can be more comfortable if some of the keyboard shortcuts and mappings are similar. This post will cover a few ideas on how to tweak elementary OS to match some of the patterns that users experience on a Mac.
As a longtime Mac user, I got accustomed to having hot corners, which means that moving the cursor into the corner of the screen triggers some action. Fortunately, elementary OS makes it easy to enable and customize hot corners. You can find these options in Settings > Desktop > Multitasking.
Back in MacOS, I liked setting a hot corner to “Mission Control”, which displayed all the windows and workspaces. In elementary, you can get a very similar behavior by setting a hot corner as “Show all windows”. This option in elementary has a much more intuitive name, which again is one of the reasons I find it so user friendly, even more so than MacOS in a lot of ways.
There are several other options for hot corner actions in elementary, and there is even an option to execute a custom command, so in a lot of ways, the possibilities are many for users of hot corners.
Text Navigation with Keyboard Shortcuts
The one customization that took a bit more work was setting the keyboard shortcuts for text navigation. When on MacOS, I *all the time* use the text navigation shortcuts, for example <Command+Left> to go to the beginning of a line, <Option+Left> to move one word to the left, <Shift+Option+Left> to select the word to the left, etc.
These shortcuts unfortunately cannot be modified under Settings > Keyboard > Shortcuts. And beyond preference, a further reason to modify them is that some Apple laptops do not have <home> and <end> keys. So if you are dual booting elementary on a Mac laptop, there is no way to use the beginning and end of line keyboard navigation.
The easiest way I found to customize these shortcuts was to use the desktop utility Autokey. Note that Autokey does not change the bindings; rather, it runs in the background and intercepts keyboard shortcuts and then maps them to your specified shortcuts. Install Autokey by opening the Terminal and entering:
sudo apt-get install autokey-gtk
Then launch the application menu and select Autokey. Click on Edit > Preferences and check the box for “Automatically start Autokey at login.”
Next, clear the default shortcuts that we will override. Go to System Settings > Keyboard > Shortcuts > Workspaces. And disable <super>+<left> and <super>+<right>.
Now you can specify the mappings. Click New > Phrase and give the new item a name. In the text box where it says “enter phrase contents” type the keyboard shortcut you want to map to. For example, <home>. Then click “Set” in the hotkey row, click “Press to set” and then you can type the key combination you want to map from. Finally, click “Save” and repeat for all desired keyboard mapping.
To get the combinations I wanted, I create four entries and then an additional four entries with <shift> included to select the text. Just make sure the arrow key or end/home is always the final entry in the text box. Also, make sure to keep “Paste Using Keyboard” selected.
Here are a couple examples of what my Autokey entries look like at the end:
- To move cursor to beginning of line. Text box: <home> Hotkey: <super>+<left>
- To move cursor word left and select. Text box: <shift>+<ctrl>+<left> Hotkey: <alt>+<shift>+<left>
And here is a screenshot of all eight of the entries I made to get all the text navigation shortcuts I wanted:
Hopefully there will some day be an option to change these mappings under System Settings > Keyboard > Shortcuts. But this method using Autokey works well too.
Application launching actually works the same by default in elementary OS as in MacOS. So no customization is needed, and I was very happy to see how easy it is to launch applications by default.
In MacOS, I typically launch applications through Spotlight Search, by hitting Command+Spacebar and then typing the name of the application I wish to launch, and enter. And just like on MacOS, on elementary OS the same Command+Spacebar will bring up the search bar in the applications window. By searching and hitting enter, you can launch any application in the same easy and quick way as on a Mac, and this is how I launch apps most of the time in elementary.