Skip to content
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

Add "open in disposable yes/no" action to clicking on URLs in Global Config #8171

Open
marmarta opened this issue May 4, 2023 · 12 comments · May be fixed by QubesOS/qubes-desktop-linux-manager#226
Assignees
Labels
C: manager/widget good first issue This is a recommended issue for first-time contributors. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience

Comments

@marmarta
Copy link
Member

marmarta commented May 4, 2023

Qubes OS release (if applicable)

r4.2

Brief summary

When clicking on links to docs in Global Config, add a question with "open in disposable: yes/no/always open in disposable".
relevant discussion: QubesOS/qubes-desktop-linux-manager#150

@marmarta marmarta added T: task Type: task. An action item that is neither a bug nor an enhancement. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels May 4, 2023
@marmarta marmarta self-assigned this May 4, 2023
@marmarek
Copy link
Member

marmarek commented May 4, 2023 via email

@andrewdavidwong andrewdavidwong added T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. C: manager/widget and removed T: task Type: task. An action item that is neither a bug nor an enhancement. labels May 4, 2023
@andrewdavidwong andrewdavidwong added this to the Release 4.2 milestone May 4, 2023
@andrewdavidwong andrewdavidwong removed this from the Release 4.2 milestone Aug 13, 2023
@marmarta marmarta removed their assignment Mar 6, 2024
@marmarta marmarta added the good first issue This is a recommended issue for first-time contributors. label Oct 2, 2024
@alimirjamali
Copy link

alimirjamali commented Oct 3, 2024

What about having a dialog with two radio buttons with these actions:

┌───────────────────────────────────────────────────────┐
│ Url:                                                  │
│ ┌───────────────────────────────────────────────────┐ │
│ │ http://www.qubes-os.org/...                       │ │
│ └───────────────────────────────────────────────────┘ │
│ ┌───┐                                                 │
│ │ ✓ │ Save as default action                          │
│ └───┘                                                 │
│ ┌──────────────────┐ ┌──────────────────┐ ┌─────────┐ │
│ │Open in Disposable│ │Copy to Clibboard │ │ Cancel  │ │
│ └──────────────────┘ └──────────────────┘ └─────────┘ │
└───────────────────────────────────────────────────────┘

And using a dom0 feature to store the default action global-config-help-action = disposable, clipboard, ask.

And the option to be configurable in URL Handling tab?

@andrewdavidwong andrewdavidwong added the ux User experience label Oct 3, 2024
@alimirjamali
Copy link

I am considering adding another option to the above dialog. It would be Open via anon-whonix. After this is done, most of it could be reused to make an independent utility to associate HTTP/HTTPS urls of dom0 with it (like a virtual browser). So people could open XFCE and other dom0 program's online helps with it. I believe there is an open issue about it (user asking for a way to open XFCE online helps).

@marmarta
Copy link
Member Author

So, I really like the window idea (and anon-whonix one), with two caveats/ideas:

  • when adding this to url handling section, maybe we can also add there which dispvm template to use? Or keep using default dispvm, this is a rough idea
  • with anon-whonix, the problem I think is that the user might have any amount of Tor VMs; I'm not sure what will be the best way of choosing one here

@alimirjamali
Copy link

  • when adding this to url handling section, maybe we can also add there which dispvm template to use? Or keep using default dispvm, this is a rough idea

Both ideas are possible. I believe it is better to keep it simple at the beginning (using the default DispVM Template) and improve it further later (adding a combo box with all available DispVM templates). The latter solution will somehow automatically fix the next point (since users will be able to use whonix-workstation-xx-dvm).

  • with anon-whonix, the problem I think is that the user might have any amount of Tor VMs; I'm not sure what will be the best way of choosing one here

Until the combo box idea is being implemented, program could simply check for the existence of anon-whonix. And disable its button if it does not exist.

@marmarta
Copy link
Member Author

That's all a good idea - start with default dispvm template and expand later.

@alimirjamali
Copy link

This is what I have ended up so far. The ComboBox should show the Qube icons and label color. It would be easy to add.

virtual_browser
virtual_browser_2

@marmarta
Copy link
Member Author

Looks great, with one small caveat: the URL here looks editable, I don't think this is a good idea? As in, it doesn't have to be editable and editability always adds a chance of footguns :)

@alimirjamali
Copy link

Looks great, with one small caveat: the URL here looks editable, I don't think this is a good idea? As in, it doesn't have to be editable and editability always adds a chance of footguns :)

It is not editable. It has editable property set to False in glade file. I made it a GtkEntry rather than a GtkLabel to allow users copy/past it to local (GUIVM) clipboard if they wish to do so. Overall this is going to be simple. For changing the (saved) default behaviour, it should go to Global Config->URL Handling?

@marmarta
Copy link
Member Author

You can have a label with selectable property, to enable the copying without the "looks like it should be editable" look ( https://docs.gtk.org/gtk3/method.Label.set_selectable.html )

@marmarta
Copy link
Member Author

And yeah, URL handling is a good place for this

alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Oct 29, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
@alimirjamali
Copy link

alimirjamali commented Oct 29, 2024

PR is almost ready. It only needs feature saving code of Global Config.

Here is a demo (the browser finally opened in DispVM after I stopped recording. This system is slow):

qubes-virtual-browser.mp4

alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Oct 29, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Oct 29, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 5, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 5, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 5, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 6, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 6, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 10, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 10, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 10, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 10, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 10, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
alimirjamali added a commit to alimirjamali/qubes-desktop-linux-manager that referenced this issue Nov 21, 2024
A new `qubes-virtual-browser` tool is made to handle URLs within dom0
and/or GUIVMs. It could safely open URLs via DisposableVMs, copy them to
global clipboard or discard them.

resolves: QubesOS/qubes-issues#8171
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: manager/widget good first issue This is a recommended issue for first-time contributors. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. ux User experience
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants