After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 783550 - windowManager: Add a switcher for mutter's switch-monitor keybinding
windowManager: Add a switcher for mutter's switch-monitor keybinding
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 600774 (view as bug list)
Depends on: 781906
Blocks:
 
 
Reported: 2017-06-08 16:02 UTC by Rui Matos
Modified: 2017-08-22 16:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
switcherPopup: Add support for modifier-less keybinding navigation (4.06 KB, patch)
2017-06-08 16:02 UTC, Rui Matos
committed Details | Review
windowManager: Add a switcher for mutter's switch-monitor keybinding (4.17 KB, patch)
2017-06-08 16:03 UTC, Rui Matos
none Details | Review
how it looks (1.75 MB, image/png)
2017-06-09 14:07 UTC, Rui Matos
  Details
windowManager: Add a switcher for mutter's switch-monitor keybinding (5.31 KB, patch)
2017-08-09 17:25 UTC, Rui Matos
committed Details | Review

Description Rui Matos 2017-06-08 16:02:44 UTC
The main patch here is more of a RFC for design feedback at this
point, that's why I didn't split it to a new file yet.
Comment 1 Rui Matos 2017-06-08 16:02:49 UTC
Created attachment 353402 [details] [review]
switcherPopup: Add support for modifier-less keybinding navigation

This drops the requirement that SwitcherPopups need a modifier based
keybinding to work.

The existing behavior for modifier based keybindings is kept but if
the popup is triggered from a no modifiers keybinding, instead of
finishing when the modifier is released, we use a timer that
automatically finishes the popup. The timer is reset on every key
release to allow navigation to happen.
Comment 2 Rui Matos 2017-06-08 16:03:00 UTC
Created attachment 353403 [details] [review]
windowManager: Add a switcher for mutter's switch-monitor keybinding
Comment 3 Rui Matos 2017-06-09 14:07:43 UTC
Created attachment 353463 [details]
how it looks
Comment 4 Allan Day 2017-06-14 09:47:23 UTC
This will need new icons. I can try to help here, but it would be better if one of our icon artists could take a look. There is some overlap with the icons used in the latest display settings here:

https://wiki.gnome.org/Design/SystemSettings/Displays#Tentative_Guidelines

I find the strings a little hard to parse and it would be good to try and make them as consistent as possible with the terminology that we have elsewhere. Perhaps something like:

 * Mirror
 * Join Displays
 * External Only
 * Built-in Only
Comment 5 Rui Matos 2017-08-09 17:25:07 UTC
Created attachment 357282 [details] [review]
windowManager: Add a switcher for mutter's switch-monitor keybinding

--

* moved into a new file
* changed the labels as aday suggested and made them translatable
* made it use the icons jimmac pushed to adwaita-icon-theme
Comment 6 Florian Müllner 2017-08-09 22:06:25 UTC
Review of attachment 353402 [details] [review]:

LGTM

::: js/ui/switcherPopup.js
@@ +21,2 @@
 const DISABLE_HOVER_TIMEOUT = 500; // milliseconds
+const NO_MODS_TIMEOUT = 1500; // milliseconds

Should probably be 'var' now as the constant above, in case some other module wants to reuse it ...
Comment 7 Florian Müllner 2017-08-09 22:06:28 UTC
Review of attachment 357282 [details] [review]:

::: js/ui/switchMonitor.js
@@ +15,3 @@
+
+    _init: function() {
+        let items = [ { icon:  'view-mirror-symbolic',

Style nit - odd whitespace: [ { stuff }]
Either put a space between bracket and braces or don't (the latter is predominantly used afaics)
Comment 8 André Klapper 2017-08-18 16:21:32 UTC
As the strings have been changed (Mirror | Join Displays | External Only | Built-in Only) I assume rendering has been also tested with way longer strings (translations), maybe not having whitespaces (as some languages are funny)?

Those strings might welcome translator comments that they refer to monitors (see
https://wiki.gnome.org/TranslationProject/DevGuidelines/Use%20comments ) if you don't want noun translations of "mirror". (To be fair though, I don't see such translator comments in gnome-control-center either.)
Comment 9 Rui Matos 2017-08-21 10:12:21 UTC
(In reply to André Klapper from comment #8)
> As the strings have been changed (Mirror | Join Displays | External Only |
> Built-in Only) I assume rendering has been also tested with way longer
> strings (translations), maybe not having whitespaces (as some languages are
> funny)?
> 
> Those strings might welcome translator comments that they refer to monitors
> (see
> https://wiki.gnome.org/TranslationProject/DevGuidelines/Use%20comments ) if
> you don't want noun translations of "mirror". (To be fair though, I don't
> see such translator comments in gnome-control-center either.)

Added this kind of comment for each of them:

/* Translators: this is for display mirroring i.e. cloning.
 * Try to keep it under around 15 characters.
 */
Comment 10 Rui Matos 2017-08-22 08:55:27 UTC
Got 2 release team acks:

https://mail.gnome.org/archives/gnome-i18n/2017-August/msg00049.html
https://mail.gnome.org/archives/gnome-i18n/2017-August/msg00061.html

Attachment 353402 [details] pushed as c899453 - switcherPopup: Add support for modifier-less keybinding navigation
Attachment 357282 [details] pushed as b35dfc8 - windowManager: Add a switcher for mutter's switch-monitor keybinding
Comment 11 Bastien Nocera 2017-08-22 11:31:40 UTC
*** Bug 600774 has been marked as a duplicate of this bug. ***