qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] ui/cocoa: user friendly characters for release mouse


From: Christian Schoenebeck
Subject: Re: [PATCH] ui/cocoa: user friendly characters for release mouse
Date: Thu, 29 Dec 2022 10:24:57 +0100

On Tuesday, December 27, 2022 5:15:31 PM CET Christian Schoenebeck wrote:
> While mouse is grabbed, window title contains a hint for the user what
> keyboard keys to press to release the mouse. Make that hint text a bit
> more user friendly for a Mac user:
> 
>  - Replace "Ctrl" and "Alt" by appropriate symbols for those keyboard
>    keys typically displayed for them on a Mac (encode those symbols by
>    using UTF-8 characters).
> 
>  - Drop " + " in between the keys, as that's not common on macOS for
>    documenting keyboard shortcuts.
> 
>  - Convert lower case "g" to upper case "G", as that's common on macOS.
> 
>  - Add one additional space at start and end of key stroke set, to
>    visually separate the key strokes from the rest of the text.
> 
> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> ---
>  ui/cocoa.m | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)

Screenshot attached how title bar looks like (on Mac hosts) after this change.

> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index e915c344a8..289a2b193e 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -72,6 +72,9 @@
>  
>  #define cgrect(nsrect) (*(CGRect *)&(nsrect))
>  
> +#define UC_CTRL_KEY "\xe2\x8c\x83"
> +#define UC_ALT_KEY "\xe2\x8c\xa5"
> +
>  typedef struct {
>      int width;
>      int height;
> @@ -1135,9 +1138,9 @@ - (void) grabMouse
>  
>      if (!isFullscreen) {
>          if (qemu_name)
> -            [normalWindow setTitle:[NSString stringWithFormat:@"QEMU %s - 
> (Press ctrl + alt + g to release Mouse)", qemu_name]];
> +            [normalWindow setTitle:[NSString stringWithFormat:@"QEMU %s - 
> (Press  " UC_CTRL_KEY " " UC_ALT_KEY " G  to release Mouse)", qemu_name]];
>          else
> -            [normalWindow setTitle:@"QEMU - (Press ctrl + alt + g to release 
> Mouse)"];
> +            [normalWindow setTitle:@"QEMU - (Press  " UC_CTRL_KEY " " 
> UC_ALT_KEY " G  to release Mouse)"];
>      }
>      [self hideCursor];
>      CGAssociateMouseAndMouseCursorPosition(isAbsoluteEnabled);
> 

Attachment: mac_release_mouse.jpg
Description: JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]