Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to toggle between 2 specific resolutions via keyboard shortcut?

I’m using Ubuntu on a laptop (with its built-in screen disabled) connected to a 3840×2160 external display.

Before sharing my screen on a video chat, I always like to switch the resolution down to 1920×1080.

I want to be able to quickly toggle the resolution of my external display between 3840×2160 and 1920×1080 via a keyboard shortcut, such as SuperPrntScrn.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

This really old answer might be relevant as a starting place, but I’m not sure where to go from here.

As an example (but not on Ubuntu), I was able to do it on a Macbook following this answer.

>Solution :

This answer was more helpful than I originally realized.

  1. In Ubuntu 20.04, go to Settings → Displays.
  2. In the Resolution dropdown, count the position of the resolution options that you care about. (In the screenshot below, "3840 x 2160" is 1st, and "1920 x 1080" is 7th.)
  3. In Terminal, xrandr -s 0 -r 30.00 will set the system to use the 1st resolution at 30 Hz (or 29.98 Hz actually, somehow), and xrandr -s 6 -r 30.00 will switch to the 7th. Test those commands.
  4. vim toggle_resolution.sh and paste the sample bash script shown below (and edit as necessary).
  5. chmod +x toggle_resolution.sh
  6. Run ./toggle_resolution.sh a couple times to test the toggling.
  7. You could create a hotkey in Settings → Keyboard Shortcuts to run that bash script file.

Settings → Displays

Sample bash script:

#!/bin/bash

# https://askubuntu.com/a/1351112/48214
X=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)
# echo "$X"

if [ $X == 3840 ]
then
        xrandr -s 6 -r 30.00
else
        xrandr -s 0 -r 30.00
fi
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading