-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider support for different cursor shapes #1551
Comments
at congress it was suggested that cursor changing be allowed when a vm is in full-screen mode as a UX/security compromise. |
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! |
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, …).
|
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, |
Does this issue being labeled "Help Wanted" mean that it has the lowest priority and nobody from the dev team is working on it? |
I don't think so. It has major priority and assigned milestone. It however seems undecided which way to go.
|
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! 🙂 |
Is there any plans to have this for 4.1? Would increase usability for a lot of apps and web pages. |
It is something that indeed would align very well the goals of 4.1 (improving usability). Right now, there is (at least) one technical difficulty: how to get current cursor shape. I can find a dozen of ways to set the cursor shape (libXcursor, XCreateWindow parameter, XSetWindowAttributes, ...), but it looks like none of them provide matching functionality to retrieve what was set. Any ideas? |
I spent a couple hours searching to see if I could find any projects that retrieved that information using some type of generalize-able methods and I could not identify any easy out of the box way to do it either, unfortunately. |
Since there is no obvious way to retrieve cursor shape the only option seems to be intercepting cursor-setting calls mentioned above using ld_preload. Pretty sure a few intercepts and qubes gui protocol extension can solve this. |
Oyy, this is important. Flagging to possibly discuss in a forthcoming UX meeting #5523 . |
Hey gang: So... I just had a lovely ice-bucket moment, realizing there is no multi-cursor state support within VMs, on Qubes. I'd created this issue for the SecureDrop workstation client, which I just learned we cannot implement. So: sad-panda for me, but I wanted to ask y'all... how feesable is it to do this, and might it be possible to prioritize in a forthcoming release? As a global usability thing, it's a pretty big deal. As with my other requests to date, purely making them as "nina," not as "person on SecureDrop team." |
See QubesOS/qubes-issues#1551. The message contains a cursor ID to be set for a given window.
See QubesOS/qubes-issues#1551. I use the Xfixes extension to subscribe to cursor change events. See SelectCursorInput and CursorNotify in the Xfixes specification: https://cgit.freedesktop.org/xorg/proto/fixesproto/plain/fixesproto.txt The returned "cursor name" can be empty, and in general doesn't have to be meaningful. However, it practice the names are standard X11 "cursor font" names: https://tronche.com/gui/x/xlib/appendix/b/ One exception to that I found is Chromium, which uses its own set of cursor names. We can recognize these as well.
See QubesOS/qubes-issues#1551. The message contains a cursor ID to be set for a given window.
See QubesOS/qubes-issues#1551. I use the Xfixes extension to subscribe to cursor change events. See SelectCursorInput and CursorNotify in the Xfixes specification: https://cgit.freedesktop.org/xorg/proto/fixesproto/plain/fixesproto.txt The returned "cursor name" can be empty, and in general doesn't have to be meaningful. However, it practice the names are standard X11 "cursor font" names: https://tronche.com/gui/x/xlib/appendix/b/ One exception that I found is Chromium, which uses its own set of cursor names. We can recognize these as well. Use binary search (bsearch() from stdlib) for looking up the cursor by name, to avoid traversing ~100 entries one by one.
@pwmarcz — that looks nice :- ) does that (your screencast) mean that different cursor shapes are available today in Qubes 4.1? Anyone knows if there're any plans to backported to 4.0 some day? Or, would it be a crazy idea to upgrade to 4.1, just to get these custom cursors, although 4.1 it's not yet released? Maybe I could do that on 1 out of 2 laptops, hmm. ( Currently I try to resize different windows in an IDE, click and drag the border between the windows ... doesn't work, I try again and again, but fail to hit the tiny press-&-drag-mouse-resize area, ... I give up, and continue working although the inside-IDE window is too small. ) |
Yes, they were merged to 4.1 a few months ago. No plans to backport to 4.0,
I think - the GUI protocol changed a bit since, so it would complicate
things too much.
Regarding how ready / stable 4.1 is right now, I'd ask @marmarek :) But
I've been using it for some time now.
|
Please help me better understand my related problems:
|
@jamke I think it's better that you file a new issue for each problem that you encountered. |
@resulin yes, but first I have to understand - do I have a problem at the first bullet-point or not? Is the cursor excepted to change itself if user set custom cursor in Xfce's Settings Manager? |
Please note that the issue tracker (qubes-issues) is not intended to be a place for fielding questions (especially on closed issues, unless there is a reason to reopen them). Instead, we have other venues meant for asking questions, asking for help, and having discussions. (By contrast, the issue tracker is more of a technical tool intended to support our developers in their work.) Thank you for your understanding! |
Information for people who could find this topic and my messages above: |
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:
The text was updated successfully, but these errors were encountered: