Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upConsider support for different cursor shapes #1551
Comments
marmarek
added this to the Release 3.2 milestone
Dec 27, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mfc
Jan 4, 2016
Member
at congress it was suggested that cursor changing be allowed when a vm is in full-screen mode as a UX/security compromise.
|
at congress it was suggested that cursor changing be allowed when a vm is in full-screen mode as a UX/security compromise. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
bnvk
Jan 4, 2016
While it shouldn't be a problem inside the same VM, it may be complex to do it right - to not interfere with windows of other VMs.
Getting the cursor to change within the same VM will be a significant UX improvement. A whole range of GUI apps like graphic design programs, IDE's etc... all suffer from this fixed pointer cursor which make simple things like re-sizing a window pane hard to do!
at congress it was suggested that cursor changing be allowed when a vm is in full-screen mode as a UX/security compromise.
Disallowing in full-screen, but allowing in non-full-screen mode, is still a significant UX improvement. However, if we are able to (and proceed) in doing that, we should try to trigger an overlay that communicates this to user when toggling between full-screen and non mode!
bnvk
commented
Jan 4, 2016
Getting the cursor to change within the same VM will be a significant UX improvement. A whole range of GUI apps like graphic design programs, IDE's etc... all suffer from this fixed pointer cursor which make simple things like re-sizing a window pane hard to do!
Disallowing in full-screen, but allowing in non-full-screen mode, is still a significant UX improvement. However, if we are able to (and proceed) in doing that, we should try to trigger an overlay that communicates this to user when toggling between full-screen and non mode! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
v6ak
Jan 8, 2016
In-window cursors
What about just providing a way to hide the cursor when it is on app's window? Custom cursors would be then implemented on top of this feature in the VM agent.
- + Simple design for dom0.
- + Cursors do not open a way to show arbitrary content outside of the window, as they are shown within the window only.
- - Having mouse at edge of some window would cause clipped cursor.
Cursor classes
Another option is having some predefined cursor types (e.g. hand, standard pointer, cross, …).
- + Simple design for dom0.
- + Cursors do not open a way to show arbitrary content outside of the window, as they come form dom0 and are trusted.
- + Unifies cursor set.
- + No issues with cursor at edge.
- - No support for custom cursors.
- - Might require some more effort for various systems in AppVMs.
v6ak
commented
Jan 8, 2016
In-window cursorsWhat about just providing a way to hide the cursor when it is on app's window? Custom cursors would be then implemented on top of this feature in the VM agent.
Cursor classesAnother option is having some predefined cursor types (e.g. hand, standard pointer, cross, …).
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jan 8, 2016
Member
On Fri, Jan 08, 2016 at 12:43:44PM -0800, Vít Šesták wrote:
In-window cursors
What about just providing a way to hide the cursor when it is on app's window? Custom cursors would be then implemented on top of this feature in the VM agent.
- + Simple design for dom0.
- + Cursors do not open a way to show arbitrary content outside of the window, as they are shown within the window only.
- - Having mouse at edge of some window would cause clipped cursor.
From the security point of view, I like this idea. But from the
usability POV I'm afraid it would be horrible. Even small lag of cursor
position would be really frustrating. In early Windows Tools we had both
cursors visible (dom0 and windows) and it was bad - VM cursor was
lagging, even when click events were delivered correctly.
Also some technical problem would be that cursor is not part of the
window composition buffer (this is what is directly mapped as window
content in dom0). So it would be quite complex at VM side - not
affecting security, but most likely performance.
Cursor classes
Another option is having some predefined cursor types (e.g. hand, standard pointer, cross, …).
- + Simple design for dom0.
- + Cursors do not open a way to show arbitrary content outside of the window, as they come form dom0 and are trusted.
- + Unifies cursor set.
- + No issues with cursor at edge.
- - No support for custom cursors.
- - Might require some more effort for various systems in AppVMs.
I know exactly nothing about cursor shapes in X11 protocol. If it is
possible to extract such information, it would be good. If not, that
would require some guessing (OCSR - "optical cursor shape recognition"
;) ), not reliable. Even if that would be possible only at some higher
level (like for GTK based applications), that would be still an
improvement.
Since it is possible to set cursor theme globally, I guess it is
possible to extract abstract information about desired cursor shape.
Quick duckduckgo returns this:
http://stackoverflow.com/questions/6751928/set-x11-cursor-to-arrow
Looks promising. Especially the part about setting it as window property
- it would mean that X server would handle switching its shape, so no
need to do that manually on enter/leave events (which would be really
fragile, probably a showstopper).
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
On Fri, Jan 08, 2016 at 12:43:44PM -0800, Vít Šesták wrote:
From the security point of view, I like this idea. But from the Also some technical problem would be that cursor is not part of the
I know exactly nothing about cursor shapes in X11 protocol. If it is Since it is possible to set cursor theme globally, I guess it is Quick duckduckgo returns this: Looks promising. Especially the part about setting it as window property
Best Regards, |
marmarek
added
the
help wanted
label
May 4, 2016
marmarek
modified the milestones:
Release 4.0,
Release 3.2
May 4, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
added a commit
that referenced
this issue
May 31, 2016
added a commit
that referenced
this issue
Jun 7, 2016
andrewdavidwong
added
the
UX
label
Mar 6, 2017
marmarek
modified the milestones:
Release 4.1,
Release 4.0
Jul 31, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Joeviocoe
Sep 20, 2017
Does this issue being labeled "Help Wanted" mean that it has the lowest priority and nobody from the dev team is working on it?
Joeviocoe
commented
Sep 20, 2017
|
Does this issue being labeled "Help Wanted" mean that it has the lowest priority and nobody from the dev team is working on it? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
v6ak
Sep 20, 2017
v6ak
commented
Sep 20, 2017
|
I don't think so. It has major priority and assigned milestone. It however seems undecided which way to go.
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
andrewdavidwong
Sep 20, 2017
Member
Does this issue being labeled "Help Wanted" mean that it has the lowest priority and nobody from the dev team is working on it?
It does mean that the Qubes devs do not expect to have time to work on it in the foreseeable future. However, "priority" is somewhat orthogonal. An issue can have a high priority even if the Qubes devs can't work on it. In that case, we really want someone to help!
It does mean that the Qubes devs do not expect to have time to work on it in the foreseeable future. However, "priority" is somewhat orthogonal. An issue can have a high priority even if the Qubes devs can't work on it. In that case, we really want someone to help! |
marmarek commentedDec 27, 2015
https://groups.google.com/d/msgid/qubes-devel/20151226141511.GA95308%40cowbell.employees.org
Having control over cursor shape it may mislead the user actions. While it shouldn't be a problem inside the same VM, it may be complex to do it right - to not interfere with windows of other VMs.
In short: without prior proper design, which would be simple and simple to implement, we don't want to have such feature, at least not by default.
But generally it is something to consider, because: