Quick Quality-of-Life Improvements revisions

Go back to topic: Quick Quality-of-Life Improvements

  1. v49 anchor; v49 full version
  2. v48 anchor; v48 full version
  3. v47 anchor; v47 full version
  4. v46 anchor; v46 full version
  5. v45 anchor; v45 full version
  6. v44 anchor; v44 full version
  7. v43 anchor; v43 full version
  8. v42 anchor; v42 full version
  9. v41 anchor; v41 full version
  10. v40 anchor; v40 full version
  11. v39 anchor; v39 full version
  12. v38 anchor; v38 full version
  13. v37 anchor; v37 full version
  14. v36 anchor; v36 full version
  15. v35 anchor; v35 full version
  16. v34 anchor; v34 full version
  17. v33 anchor; v33 full version
  18. v32 anchor; v32 full version
  19. v31 anchor; v31 full version
  20. v30 anchor; v30 full version
  21. v29 anchor; v29 full version
  22. v28 anchor; v28 full version
  23. v27 anchor; v27 full version
  24. v26 anchor; v26 full version
  25. v25 anchor; v25 full version
  26. v24 anchor; v24 full version
  27. v23 anchor; v23 full version
  28. v22 anchor; v22 full version
  29. v21 anchor; v21 full version
  30. v20 anchor; v20 full version
  31. v19 anchor; v19 full version
  32. v18 anchor; v18 full version
  33. v17 anchor; v17 full version
  34. v16 anchor; v16 full version
  35. v15 anchor; v15 full version
  36. v14 anchor; v14 full version
  37. v13 anchor; v13 full version
  38. v12 anchor; v12 full version
  39. v11 anchor; v11 full version
  40. v10 anchor; v10 full version
  41. v9 anchor; v9 full version
  42. v8 anchor; v8 full version
  43. v7 anchor; v7 full version
  44. v6 anchor; v6 full version
  45. v5 anchor; v5 full version
  46. v4 anchor; v4 full version
  47. v3 anchor; v3 full version
  48. v2 anchor; v2 full version

Revision #49

Edited on
2025-01-25
Edited by user
fiftyfourthparallel
[/details] [/details]   **Performance** - [Reduce VM boot time](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/43) - **Debian 12 only** - [TemplateVM] Enter `sudo cp /lib/systemd/system/systemd-binfmt.service /etc/systemd/system`, then delete `After=local-fs.target` from `/etc/systemd/system/systemd-binfmt.service` @renehoj
**Performance** - [Reduce VM boot time](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/43) - **Debian 12 only** - [TemplateVM] Enter `sudo cp /lib/systemd/system/systemd-binfmt.service /etc/systemd/system`, then delete `After=local-fs.target` from `/etc/systemd/system/systemd-binfmt.service` @renehoj - [Increase CPU priority of selected window's VM](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/107) - [dom0] Create `/bin/reneboost.sh` (expandable), make it executable (`chmod +x`), then map to shortcut @renehoj [details="reneboost.sh"] ``` #!/bin/bash CUR_WIN_ID=`xdotool getwindowfocus` CUR_VM=`xprop _QUBES_VMNAME -id $CUR_WIN_ID |cut -d \" -f2` xl sched-credit2 -d $CUR_VM -w $1 exit 0 ``` [/details]  

Revision #48

Edited on
2025-01-25
Edited by user
fiftyfourthparallel
- [Free up dom0 disk space](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/72) - [dom0] `sudo journalctl --vacuum-time=1d` @renehoj - [Reduce VM boot time](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/43) - **Debian 12 only** - [TemplateVM] Enter `sudo cp /lib/systemd/system/systemd-binfmt.service /etc/systemd/system`, then delete `After=local-fs.target` from `/etc/systemd/system/systemd-binfmt.service` @renehoj
[details="open_template_terminal.sh] [details=open_template_terminal.sh]
**Performance** - [Reduce VM boot time](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/43) - **Debian 12 only** - [TemplateVM] Enter `sudo cp /lib/systemd/system/systemd-binfmt.service /etc/systemd/system`, then delete `After=local-fs.target` from `/etc/systemd/system/systemd-binfmt.service` @renehoj - [Increase CPU priority of selected window's VM](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/107) - [dom0] Create `/bin/reneboost.sh` (expandable), make it executable (`chmod +x`), then map to shortcut @renehoj [details="reneboost.sh"] ``` #!/bin/bash CUR_WIN_ID=`xdotool getwindowfocus` CUR_VM=`xprop _QUBES_VMNAME -id $CUR_WIN_ID |cut -d \" -f2` xl sched-credit2 -d $CUR_VM -w $1 exit 0 ``` [/details]  
**Storage** **Storage** - [Free up dom0 disk space](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/72) - [dom0] `sudo journalctl --vacuum-time=1d` @renehoj

Revision #47

Edited on
2024-12-06
Edited by user
fiftyfourthparallel
- [Toggle NetVM of qube in focus](https://gist.github.com/UndeadDevel/0a9e238db4fe58055eb8b1a40515f3b6) - [dom0] In dom0 create the following script, make it executable (`chmod +x`), and bind to keyboard shortcut (expandable) @Bearillo - [Toggle NetVM of qube in focus](https://gist.github.com/UndeadDevel/0a9e238db4fe58055eb8b1a40515f3b6) - [dom0] In dom0 create the following script, make it executable (`chmod +x`), and bind to keyboard shortcut (expandable) @Bearillo [Alternative version](https://forum.qubes-os.org/t/netvm-changer-bash-script/30504) @den1ed
- [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Trigger the QubesOS widgets via keyboard](https://gist.github.com/UndeadDevel/ef7d86118b83ae4bab68243fc38c51f6) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo - [Decrease time to login prompt / autologin](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/103) [dom0] `sudo systemctl edit qubes-vm@.service`, then insert lines `[Service]` then `Type=simple` in the active section @a_lurker_no_more - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Trigger the QubesOS widgets via keyboard](https://gist.github.com/UndeadDevel/ef7d86118b83ae4bab68243fc38c51f6) - [dom0] Create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo

Revision #46

Edited on
2024-09-10
Edited by user
fiftyfourthparallel
[details = "open_template_terminal.sh] [details="open_template_terminal.sh]
- [Automatically log into dom0 on boot](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/74) [dom0] In `/etc/lightdm/lightdm.conf`, uncomment and set `autologin-user=dom0-username` @renehoj - [Automatically log into dom0 on boot](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/74) [dom0] In `/etc/lightdm/lightdm.conf`, uncomment and set `autologin-user=[your dom0 username]` @renehoj

Revision #45

Edited on
2024-08-30
Edited by user
fiftyfourthparallel
- [Open selected window's VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) - **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza - [Create a custom mode for launching apps quickly](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/76)- **i3 only** - [dom0] Open `~/.config/i3/config`, then add the contents of `config.append` (expandable) . Alter shortcuts and qube names as needed. @q4u [details="config.append"] ``` # Replace example appVM and names/commands with your own set $mode_launcher Launch: [e]macs [m]ail [s]ignal bindsym $mod+o mode "$mode_launcher" mode "$mode_launcher" { bindsym e exec qvm-run app-dev "emacsclient -c -a 'emacs'" bindsym s exec qvm-run app-signal signal-desktop bindsym m exec qvm-run app-mail thunderbird bindsym Escape mode "default" bindsym Return mode "default" } ``` [/details] - [Open selected window's VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) - **i3 only** - [dom0] Open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza

Revision #44

Edited on
2024-07-28
Edited by user
fiftyfourthparallel
- [Automatically log into dom0 on boot](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/74) [dom0] In `/etc/lightdm/lightdm.conf`, uncomment and set `autologin-user=dom0-username` @renehoj

Revision #43

Edited on
2024-07-13
Edited by user
fiftyfourthparallel
- [Free up dom0 disk space](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/72) - [dom0] `sudo journalctl --vacuum-time=1d` @renehoj
**Bug workarounds** - [Prevent resizing windows from crashing xorg in qube](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/71) - [dom0] Window Manager > Advanced > Hide content of windows: When resizing @renehoj  

Revision #42

Edited on
2024-06-05
Edited by user
fiftyfourthparallel
- [Open selected window's template VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/67) - [dom0] Create `/home/user/bin/open_template_terminal.sh` (expandable), make it executable (`chmod +x`), then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @renehoj [details = "open_template_terminal.sh] ``` #!/bin/bash CUR_WIN_ID=`xdotool getwindowfocus` CUR_VM=`xprop _QUBES_VMNAME -id $CUR_WIN_ID |cut -d \" -f2` CUR_VM_TEMP=`qvm-prefs $CUR_VM template` qvm-run -q -a --service -- $CUR_VM_TEMP qubes.StartApp+qubes-run-terminal exit 0 ``` [/details]

Revision #41

Edited on
2024-05-03
Edited by user
fiftyfourthparallel
- [Shut down selected window's VM](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/35) - [dom0] Create `/bin/halt-vm-by-window` containing the code below, run `chmod +x /bin/halt-vm-by-window`, then map to shortcut @tasket [details="halt-vm-by-window"] - [Shut down selected window's VM](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/35) - [dom0] Create `/bin/halt-vm-by-window.sh` (expandable), make it executable (`chmod +x`), then map to shortcut @tasket [details="halt-vm-by-window.sh"]
- [Open selected window's VM's terminal](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) [dom0] Create `/home/user/bin/open_terminal.sh` (expandable), make executable with `chmod +x`, then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @unman - [Open selected window's VM's terminal](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) [dom0] Create `/home/user/bin/open_terminal.sh` (expandable), make it executable (`chmod +x`), then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @unman
[/details] - [Trigger the QubesOS widgets via keyboard](https://gist.github.com/UndeadDevel/ef7d86118b83ae4bab68243fc38c51f6) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="widget-click.sh"] Call this script with either the argument `devices` (so `widget-click.sh devices`) or `domains` to open the respective widget. ``` #!/bin/bash # call with argument 'devices' or 'domains' sleep 0.1 eval $(xdotool search --onlyvisible --name "qui-$1" getwindowgeometry --shell) xdotool mousemove $X $Y click 1 mousemove restore ``` [/details] - [Trigger the QubesOS app menu via keyboard](https://gist.github.com/UndeadDevel/8501e82a534e5daa2ac60e36945167b9) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="qubes-menu.sh"] Note that you may need to adjust the numbers if your screen is not 1080p. ``` #!/bin/bash eval $(xdotool getmouselocation --shell) xdotool mousemove 5 5 gdbus call --session --dest org.qubesos.appmenu --object-path "/org/qubesos/appmenu" --method org.freedesktop.Application.Activate "{}" if [ $X -lt 720 ] && [ $Y -lt 775 ]; then X=720 # prevent the mouse from selecting items in the app menu when opening it with the keyboard fi # note that these values may need adjusting if using a screen with a resolution other than 1080p xdotool mousemove $X $Y ``` [/details] [/details]
- [Toggle NetVM of qube in focus](https://gist.github.com/UndeadDevel/0a9e238db4fe58055eb8b1a40515f3b6) - [dom0] In dom0 create the following script, make it executable (`chmod +x`) and bind to keyboard shortcut (expandable) @Bearillo - [Toggle NetVM of qube in focus](https://gist.github.com/UndeadDevel/0a9e238db4fe58055eb8b1a40515f3b6) - [dom0] In dom0 create the following script, make it executable (`chmod +x`), and bind to keyboard shortcut (expandable) @Bearillo
- [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Open selected window's VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Trigger the QubesOS widgets via keyboard](https://gist.github.com/UndeadDevel/ef7d86118b83ae4bab68243fc38c51f6) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="widget-click.sh"] Call this script with either the argument `devices` (so `widget-click.sh devices`) or `domains` to open the respective widget. ``` #!/bin/bash # call with argument 'devices' or 'domains' sleep 0.1 eval $(xdotool search --onlyvisible --name "qui-$1" getwindowgeometry --shell) xdotool mousemove $X $Y click 1 mousemove restore ``` [/details] - [Trigger the QubesOS app menu via keyboard](https://gist.github.com/UndeadDevel/8501e82a534e5daa2ac60e36945167b9) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="qubes-menu.sh"] Note that you may need to adjust the numbers if your screen is not 1080p. ``` #!/bin/bash eval $(xdotool getmouselocation --shell) xdotool mousemove 5 5 gdbus call --session --dest org.qubesos.appmenu --object-path "/org/qubesos/appmenu" --method org.freedesktop.Application.Activate "{}" if [ $X -lt 720 ] && [ $Y -lt 775 ]; then X=720 # prevent the mouse from selecting items in the app menu when opening it with the keyboard fi # note that these values may need adjusting if using a screen with a resolution other than 1080p xdotool mousemove $X $Y ``` [/details] - [Open selected window's VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) - **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza - [Screenshot a window](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/65) - [dom0] Create `/bin/screenshot_VM.sh` (expandable), make it executable (`chmod +x`), then map to shortcut. @steffen and [other contributors on Github](https://github.com/QubesOS/qubes-issues/issues/953#issuecomment-1756157152) [details="screenshot_VM.sh"] ``` #!/bin/sh # lets the user take a screenshot based on rectangular selection and sends it to the currently focused VM CUR_WIN_ID=`xdotool getwindowfocus` CUR_VM=`xprop _QUBES_VMNAME -id $CUR_WIN_ID | cut -d \" -f 2` if [[ "$CUR_VM" != "_QUBES_VMNAME: not found." ]]; then xfce4-screenshooter -r -o "qvm-copy-to-vm $CUR_VM" notify-send "Screenshot sent!" "Your selection has been sent as a screenshot to $CUR_VM!" fi ``` [/details]

Revision #40

Edited on
2024-05-01
Edited by user
fiftyfourthparallel
- [Open selected window's VM's terminal](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) [dom0] Create `/home/user/bin/open_terminal.sh` (expandable), make executable with `chmod +x`, then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @unman [details="open_terminal.sh"] ``` #!/bin/bash ID=`xdotool getwindowfocus` QUBE=`xprop _QUBES_VMNAME -id $ID|cut -f2 -d\" ` if [[ "$QUBE" == "_QUBES_VMNAME: not found." ]]; then exit else qvm-run $QUBE /usr/bin/qubes-run-terminal & fi ``` [/details]
[/details] - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) Create `/home/user/bin/open_terminal.sh` (expandable), make executable with `chmod +x`, then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @unman [details="open_terminal.sh"] ``` #!/bin/bash ID=`xdotool getwindowfocus` QUBE=`xprop _QUBES_VMNAME -id $ID|cut -f2 -d\" ` if [[ "$QUBE" == "_QUBES_VMNAME: not found." ]]; then exit else qvm-run $QUBE /usr/bin/qubes-run-terminal & fi ``` [/details] - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza [/details]
- [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene - [Open selected window's VM's terminal](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza

Revision #39

Edited on
2024-05-01
Edited by user
fiftyfourthparallel
- [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) Create `/home/user/bin/open_terminal.sh` (expandable), make executable with `chmod +x`, then create key binding. To open as root, replace `qvm-run` with `qvm-run -u root` @unman [details="open_terminal.sh"] ``` #!/bin/bash ID=`xdotool getwindowfocus` QUBE=`xprop _QUBES_VMNAME -id $ID|cut -f2 -d\" ` if [[ "$QUBE" == "_QUBES_VMNAME: not found." ]]; then exit else qvm-run $QUBE /usr/bin/qubes-run-terminal & fi ``` [/details] - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza
- [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) @unman - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza

Revision #38

Edited on
2024-05-01
Edited by user
fiftyfourthparallel
- [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/terminal-in-the-same-disposable/26029/9) @unman - [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed. @ruza

Revision #37

Edited on
2024-05-01
Edited by user
fiftyfourthparallel
- [Open terminal for focused VM using shortcut](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/59) **i3 only** - [dom0] open `~/.config/i3/config`, then add `bindsym $mod+Return exec qubes-i3-sensible-terminal`. To open as root, replace `qubes-i3-sensible-terminal` with `qubes-i3-sensible-terminal.root`. Alter shortcut as needed.

Revision #36

Edited on
2024-01-29
Edited by user
Bearillo
[/details] [/details] - [Trigger the QubesOS widgets via keyboard](https://gist.github.com/UndeadDevel/ef7d86118b83ae4bab68243fc38c51f6) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="widget-click.sh"] Call this script with either the argument `devices` (so `widget-click.sh devices`) or `domains` to open the respective widget. ``` #!/bin/bash # call with argument 'devices' or 'domains' sleep 0.1 eval $(xdotool search --onlyvisible --name "qui-$1" getwindowgeometry --shell) xdotool mousemove $X $Y click 1 mousemove restore ``` [/details] - [Trigger the QubesOS app menu via keyboard](https://gist.github.com/UndeadDevel/8501e82a534e5daa2ac60e36945167b9) - [dom0] In dom0 create a script containing the code below (expandable), make it executable (`chmod +x`) and bind to keyboard shortcut @Bearillo [details="qubes-menu.sh"] Note that you may need to adjust the numbers if your screen is not 1080p. ``` #!/bin/bash eval $(xdotool getmouselocation --shell) xdotool mousemove 5 5 gdbus call --session --dest org.qubesos.appmenu --object-path "/org/qubesos/appmenu" --method org.freedesktop.Application.Activate "{}" if [ $X -lt 720 ] && [ $Y -lt 775 ]; then X=720 # prevent the mouse from selecting items in the app menu when opening it with the keyboard fi # note that these values may need adjusting if using a screen with a resolution other than 1080p xdotool mousemove $X $Y ``` [/details]
[/details] [/details]

Revision #35

Edited on
2024-01-29
Edited by user
Bearillo
**WiFi** - [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] In sys-net's template, create `/var/lib/NetworkManager/NetworkManager.state` containing the code below (expandable) @Bearillo **Networking** - [Toggle NetVM of qube in focus](https://gist.github.com/UndeadDevel/0a9e238db4fe58055eb8b1a40515f3b6) - [dom0] In dom0 create the following script, make it executable (`chmod +x`) and bind to keyboard shortcut (expandable) @Bearillo [details="vm-give-default-network"] ``` #!/bin/bash CUR_WIN_ID=$(xdotool getwindowfocus) CUR_VM=$(xprop _QUBES_VMNAME -id $CUR_WIN_ID | cut -d \" -f 2) if [[ "$CUR_VM" != *"not found"* ]];then if ! qvm-prefs "$CUR_VM" netvm | head -c1 | grep -E '.';then TEXT="TOR" while read -r line do if [[ "$line" == "anon-vm" ]];then TEXT="TOR" break else TEXT="DEFAULT" fi done <<< $(qvm-tags "$CUR_VM") ANSWER=$(notify-send -A Y="Yes" -A N="No" "Grant $TEXT network access to $CUR_VM" "Do you want to grant $TEXT network access to $CUR_VM?") if [[ "$ANSWER" == "Y" ]];then if [[ "$TEXT" == "DEFAULT" ]];then qvm-start --skip-if-running $(qubes-prefs default_netvm) && qvm-prefs "$CUR_VM" netvm -D && notify-send "Granted $CUR_VM $TEXT network access!" "The netvm of $CUR_VM was set to $(qvm-prefs "$CUR_VM" netvm)." else qvm-start --skip-if-running sys-whonix && qvm-prefs "$CUR_VM" netvm sys-whonix && notify-send "Granted $CUR_VM $TEXT network access!" "The netvm of $CUR_VM was set to $(qvm-prefs "$CUR_VM" netvm)." fi fi else qvm-prefs "$CUR_VM" netvm None notify-send "Disconnected $CUR_VM from network!" "The netvm of $CUR_VM was set to None (n/a)." fi fi ``` [/details] - [Keep WiFi off by default on boot](https://gist.github.com/UndeadDevel/3ffeb19d66eee72c85d9c5a94ea2b60d) - [TemplateVM] In sys-net's template, create `/var/lib/NetworkManager/NetworkManager.state` containing the code below (expandable) @Bearillo
- [Soft toggle WiFi](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [dom0] `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` (can be mapped to shortcut) @Bearillo - [Soft toggle WiFi](https://gist.github.com/UndeadDevel/3ffeb19d66eee72c85d9c5a94ea2b60d) - [dom0] `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` (can be mapped to shortcut) @Bearillo

Revision #34

Edited on
2024-01-21
Edited by user
fiftyfourthparallel
- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - [AppVM] In VLC's preferences, open 'Video' and change 'Output' to 'X11 video output (XCB)' @solene - [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - [AppVM] In VLC's preferences, open 'Video' and change 'Output' to 'X11 video output (XCB)' @solene
- [View dom0 update history](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/54) - [dom0] Enter `dnf history` to view update events; enter `dnf history info [EVENT ID]` to view event details. Also works for Fedora in general @adw

Revision #33

Edited on
2024-01-17
Edited by user
fiftyfourthparallel
- [Reduce VM boot time](https://forum.qubes-os.org/t/quick-quality-of-life-improvements/23380/43) - **Debian 12 only** - [TemplateVM] Enter `sudo cp /lib/systemd/system/systemd-binfmt.service /etc/systemd/system`, then delete `After=local-fs.target` from `/etc/systemd/system/systemd-binfmt.service` @renehoj

Revision #32

Edited on
2024-01-16
Edited by user
fiftyfourthparallel
- [Memory warning notifications](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/39) - [dom0] Create the files below as needed, then for each file: `chmod +x [FILENAME]`, enter `crontab -e`, then add `*/5 * * * * [FILENAME]` and save @ddevz - [Memory warning notifications](https://forum.qubes-os.org/t/notifications-when-dom0-or-xen-memory-is-low/23797) - [dom0] Create the files below as needed, then for each file: `chmod +x [FILENAME]`, enter `crontab -e`, then add `*/5 * * * * [FILENAME]` and save @ddevz
FREE_MEMORY=$((`free -g | grep '^Mem' | awk '{print $7}'`)) if (( $FREE_MEMORY < 4 )); then notify-send --expire-time=360000 --urgency=critical 'dom0: Low memory' "Remaining: $FREE_MEMORY " FREE_MEMORY=$((`free -m | grep '^Mem' | awk '{print $7}'`)) if (( $FREE_MEMORY < 500 )); then notify-send --expire-time=360000 --urgency=critical 'dom0: Low memory' "Remaining: $FREE_MEMORY MBs"
$FREE_MEMORY" $FREE_MEMORY GBs"

Revision #31

Edited on
2024-01-12
Edited by user
fiftyfourthparallel
This is a thread where we collect **quick** tips and tricks that can improve the Qubes experience. **Feel free to add your tip to this wiki post (anyone can edit this)** &nbsp; **Guidelines** 1. Your tip should contain as few words as possible &nbsp; 2. If your tip cannot be condensed into a few lines, it doesn't belong here &nbsp; 3. If your tip is niche with regard to Qubes users, it doesn't belong here* &nbsp; 4. Follow the established style convention &nbsp; 5. Give credit, even to yourself, and link to the original (if needed, *also* post your tip as reply so you have a link) &nbsp; 6. Discussions regarding specific tips belong in their own threads, if available \* <sup><sup> "What's niche?" is going to spawn a lot of debate and angst, but this constraint is necessary to prevent the post from getting bloated and mostly irrelevant</sup></sup> &nbsp; --- <h2>Quick Quality-of-Life Improvements</h2> &nbsp;
&nbsp;&nbsp; &nbsp; --- &nbsp; This is a thread where we collect **quick** tips and tricks that can improve the Qubes experience. **Feel free to add your tip to this wiki post (anyone can edit this)** &nbsp; **Guidelines** 1. Your tip should contain as few words as possible &nbsp; 2. If your tip can't be condensed into a few lines, it doesn't belong here &nbsp; 3. If your tip is niche with regard to Qubes users, it doesn't belong here* &nbsp; 4. Follow the established style convention &nbsp; 5. Give credit, even to yourself, and link to the original (if needed, *also* post your tip as reply so you have a link) \* <sup><sup> "What's niche?" is going to spawn a lot of debate and angst, but this constraint is necessary to prevent the post from getting bloated and mostly irrelevant</sup></sup>

Revision #30

Edited on
2024-01-12
Edited by user
fiftyfourthparallel
This is a thread where we collect **short** tips and tricks that can improve the Qubes experience for most users. We want to create a one-stop-post where people can quickly find and implement changes to their systems instead of having to search for and visit a hundred different posts. This is a thread where we collect **quick** tips and tricks that can improve the Qubes experience.
These are subject to frequent and major changes while we figure out how this might work 1. Brevity is key--post as few words as possible 1. Your tip should contain as few words as possible
5. Give credit, even to yourself, and link to the original (if needed, also post as reply for a link) 5. Give credit, even to yourself, and link to the original (if needed, *also* post your tip as reply so you have a link)
6. Discussions regarding specific tips belong in their own threads if available 6. Discussions regarding specific tips belong in their own threads, if available

Revision #29

Edited on
2024-01-12
Edited by user
fiftyfourthparallel
**Notifications** **Etc.**

Revision #28

Edited on
2024-01-12
Edited by user
fiftyfourthparallel
**Navigation** **VM Management**
[/details] [/details] - [Memory warning notifications](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/39) - [dom0] Create the files below as needed, then for each file: `chmod +x [FILENAME]`, enter `crontab -e`, then add `*/5 * * * * [FILENAME]` and save @ddevz [details="/bin/dom0-Memory-Notification"] ``` #!/bin/bash FREE_MEMORY=$((`free -g | grep '^Mem' | awk '{print $7}'`)) if (( $FREE_MEMORY < 4 )); then notify-send --expire-time=360000 --urgency=critical 'dom0: Low memory' "Remaining: $FREE_MEMORY " fi ``` [/details] [details="/bin/Xen-Memory-Notification"] ``` #!/bin/bash FREE_MEMORY=$((`xl info | grep free_memory | sed 's/^.*:\([0-9]*\)/\1/'` / 1000)) if (( $FREE_MEMORY < 8 )); then notify-send --expire-time=360000 --urgency=critical 'Xen: Low memory' "Remaining: $FREE_MEMORY" fi ``` [/details]

Revision #27

Edited on
2024-01-10
Edited by user
fiftyfourthparallel
**Navigation** - [Shut down selected window's VM](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/35) - [dom0] Create `/bin/halt-vm-by-window` containing the code below, run `chmod +x /bin/halt-vm-by-window`, then map to shortcut @tasket [details="halt-vm-by-window"] ``` #!/bin/bash CUR_WIN_ID=`xdotool getwindowfocus` CUR_VM=`xprop _QUBES_VMNAME -id $CUR_WIN_ID |cut -d \" -f2` qvm-run $CUR_VM 'xdotool search --name "Mozilla Firefox" key ctrl+q' qvm-run $CUR_VM 'xdotool search --name "Mozilla Thunderbird" key ctrl+q' sleep 4 /usr/bin/qvm-shutdown $CUR_VM --wait --timeout=40 ``` [/details] &nbsp;

Revision #26

Edited on
2024-01-09
Edited by user
fiftyfourthparallel
- [Prevent loss of control from sys-usb shutdown](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/17) - [dom0] `crontab -e`, then enter `* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1` and save @SteveC - [Prevent loss of control from sys-usb shutdown](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/17) - [dom0] `crontab -e`, then enter `* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1` and save. Reverse the change by commenting out that line @SteveC

Revision #25

Edited on
2024-01-06
Edited by user
fiftyfourthparallel
5. Feel free to add new categories *when necessary* 5. Give credit, even to yourself, and link to the original (if needed, also post as reply for a link)
6. Give credit (even to yourself) and link to the original If your tip doesn't have its own post/page, post it here in a reply so you have a link. This is for consistency and also so we can neatly split the thread if needed &nbsp; 7. Discussions regarding specific tips belong in their own threads if available \* <sup><sup> What&#39;s 'niche&#39; is going to spawn a lot of debate and angst, but this constraint is necessary to prevent this post from getting bloated and mostly irrelevant</sup></sup> 6. Discussions regarding specific tips belong in their own threads if available \* <sup><sup> &quot;What's niche?&quot; is going to spawn a lot of debate and angst, but this constraint is necessary to prevent the post from getting bloated and mostly irrelevant</sup></sup>
- [Create a toggle to hide the cursor](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] Install `unclutter`, run the code below (expandable), then create a keyboard shortcut pointing to `toggle-unclutter.sh` @ludovic [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) - [Create a toggle to hide the cursor](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] Install `unclutter`, run the code below (expandable), then map `toggle-unclutter.sh` to a key @ludovic [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633)
- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - [AppVM] Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene - [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] In `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo - [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - [AppVM] In VLC's preferences, open 'Video' and change 'Output' to 'X11 video output (XCB)' @solene - [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] In `/etc/mpv/mpv.conf`, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo

Revision #24

Edited on
2024-01-06
Edited by user
fiftyfourthparallel
- [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Run the code below (expandable), then copy/move your file(s) @SteveC - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/send-files-directly-to-external-storage-mounted-in-other-qube/23514) - [AppVM] Run the code below (expandable), then copy/move your file(s) @SteveC

Revision #23

Edited on
2024-01-05
Edited by user
Bearillo
In the following instructions `[ORIGIN QUBE]` is the qube name without brackets or slashes!
mkdir -p ~/QubesIncoming/[ORIGIN QUBE] mv ~/QubesIncoming ~/QubesIncoming_backup mkdir ~/QubesIncoming mv ~/QubesIncoming/[ORIGIN QUBE] ~/QubesIncoming/[ORIGIN QUBE]_backup

Revision #22

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
[details="Hide cursor (dom0)"] ``` [details="Hide cursor (dom0)"] ```
``` [/details] ``` [/details]
- [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Run the code below (expandable), then copy/move your file(s) @SteveC [details="In destination qube:"] ``` mkdir -p ~/QubesIncoming/[ORIGIN QUBE] mv ~/QubesIncoming ~/QubesIncoming_backup ln -s [MOUNT POINT] ~/QubesIncoming/[ORIGIN QUBE] ``` [/details] - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Run the code below (expandable), then copy/move your file(s) @SteveC [details="In destination qube:"] ``` mkdir -p ~/QubesIncoming/[ORIGIN QUBE] mv ~/QubesIncoming ~/QubesIncoming_backup ln -s [MOUNT POINT] ~/QubesIncoming/[ORIGIN QUBE] ``` [/details]
[details="NetworkManager.state"] ``` [main] WirelessEnabled=false ``` [/details] [details="NetworkManager.state"] ``` [main] WirelessEnabled=false ``` [/details]

Revision #21

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
- [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes mount point is `/mnt/ext_store/`. Run the code below (expandable), then copy/move your file(s) @SteveC - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Run the code below (expandable), then copy/move your file(s) @SteveC
mkdir -p ~/QubesIncoming/[origin-qube] mkdir -p ~/QubesIncoming/[ORIGIN QUBE]
ln -s /mnt/ext_store/ ~/QubesIncoming/[origin-qube] ln -s [MOUNT POINT] ~/QubesIncoming/[ORIGIN QUBE]

Revision #20

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
- [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] In sys-net's template, create `/var/lib/NetworkManager/NetworkManager.state` containing the code below @Bearillo - [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] In sys-net's template, create `/var/lib/NetworkManager/NetworkManager.state` containing the code below (expandable) @Bearillo
- [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo - [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] In `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo

Revision #19

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
- [Prevent loss-of-control from sys-usb shutdown](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/17) - [dom0] `crontab -e`, then enter `* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1` and save. Assumes your sys-usb is named `sys-usb` @SteveC - [Manually hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] To create a cursor toggle, install `unclutter`, then enter the following code (expandable below) and create keyboard shortcut pointing to `toggle-unclutter.sh`. Credits: [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) [details="hide cursor (dom0)"] - [Prevent loss of control from sys-usb shutdown](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/17) - [dom0] `crontab -e`, then enter `* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1` and save @SteveC - [Create a toggle to hide the cursor](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] Install `unclutter`, run the code below (expandable), then create a keyboard shortcut pointing to `toggle-unclutter.sh` @ludovic [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) [details="Hide cursor (dom0)"]
- [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes external storage is mounted under `/mnt/ext_store/`. Execute the following commands in that destination qube: &gt;&lt;pre>mv ~/QubesIncoming ~/QubesIncoming_backup >ln -s /mnt/ext_store/ ~/QubesIncoming</pre> This will copy files into a directory named after the origin qube, in the external storage: `/mnt/ext_store/origin-qube`. If you don't want that directory, then the mount command should be: ><pre>ln -s /mnt/ext_store/ ~/QubesIncoming/origin-qube</pre> Where `origin-qube` is the name of the origin qube. Of course the directory QubesIncoming/origin-qube has to exist for this to work (the qvm-copy utility won't necessarily have created it yet). You can create it with `mkdir -p ~/QubesIncoming/origin-qube`. Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes mount point is `/mnt/ext_store/`. Run the code below (expandable), then copy/move your file(s) @SteveC [details=&quot;In destination qube:&quot;] ``` mkdir -p ~/QubesIncoming/[origin-qube] mv ~/QubesIncoming ~/QubesIncoming_backup ln -s /mnt/ext_store/ ~/QubesIncoming/[origin-qube] ``` [/details]
- [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] ><pre>[main] >WirelessEnabled=false</pre> In sys-net's template, create the file `/var/lib/NetworkManager/NetworkManager.state` containing the code above @Bearillo - [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] In sys-net's template, create `/var/lib/NetworkManager/NetworkManager.state` containing the code below @Bearillo [details="NetworkManager.state"] ``` [main] WirelessEnabled=false ``` [/details]

Revision #18

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
**Input Devices** - [Prevent loss-of-control from sys-usb shutdown](https://forum.qubes-os.org/t/quick-quality-of-life-improvements-thread/23380/17) - [dom0] `crontab -e`, then enter `* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1` and save. Assumes your sys-usb is named `sys-usb` @SteveC - [Manually hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] To create a cursor toggle, install `unclutter`, then enter the following code (expandable below) and create keyboard shortcut pointing to `toggle-unclutter.sh`. Credits: [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) [details="hide cursor (dom0)"] ``` mkdir $HOME/bin cat << 'EOF' | tee $HOME/bin/toggle-unclutter.sh #! /bin/sh if pgrep unclutter &> /dev/null 2>&1 then killall unclutter else unclutter -idle 1 & fi EOF chmod +x $HOME/bin/toggle-unclutter.sh ``` [/details] &nbsp;
Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC
- [Soft toggle WiFi](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [dom0] `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` (can be mapped to shortcut) @Bearillo - [Soft toggle WiFi](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [dom0] `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` (can be mapped to shortcut) @Bearillo
- [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo - [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo
&nbsp; **sys-usb: how to protect yourself against accidentally shutting it down** - (I've suggested this in other places but can't find them right now, so no link). If you've ever found yourself in the situation where you accidentally shut down sys-usb AND you happen to be using a USB keyboard or mouse, you're basically hosed. Your machine will be a brick until you reboot it, because dom0 doesn't take things like your keyboard and mouse back after they've been assigned to sys-usb. (This is not a bug, it's a deliberate design decision taken for security reasons.) On the other hand, it's safe to *restart* sys-usb from the qui-domains tool, and that fact is going to help us here. How to solve this? Create a cron job that starts sys-usb if it isn't already running, and set that job to run every minute. (For those new to unix/linux, cron jobs are tasks that are prescheduled and run in the background. In the old days of stone knives-and-bearskins computing, these were often called "batch" jobs.) Here's how to do that: Open a terminal in dom0 and type `crontab -e`. This opens the vi editor which will show you a file that contains existing user crontabs (as opposed to ones run by root). The file may well be empty. Insert a line that reads: ><pre>* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1</pre> The five stars denote every minute of every hour of every day of every year. The middle part of the command should be self explanatory. The stuff after the `>` redirects the output of the command to `/dev/null`, which is basically "nowhere" rather than the screen or some log file. The result should be that if you shut sys-usb down for whatever reason, sometime within the next minute it should start back up again and you have your keyboard and mouse back. This edit only needs to be done once; it will still be there after restarting your system. The bad news is that in order to work with this, you have to know how to use vi...which is actually a tool adapted from those stone-knives-and-bearskin days. You can (if the file is empty) type `i` to get into "insert mode", type the line above (including the return/enter at the end of the line), then press the escape key and type `:wq` to write and exit. @SteveC &nbsp; **Input Devices** - [Manually hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] `sudo qubes-dom0-update unclutter`, then create `toggle-unclutter.sh` (expandable below), create keyboard shortcut. Shortcut toggles the cursor. Credits: [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) [details="toggle-unclutter.sh script"] > mkdir $HOME/bin > cat << 'EOF' | tee $HOME/bin/toggle-unclutter.sh > #! /bin/sh > if pgrep unclutter &> /dev/null 2>&1 > then > killall unclutter > else > unclutter -idle 1 & > fi > EOF > chmod +x $HOME/bin/toggle-unclutter.sh [/details]

Revision #17

Edited on
2024-01-05
Edited by user
fiftyfourthparallel
1. If your tip cannot be condensed into a few lines, it doesn't belong here 1. Brevity is key--post as few words as possible
2. If your tip is niche with regard to Qubes users, it doesn't belong here* 2. If your tip cannot be condensed into a few lines, it doesn't belong here
3. Follow the established style convention 3. If your tip is niche with regard to Qubes users, it doesn't belong here*
4. Feel free to add new categories *when necessary* 4. Follow the established style convention
5. Give credit (even to yourself) and link to the original 5. Feel free to add new categories *when necessary* &nbsp; 6. Give credit (even to yourself) and link to the original
6. Discussions regarding specific tips belong in their own threads if available 7. Discussions regarding specific tips belong in their own threads if available
**Cursor** - [Manual hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477), in dom0: - install the `unclutter` package : `sudo qubes-dom0-update unclutter` - create the `toggle-unclutter.sh` script **Input Devices** - [Manually hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477) - [dom0] `sudo qubes-dom0-update unclutter`, then create `toggle-unclutter.sh` (expandable below), create keyboard shortcut. Shortcut toggles the cursor. Credits: [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) [details="toggle-unclutter.sh script"]
> chmod +x $HOME/bin/toggle-unclutter.sh - add a keyboard shortcut to launch this script - for xfce : System Tools / Keyboard, Application Shortcuts, Add : browse to the above script -> choose a shortcut (for example Alt-Shift-F12) The first *Alt-F12* hides the cursor, the second *Alt-F12* shows the cursor. Credits : [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633) > chmod +x $HOME/bin/toggle-unclutter.sh [/details]

Revision #16

Edited on
2024-01-04
Edited by user
ludovic
&nbsp; **Cursor** - [Manual hide the mouse cursor in full-screen](https://forum.qubes-os.org/t/manual-hide-the-mouse-cursor-in-full-screen/23477), in dom0: - install the `unclutter` package : `sudo qubes-dom0-update unclutter` - create the `toggle-unclutter.sh` script > mkdir $HOME/bin > cat << 'EOF' | tee $HOME/bin/toggle-unclutter.sh > #! /bin/sh > if pgrep unclutter &> /dev/null 2>&1 > then > killall unclutter > else > unclutter -idle 1 & > fi > EOF > chmod +x $HOME/bin/toggle-unclutter.sh - add a keyboard shortcut to launch this script - for xfce : System Tools / Keyboard, Application Shortcuts, Add : browse to the above script -> choose a shortcut (for example Alt-Shift-F12) The first *Alt-F12* hides the cursor, the second *Alt-F12* shows the cursor. Credits : [vecna13 from the 2676 issue](https://github.com/QubesOS/qubes-issues/issues/2676#issuecomment-909302633)

Revision #15

Edited on
2024-01-04
Edited by user
Bearillo
>ln -s /mnt/ext_store/ ~/QubesIncoming/</pre> >ln -s /mnt/ext_store/ ~/QubesIncoming</pre>

Revision #14

Edited on
2024-01-04
Edited by user
SteveC
&nbsp; **sys-usb: how to protect yourself against accidentally shutting it down** - (I've suggested this in other places but can't find them right now, so no link). If you've ever found yourself in the situation where you accidentally shut down sys-usb AND you happen to be using a USB keyboard or mouse, you're basically hosed. Your machine will be a brick until you reboot it, because dom0 doesn't take things like your keyboard and mouse back after they've been assigned to sys-usb. (This is not a bug, it's a deliberate design decision taken for security reasons.) On the other hand, it's safe to *restart* sys-usb from the qui-domains tool, and that fact is going to help us here. How to solve this? Create a cron job that starts sys-usb if it isn't already running, and set that job to run every minute. (For those new to unix/linux, cron jobs are tasks that are prescheduled and run in the background. In the old days of stone knives-and-bearskins computing, these were often called "batch" jobs.) Here's how to do that: Open a terminal in dom0 and type `crontab -e`. This opens the vi editor which will show you a file that contains existing user crontabs (as opposed to ones run by root). The file may well be empty. Insert a line that reads: ><pre>* * * * * qvm-start --skip-if-running sys-usb > /dev/null 2>&1</pre> The five stars denote every minute of every hour of every day of every year. The middle part of the command should be self explanatory. The stuff after the `>` redirects the output of the command to `/dev/null`, which is basically "nowhere" rather than the screen or some log file. The result should be that if you shut sys-usb down for whatever reason, sometime within the next minute it should start back up again and you have your keyboard and mouse back. This edit only needs to be done once; it will still be there after restarting your system. The bad news is that in order to work with this, you have to know how to use vi...which is actually a tool adapted from those stone-knives-and-bearskin days. You can (if the file is empty) type `i` to get into "insert mode", type the line above (including the return/enter at the end of the line), then press the escape key and type `:wq` to write and exit. @SteveC

Revision #13

Edited on
2024-01-04
Edited by user
SteveC
Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC This will copy files into a directory named after the origin qube, in the external storage: `/mnt/ext_store/origin-qube`. If you don't want that directory, then the mount command should be: ><pre>ln -s /mnt/ext_store/ ~/QubesIncoming/origin-qube</pre> Where `origin-qube` is the name of the origin qube. Of course the directory QubesIncoming/origin-qube has to exist for this to work (the qvm-copy utility won't necessarily have created it yet). You can create it with `mkdir -p ~/QubesIncoming/origin-qube`. Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC

Revision #12

Edited on
2024-01-04
Edited by user
fiftyfourthparallel
This is a thread where we collect small tips and tricks that can improve the Qubes experience for most users. We want to create a one-stop-post where people can quickly find and implement changes to their systems instead of having to search for and visit a hundred different posts. This is a thread where we collect **short** tips and tricks that can improve the Qubes experience for most users. We want to create a one-stop-post where people can quickly find and implement changes to their systems instead of having to search for and visit a hundred different posts.
The following guidelines are subject to frequent and major changes while we figure out how this might work &nbsp; **Guidelines** These are subject to frequent and major changes while we figure out how this might work
3. Follow the established style convention as much as possible 3. Follow the established style convention
4. Give credit (even to yourself) and add a link where applicable 4. Feel free to add new categories *when necessary*
5. Feel free to add new categories *when necessary* 5. Give credit (even to yourself) and link to the original If your tip doesn't have its own post/page, post it here in a reply so you have a link. This is for consistency and also so we can neatly split the thread if needed
6. Discussions regarding specific tips belong in their own thread--unless discussing whether they belong here. \* <sup><sup> What's 'niche' is going to spawn a lot of debate and angst, but this constraint is necessary to prevent this post from getting bloated and mostly irrelevant 6. Discussions regarding specific tips belong in their own threads if available \* <sup><sup> What's 'niche' is going to spawn a lot of debate and angst, but this constraint is necessary to prevent this post from getting bloated and mostly irrelevant</sup></sup>
--- --- <h2>Quick Quality-of-Life Improvements</h2>
<h2>Quality-of-Life Improvements and Minor Optimizations</h2> &nbsp;

Revision #11

Edited on
2024-01-04
Edited by user
Bearillo
- [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes external storage is mounted under `/mnt/ext_store/`. - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes external storage is mounted under `/mnt/ext_store/`. Execute the following commands in that destination qube:
Execute the commands above, then use `qvm-copy` targeting the destination qube @SteveC Then use `qvm-copy` in your data origin qube, targeting that destination qube @SteveC

Revision #10

Edited on
2024-01-04
Edited by user
fiftyfourthparallel
**Feel free to add your tip to this wiki post (do not alter anything above the line)** **Feel free to add your tip to this wiki post (anyone can edit this)**
**Notifications** - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene **Storage** - [Send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) - [AppVM] Assumes external storage is mounted under `/mnt/ext_store/`. ><pre>mv ~/QubesIncoming ~/QubesIncoming_backup >ln -s /mnt/ext_store/ ~/QubesIncoming/</pre> Execute the commands above, then use `qvm-copy` targeting the destination qube @SteveC
**WiFi** - [Keep WiFi off by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [TemplateVM] ><pre>[main] >WirelessEnabled=false</pre> In sys-net's template, create the file `/var/lib/NetworkManager/NetworkManager.state` containing the code above @Bearillo - [Soft toggle WiFi](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) - [dom0] `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` (can be mapped to shortcut) @Bearillo &nbsp;
- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene - [Improve mpv's CPU usage (includes YouTube guide)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - In the template's `/etc/mpv/mpv.conf` file insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo - [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - [AppVM] Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene - [Reduce mpv's CPU usage (link includes guide for YouTube too)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - [TemplateVM] `/etc/mpv/mpv.conf` file, insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo
**WiFi** - Soft toggle WiFi (@Bearillo): `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` - To keep WiFi off [by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) (@Bearillo ), drop the file `/var/lib/NetworkManager/NetworkManager.state` with the following content in sys-net's template: <pre>[main] WirelessEnabled=false</pre> &nbsp; **Storage** - To [send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) (@SteveC), execute in that other qube (assumes that external storage is mounted under `/mnt/ext_store/`) the below commands and then use `qvm-copy` (or "Copy to other qube" from a filemanager context menu) to send your files to the "other qube" and they'll be sent directly to the mounted device's mounted root: <pre>mv ~/QubesIncoming ~/QubesIncoming_backup # or use rm -rf ~/QubesIncoming ln -s /mnt/ext_store/ ~/QubesIncoming/</pre> **Notifications** - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - [AppVM] Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene

Revision #9

Edited on
2024-01-04
Edited by user
fiftyfourthparallel

Revision #8

Edited on
2024-01-04
Edited by user
Bearillo
- [Improve mpv's CPU usage (includes YouTube guide)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - In the template's `/etc/mpv/mpv.conf` file insert `vo=x11` and `profile=sw-fast` as separate lines @Bearilllo - [Improve mpv's CPU usage (includes YouTube guide)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - In the template's `/etc/mpv/mpv.conf` file insert `vo=x11` and `profile=sw-fast` as separate lines @Bearillo
``` [main] WirelessEnabled=false ``` <pre>[main] WirelessEnabled=false</pre>
``` mv ~/QubesIncoming ~/QubesIncoming_backup # or use rm -rf ~/QubesIncoming ln -s /mnt/ext_store/ ~/QubesIncoming/ ``` <pre>mv ~/QubesIncoming ~/QubesIncoming_backup # or use rm -rf ~/QubesIncoming ln -s /mnt/ext_store/ ~/QubesIncoming/</pre>

Revision #7

Edited on
2024-01-04
Edited by user
Bearillo
- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene - [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene - [Improve mpv's CPU usage (includes YouTube guide)](https://forum.qubes-os.org/t/improve-video-playback-performance-including-youtube-ytfzf/21946) - In the template's `/etc/mpv/mpv.conf` file insert `vo=x11` and `profile=sw-fast` as separate lines @Bearilllo
**WiFi toggle and default status** - Soft switch WiFi on and off: `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` **WiFi** - Soft toggle WiFi (@Bearillo): `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"`
**Send files directly to external storage mounted in other qube** - Execute in that other qube (assumes that external storage is mounted under `/mnt/ext_store/`): **Storage** - To [send files directly to external storage mounted in other qube](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) (@SteveC), execute in that other qube (assumes that external storage is mounted under `/mnt/ext_store/`) the below commands and then use `qvm-copy` (or "Copy to other qube" from a filemanager context menu) to send your files to the "other qube" and they'll be sent directly to the mounted device's mounted root:
``` - then use `qvm-copy` (or "Copy to other qube" from a filemanager context menu) to send your files to the "other qube" and [they'll be sent directly](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) to the mounted device's mounted root @SteveC ```

Revision #6

Edited on
2024-01-04
Edited by user
Bearillo
- To keep WiFi off [by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6), drop the file `/var/lib/NetworkManager/NetworkManager.state` with the following content in sys-net's template: - To keep WiFi off [by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6) (@Bearillo ), drop the file `/var/lib/NetworkManager/NetworkManager.state` with the following content in sys-net's template:
``` &nbsp; **Send files directly to external storage mounted in other qube** - Execute in that other qube (assumes that external storage is mounted under `/mnt/ext_store/`):
mv ~/QubesIncoming ~/QubesIncoming_backup # or use rm -rf ~/QubesIncoming ln -s /mnt/ext_store/ ~/QubesIncoming/ ``` - then use `qvm-copy` (or "Copy to other qube" from a filemanager context menu) to send your files to the "other qube" and [they'll be sent directly](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/3) to the mounted device's mounted root @SteveC

Revision #5

Edited on
2024-01-04
Edited by user
Bearillo
&nbsp; **WiFi toggle and default status** - Soft switch WiFi on and off: `qvm-run sys-net -- "if nmcli radio wifi | head -c1 | egrep 'e'; then nmcli radio wifi off; else nmcli radio wifi on; fi"` - To keep WiFi off [by default on boot](https://forum.qubes-os.org/t/short-quality-of-life-improvements-thread/23380/6), drop the file `/var/lib/NetworkManager/NetworkManager.state` with the following content in sys-net's template: ``` [main] WirelessEnabled=false ```

Revision #4

Edited on
2024-01-04
Edited by user
fiftyfourthparallel
Feel free to contribute to the tips section of this wiki post, below the line. **Feel free to add your tip to this wiki post (do not alter anything above the line)**
1. If your tip cannot be condensed into a few lines, it doesn't belong 1. If your tip cannot be condensed into a few lines, it doesn't belong here
2. If your tip is niche with regard to the Qubes userbase, it doesn't belong* 2. If your tip is niche with regard to Qubes users, it doesn't belong here*
3. The "Minor" in "Minor Optimizations" means, "doesn't take much to implement", so do post your high-impact tips. 3. Follow the established style convention as much as possible
4. If you're unsure whether your tip belongs, ask 4. Give credit (even to yourself) and add a link where applicable
5. Give credit (even to yourself) and add a link where applicable 5. Feel free to add new categories *when necessary*
6. Follow the established style convention as much as possible &nbsp; 7. Feel free to add new categories *if necessary* &nbsp; 8. Discussions regarding specific tips belong in their own thread--unless discussing whether it belongs here. 6. Discussions regarding specific tips belong in their own thread--unless discussing whether they belong here.

Revision #3

Edited on
2024-01-02
Edited by user
fiftyfourthparallel
<h2>Quality-of-life Improvements and Minor Optimizations</h2> <h2>Quality-of-Life Improvements and Minor Optimizations</h2>
**Notifications** - [Disable notifications per VM](https://forum.qubes-os.org/t/disable-notification-per-xfce-qubes-do-not-disturb-mode/19424) - **Fedora-XFCE only** - Run `xfce4-notifyd-config`, then `xfconf-query -c xfce4-notifyd -p /do-not-disturb --set true` @solene &nbsp;

Revision #2

Edited on
2024-01-02
Edited by user
fiftyfourthparallel
This is a thread where we compile small tips and tricks that can improve the Qubes experience for most users. What we hope to accomplish is to create a one-stop-post where people can quickly find improvements to their systems instead of having to search for and visit a hundred different posts. Feel free to contribute to the tips section of this wiki post. The following guidelines are subject to change as we figure out how this might work This is a thread where we collect small tips and tricks that can improve the Qubes experience for most users. We want to create a one-stop-post where people can quickly find and implement changes to their systems instead of having to search for and visit a hundred different posts. Feel free to contribute to the tips section of this wiki post, below the line. The following guidelines are subject to frequent and major changes while we figure out how this might work
3. If you're unsure whether your tip belongs, ask 3. The &quot;Minor" in "Minor Optimizations" means, "doesn&#39;t take much to implement", so do post your high-impact tips.
4. Give credit (even to yourself) and add a link when applicable 4. If you're unsure whether your tip belongs, ask
5. Follow the established style convention as much as possible 5. Give credit (even to yourself) and add a link where applicable
6. Feel free to add new categories *if necessary* 6. Follow the established style convention as much as possible
7. Discussions regarding specific tips belong in their own thread--unless discussing whether it belongs here. 7. Feel free to add new categories *if necessary* &nbsp; 8. Discussions regarding specific tips belong in their own thread--unless discussing whether it belongs here.
--- &nbsp; <h2>Quality-of-life Improvements and Minor Optimizations</h2> &nbsp;
- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene- [Reduce VLC's CPU usage](https://forum.qubes-os.org/t/vlc-video-playback-cpu-usage-improvement/23363) - Under 'Video' in Preferences (Ctrl+P), change 'Output' to 'X11 video output (XCB)' @solene &nbsp;