Page MenuHome

Make status bar symbols follow OS conventions
Open, NormalPublic

Description

As discussed here: https://devtalk.blender.org/t/status-bar-symbols-for-keys/

Currently, the status bar symbols don't follow OS conventions. Here's an overview of how we should differentiate the symbols, compiled by user vollstock:

KeyLinuxWindowsMac
Control[Ctrl][Ctrl]^
Alt / Option[Alt][Alt]
OSkey / Cmd
Shift

Once implemented, we could even extend this so that our menus use the same symbols also.

Details

Type
To Do

Event Timeline

I will probably look at this one next. Look like fun.

Some notes on this, for me or others...

With the status bar keymap drawing, there is an assumption that all keys can be shown within the size of an icon, so at 1X scale that's 14x14 of pixels inside an 18x18 square. This is enough space for most simple keys, and Mac has some recognizable symbols that can be used. But there are some cases where a key name cannot fit in 14 pixels. Best example is the Ctrl key when on PCs (Mac might use mac command which has an icon). But on PCs there isn't a recognizable icon and the best way to show it is simply "Ctrl". Ideally it would be shown (eventually) as "Strg" if in German for example. At a font size small enough to fit inside that space those words are not recognizable. Even "Esc" barely fits but has to be so small that it is hard to read - and being easy to read is the most important part of the exercise.

This means that a first part is to alter WM_window_modal_keymap_status_draw() in wm_event_system.c (around a call to UI_icon_from_keymap_item) so that it can handle a mixture of text and icons. That can differ by event and OS. Once done then interface_icons_event.c can be changed to only output icon versions if needed.