Opened 6 years ago
Closed 4 years ago
#2933 closed enhancement (wontfix)
Window management UI suggestions
Reported by: | Owned by: | pett | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | UI | Version: | |
Keywords: | Cc: | Elaine Meng, chimera-programmers | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Darwin-17.7.0-x86_64-i386-64bit ChimeraX Version: 0.92 (2020-03-06) Description This is not a "bug", strictly speaking, but as I try to do more and more movie making with ChimeraX I am increasingly frustrated with the window system set up. In fact, submitting these bug reports alone significantly raises my blood pressure! The main thing is I simply *hate* the system of having all the tool windows embedded within the main window. Among the issues are that: (1) every time a new tool window is generated, everything gets shuffled, and inevitably tool windows "scroll" out of view in the main window. This is exacerbated on a laptop like mine, with a small-ish screen. I like a setup where nothing moves around unless I ask it to. This gets me to (2)- when I try to drag the tool windows out of the main window to become floating windows, ChimeraX "sucks" them back in unless I manage to drag them very far out,usually most of the way off the screen! And as soon as I try to move/resize them, they "jump" back into the main window! Here is my simple request, which in my view could easily transform my ChimX user interface experience from horrible, to better than the original Chimera. Could you possibly add a checkbox to the "Windows" tab of the Preferences window that adds a "Force loating tool windows" option? The idea would be enforce "original Chimera" like behavior of the main window and tool windows, where each is its own separate entity. My issue with the original Chimera in this regard was that the "cycle windows" keystroke (command-tilda) - which I use all the time in all my other Mac programs- behaves like a random card shuffle rather than going through the windows in a predictable order. I notice that command tilda is even more broken in Chimera X; I can use it one time to switch focus back to the command window and then it stops doing anything until I click on something. If you added that suggested window behavior checkbox to ChimX, and fixed up command tilda to work properly and go through all the windows in a fixed, pre-determined order, I would go from constantly grumbling and griping to myself every time I use the program, to a state much more approaching bliss :) If, in addition, you were able to add a keystroke that always instantly shifted keyboard focus to the command line in the main window (something that I also can't consistently do even in the original Chimera) I would pretty much fall in love with the program on the spot! Log: UCSF ChimeraX version: 0.92 (2020-03-06) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX Error opening /Users/charlessindelar/chimerax_start/chimerax_start.py: invalid syntax (chimerax_start.py, line 1) > open > /Users/charlessindelar/Workworkwork/Talks/20_nih_job_talk/chimx_movies/AlFx_011x_7A_cc.mrc > format mrc Opened AlFx_011x_7A_cc.mrc, grid size 82,87,149, pixel 1.37,1.37,1.37, shown at level 5.65e-07, step 1, values float32 > volume #1 level 0.003079 > ui mousemode rightMode zoom > volume #1 level -0.001581 > volume #1 level 0.0005992 > volume #1 level 0.004191 > roll y 180 1 > view name v2 > roll y 180 1 > view name v1 > view v2 20 > view v2 100 > view v1 100 > view v2 100 > close session > open 1mkj format mmCIF fromDatabase pdb 1mkj title: Human Kinesin Motor Domain With Docked Neck Linker [more info...] Chain information for 1mkj #1 --- Chain | Description A | kinesin heavy chain Non-standard residues in 1mkj #1 --- ADP — adenosine-5'-diphosphate MG — magnesium ion SO4 — sulfate ion Unknown command: scale 0.5 > zoom 0.5 > move x -20 > move x -20 > close session > open 1mkj 1mkj title: Human Kinesin Motor Domain With Docked Neck Linker [more info...] Chain information for 1mkj #1 --- Chain | Description A | kinesin heavy chain Non-standard residues in 1mkj #1 --- ADP — adenosine-5'-diphosphate MG — magnesium ion SO4 — sulfate ion > open 1mkj 1mkj title: Human Kinesin Motor Domain With Docked Neck Linker [more info...] Chain information for 1mkj #2 --- Chain | Description A | kinesin heavy chain Non-standard residues in 1mkj #2 --- ADP — adenosine-5'-diphosphate MG — magnesium ion SO4 — sulfate ion > zoom 0.5 > move x -40 1 > view name v1 > roll y 180 1 > move x 80 1 > view name v2 > view v1 100 > view v2 100 > view > view > view > view > close session > open 1mkj 1mkj title: Human Kinesin Motor Domain With Docked Neck Linker [more info...] Chain information for 1mkj #1 --- Chain | Description A | kinesin heavy chain Non-standard residues in 1mkj #1 --- ADP — adenosine-5'-diphosphate MG — magnesium ion SO4 — sulfate ion > roll x 23 1 > roll y 46 1 > roll z 66 1 > zoom 0.5 > move x -40 1 > view name v1 > roll y 180 1 > move x 80 1 > view name v2 > view v1 100 > view v2 100 OpenGL version: 4.1 INTEL-10.36.19 OpenGL renderer: Intel(R) Iris(TM) Plus Graphics 655 OpenGL vendor: Intel Inc.
Change History (23)
comment:1 by , 6 years ago
Cc: | added |
---|---|
Component: | Unassigned → UI |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → accepted |
Summary: | ChimeraX bug report submission → UI suggestions |
Type: | defect → enhancement |
comment:2 by , 6 years ago
comment:3 by , 6 years ago
Conversely, many people have complained about the multiple separate windows of Chimera... but I definitely agree that inadvertently docking a window is really annoying. Here are a couple issues of mine, don't know if they also bother others:
(1) I accidentally doubleclick the top bar of an undocked tool and that will dock it even if it is marked undockable.
(2) showing and hiding a docked tool or docking/undocking a tool changes the size of my graphics window; i.e. reversing the operation does not put the size back to what it was before. I would rather have the size of the graphics window preserved than the overall window size.
comment:4 by , 6 years ago
Here's a summary of Chuck's and Elaine's requests:
C1) Have a setting so ChimeraX starts all tools as floating windows and will not dock them if dragged.
C2) Make the standard macOS shortcut Command-backtick cycle the focus through ChimeraX windows. (Currently it does nothing.)
C3) Make Command-backtick cycle focus in a predictable order.
E1) Make double click on floating tool title bar not dock the tool.
E2) Don't change the graphics window size when a new tool is docked.
comment:5 by , 6 years ago
Chuck, you missed one super annoying problem regarding floating windows -- they are always on top of the graphics windows. It makes it painful to have to move windows to uncover the graphics. Qt does not allow changing this but Eric has figured out how to patch the Qt C++ code to allow the windows to stack behind the main window. But we don't currently compile Qt and it is a monster, so adding this patch will be a long term maintenance headache, so we have not done it yet.
comment:6 by , 6 years ago
While I agree the ChimeraX window management is horrendous and desperately needs some attention, it helps to start knowing all the best ways to use it right now. One useful trick is to drag tool windows on top of each other -- then the become tabbed and you can click on the tabs to show the one you want.
Our goal should be that the user does not need to know any tricks -- they get a usable window layout by default.
comment:7 by , 6 years ago
Summary: | UI suggestions → Window management UI suggestions |
---|
comment:8 by , 6 years ago
More suggestions from Chuck:
... I started using Isolde
over the weekend and it's been amazing! I think this plugin really
demonstrates the power of ChimeraX - so cool that it enables such tools.
Doing this I learned a few more tricks for using ChimX, and thought
further about the UI. Now I think that I could pretty much maximize my
productivity/happiness with just several additional keyboard shortcuts.
Namely, did you guys ever discuss the possibility of doing something like
this:
<hot key #1, for example shift escape> to move all the tool panels in back
of the main window (or just disappearing them). Pressing again toggles to
move them to the front again.
<hot key #2, for example command-tilda> to cycle through all the tool
windows, in a consistent, pre-defined order. <shift hot key #2> would
reverse the cycle direction
<hot key #3, for example shift-return> toggles between full keyboard focus
in the main graphics window (arrow keys affect selection), to full focus
on the command line (arrow keys scroll through the command history).
Mainly, my goal in suggesting this is to minimize (or eliminate) the time
consuming and attention-distracting steps of moving the mouse to a click
on very specific area (command line, tool window partially or wholly
hidden, etc) in order to perform tasks that could be done by typing (like
activating a particular mode, turning on H-bonds, etc). As it stands I
spend a LOT of my time doing this, when I would rather be actually playing
with my molecules
Cheers!
Chuck
comment:9 by , 6 years ago
Summarizing Chuck's suggestions from the last comment:
C4) Have a hot key move all tool panels behind graphics, or in front of graphics.
C5) Have a hot key toggle focus between graphics window and command line (so arrow keys either promote selection or step through command history).
follow-up: 10 comment:10 by , 6 years ago
I would be perfectly happy (ecstatic, even!) if the hot key were to simply disappear the tool windows (and reappear them with a second press)- or, fancier, speed them off to the edges similar to the MacOS Expose "Show Desktop" (F11). This should be easily do-able without re-programming QT, right? (which I agree is a horrendous burden). So, to update Tom's summary of UI requests: C1) Have a setting so ChimeraX starts all tools as floating windows and will not dock them if dragged. C2) Make the standard macOS shortcut Command-backtick cycle the focus through ChimeraX ***TOOL*** windows. (Currently it does nothing.) C3) Make Command-backtick cycle focus in a predictable order. C4) Have a hot key ***DISAPPEAR*** tool panels, or ***REAPPEAR*** them. Alternatively, slide them to (almost?) all the way off screen like MacOS "Expose" F11 "Show Desktop". C5) Have a hot key toggle focus between graphics window and command line (so arrow keys either promote selection or step through command history). E1) Make double click on floating tool title bar not dock the tool. E2) Don't change the graphics window size when a new tool is docked. On 3/9/20, 7:23 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: #2933: UI suggestions -----------------------------------------+---------------------------- Reporter: charles.sindelar@… | Owner: Eric Pettersen Type: enhancement | Status: accepted Priority: normal | Milestone: Component: UI | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | -----------------------------------------+---------------------------- Comment (by Tom Goddard): Chuck, you missed one super annoying problem regarding floating windows -- they are always on top of the graphics windows. It makes it painful to have to move windows to uncover the graphics. Qt does not allow changing this but Eric has figured out how to patch the Qt C++ code to allow the windows to stack behind the main window. But we don't currently compile Qt and it is a monster, so adding this patch will be a long term maintenance headache, so we have not done it yet. -- Ticket URL: <https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2933%23comment%3A5&data=02%7C01%7Ccharles.sindelar%40yale.edu%7C6dfa03d75e554cb6fbf208d7c480e981%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637193930263982778&sdata=YOqEHMoM9WGJLUktEQqjcScRwhoBcWwhkEVKc5PEohA%3D&reserved=0> ChimeraX <https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=02%7C01%7Ccharles.sindelar%40yale.edu%7C6dfa03d75e554cb6fbf208d7c480e981%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637193930263982778&sdata=NcAbEc2V%2BukqOU%2BDczyAcKGmADCEZJzKgOz6l1fxRRk%3D&reserved=0> ChimeraX Issue Tracker
follow-up: 11 comment:11 by , 6 years ago
On 3/9/20, 7:27 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: Comment (by Tom Goddard): While I agree the ChimeraX window management is horrendous and desperately needs some attention, it helps to start knowing all the best ways to use it right now. One useful trick is to drag tool windows on top of each other -- then the become tabbed and you can click on the tabs to show the one you want. Our goal should be that the user does not need to know any tricks -- they get a usable window layout by default. This is a neat trick! So I guess I would amend the list one more time to include the tabbed option, which seems fantastic- C1) Have a setting so ChimeraX starts all tools as floating windows and will not dock them if dragged. C2) Make the standard macOS shortcut Command-backtick cycle the focus through ChimeraX ***TOOL*** windows *** INCLUDING TO CYCLE THE FOCUS THROUGH ANY TABS IF PRESENT*** (Currently it does nothing.) C3) Make Command-backtick cycle focus in a predictable order. C4) Have a hot key ***DISAPPEAR*** tool panels, or ***REAPPEAR*** them. Alternatively, slide them to (almost?) all the way off screen like MacOS "Expose" F11 "Show Desktop". C5) Have a hot key toggle focus between graphics window and command line (so arrow keys either promote selection or step through command history). E1) Make double click on floating tool title bar not dock the tool. E2) Don't change the graphics window size when a new tool is docked.
comment:12 by , 5 years ago
I have a question about C1 ("Have a setting so ChimeraX starts all tools as floating windows and will not dock them if dragged"). Clearly it should not apply to the Toolbar and Command Line. Also clearly it should apply to tools that the user starts "by hand" from the Tools menu and whatnot. What about auto-starting tools? Should they also obey the setting, or should they just honor the normal per-tool dockable/undockable setting that they have? Seems like it should be the latter...
comment:14 by , 5 years ago
Okay, I do have another legitimate question. If a tool's default starting position was saved as being docked with another tool, and that other tool is currently docked and this auto-float setting is on, does the new tool window start out floating, or start out tabbed with the docked window?
comment:15 by , 5 years ago
I lean towards tabbed, since I don't have to change any code for that. :-)
follow-up: 16 comment:16 by , 5 years ago
Hi guys! Glad to see you still thinking about the UI. I really like the tabbed toolbar option. Can I use this opportunity to "up-vote" two of my previous hotkey suggestions? (1) hotkey equivalent to clicking the lower-right corner "zoom/hide tools" button next to the lightning bolt. I use it a lot but takes effort and concentration to click on that tiny thing. Alt-Z? (2) keyboard equivalent to cycle through the tabbed toolbars. Alt-backtick? Cheers! -----Original Message----- From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Tuesday, January 26, 2021 6:24 PM Cc: Sindelar, Charles <charles.sindelar@yale.edu>; chimera-programmers@cgl.ucsf.edu; meng@cgl.ucsf.edu; pett@cgl.ucsf.edu Subject: Re: [ChimeraX] #2933: Window management UI suggestions #2933: Window management UI suggestions -----------------------------------------+---------------------------- Reporter: charles.sindelar@... | Owner: Eric Pettersen Type: enhancement | Status: accepted Priority: normal | Milestone: Component: UI | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | -----------------------------------------+---------------------------- Comment (by Eric Pettersen): I lean towards tabbed, since I don't have to change any code for that. :-) -- Ticket URL: <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2933%23comment%3A15&data=04%7C01%7Ccharles.sindelar%40yale.edu%7Ccf1ec99ab4d94c8e574608d8c2517660%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637473002419380175%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=WrD7TFiW7zNcGO0KkSy1mKPTvMZIma%2FWOoKZ4pshYs0%3D&reserved=0> ChimeraX <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=04%7C01%7Ccharles.sindelar%40yale.edu%7Ccf1ec99ab4d94c8e574608d8c2517660%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637473002419380175%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=EKnRdnDWazm5ysEVivgWsEpIq8TUboAQakw5P0fSjK8%3D&reserved=0> ChimeraX Issue Tracker
comment:17 by , 5 years ago
Okay, I pushed out the preference as is. It will be in the next working daily build.
Chuck, would it help if there were a command equivalent for the hide-tools button, so that you could use the "functionkey" command to assign it to a function key?
follow-up: 18 comment:18 by , 5 years ago
Yes!! -----Original Message----- From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Tuesday, January 26, 2021 8:41 PM Cc: Sindelar, Charles <charles.sindelar@yale.edu>; chimera-programmers@cgl.ucsf.edu; meng@cgl.ucsf.edu; pett@cgl.ucsf.edu Subject: Re: [ChimeraX] #2933: Window management UI suggestions #2933: Window management UI suggestions -----------------------------------------+---------------------------- Reporter: charles.sindelar@... | Owner: Eric Pettersen Type: enhancement | Status: accepted Priority: normal | Milestone: Component: UI | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | -----------------------------------------+---------------------------- Comment (by Eric Pettersen): Okay, I pushed out the preference as is. It will be in the next working daily build. Chuck, would it help if there were a command equivalent for the hide-tools button, so that you could use the "functionkey" command to assign it to a function key? -- Ticket URL: <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2933%23comment%3A17&data=04%7C01%7Ccharles.sindelar%40yale.edu%7C91af263af8414eab82bf08d8c264a995%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637473084888583341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=gPYM7RK4CVhKoZZ3imdG0%2FqY%2BtTynpk9pIxr6NaEMIc%3D&reserved=0> ChimeraX <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=04%7C01%7Ccharles.sindelar%40yale.edu%7C91af263af8414eab82bf08d8c264a995%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637473084888583341%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=0SsXzBAAu2gcggek9BrFf%2BPpMMW51GzhLHrvi6S0Lko%3D&reserved=0> ChimeraX Issue Tracker
comment:19 by , 5 years ago
Okay, tomorrow's build will have a "ui windowfill" command, and specifically "ui windowfill toggle" would be what you would assign to a function key.
--Eric
comment:20 by , 5 years ago
Implemented hide/show of all tool windows with shift-escape hotkey, and cycling through tool windows with command-} [and backwards with command-{]. Those are the standard Qt keys for that (also, Forward/Back keys if your keyboard has them). Had a dickens of a time trying to get command-tilde in the app and eventually gave up and used the keys Qt wanted me to use.
These won't show up until we branch our repository for the upcoming 1.2 release, sometime next week.
follow-up: 21 comment:21 by , 5 years ago
Excited to try this! -----Original Message----- From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Wednesday, April 7, 2021 9:16 PM Cc: Sindelar, Charles <charles.sindelar@yale.edu>; chimera-programmers@cgl.ucsf.edu; meng@cgl.ucsf.edu; pett@cgl.ucsf.edu Subject: Re: [ChimeraX] #2933: Window management UI suggestions #2933: Window management UI suggestions -----------------------------------------+---------------------------- Reporter: charles.sindelar@... | Owner: Eric Pettersen Type: enhancement | Status: accepted Priority: normal | Milestone: Component: UI | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | -----------------------------------------+---------------------------- Comment (by Eric Pettersen): Implemented hide/show of all tool windows with shift-escape hotkey, and cycling through tool windows with command-} [and backwards with command-{]. Those are the standard Qt keys for that (also, Forward/Back keys if your keyboard has them). Had a dickens of a time trying to get command-tilde in the app and eventually gave up and used the keys Qt wanted me to use. These won't show up until we branch our repository for the upcoming 1.2 release, sometime next week. -- Ticket URL: <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplato.cgl.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F2933%23comment%3A20&data=04%7C01%7Ccharles.sindelar%40yale.edu%7Cbb3d7b446c0f47e3660108d8fa2bd4c4%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637534413452567055%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2BKHeejUl3sskkDxQLF5h0Nwxv1m4mlaLLWn6nRaHGEA%3D&reserved=0> ChimeraX <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=04%7C01%7Ccharles.sindelar%40yale.edu%7Cbb3d7b446c0f47e3660108d8fa2bd4c4%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637534413452567055%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vocg44pRreJK6ARIbkFde%2BWEODQnokXpSLameq8TtSc%3D&reserved=0> ChimeraX Issue Tracker
comment:22 by , 5 years ago
Okay, the changes I mentioned will be in tomorrow's daily build (if the build works).
comment:23 by , 4 years ago
Resolution: | → wontfix |
---|---|
Status: | accepted → closed |
E1) Make double click on floating tool title bar not dock the tool.
E2) Don't change the graphics window size when a new tool is docked.
As far as I can tell, there is nothing useful I can do about E1 without intercepting every event delivered to the entire interface and tediously checking whether it's a double click on a title bar. Ugh.
E2 occurs because the docked tool has a wider minimum width than the existing docked tools and makes the graphics narrower (rather than widening the main window). Again, there is nothing easy I can do to rectify this, or correct it afterward.
Hi Chuck,
--Eric