Skip to main content

Switching display modes on a laptop using xrandr

I have written this script quite a while back and already forgot where I've got the original idea. I think it was from somewhere inside the ubuntu forums. Whichever way it is, I find it quite useful when I have to use a laptop to display to a projector but the function keys to switch display is not configured or is not working. You have to have zenity installed though. Just a simple "sudo apt-get install zenity" on Ubuntu (or "pacman -S zenity" on Arch linux ;) and you can use it.

#!/bin/sh

whichmode=`zenity --list --radiolist \
--title "Change Display Mode" \
--text "Choose where you want to display your desktop." \
--column="" --column="" --column="Options" \
"" "1" "Just the Laptop's LCD" \
"" "2" "Just the Output Monitor" \
"" "3" "VGA Dual Monitor" \
"" "4" "VGA Cloned (projector mode)"`

if [ $whichmode -eq 1 ]
then
xrandr --output VGA --off --output LVDS --auto
fi
if [ $whichmode -eq 2 ]
then
if xrandr -q | grep -q "VGA connected"; then
xrandr --output LVDS --off --output VGA --mode 1024x768
fi
fi
if [ $whichmode -eq 3 ]
then
if xrandr -q | grep -q "VGA connected"; then
xrandr --output VGA --mode 1024x768 --left-of LVDS --output LVDS --mode 1280x768
fi
fi
if [ $whichmode -eq 4 ]
then
if xrandr -q | grep -q "VGA connected"; then
xrandr --output VGA --mode 1024x768 --pos 0x0 --output LVDS --mode 1280x768 --pos 0x0
fi
fi

I have to warn you thought that I have my monitor on the left of my laptop. So if you have it on the right of your laptop, then you might want to change --left-of to --right-of. Pretty neat.

p/s: If the Dual Monitor mode does not work, try running it from a terminal and see what error it output. If it says something along the line of "screen cannot be larger than x y" then go edit your xorg.conf (Most of the time it is at /etc/X11/xorg.conf, got to be root to edit it) and add the line "Virtual x y" (replacing x and y from the error) in the "Display" subsection under the "Screen" section.

Comments

Popular posts from this blog

Dell Inspiron Mini 9

Yesterday went to Low Yat to buy my cousin a sub RM 1500 notebook. Of course with that kind of price tag it would have to be a netbook jelah. Anyhow, I was short on time so I didn't get to browse thoroughly. Just went for one quick round around level 2 and picked the one that I thought would fulfil his need. The thing is, as soon as I stepped out of the lift there was a shop that sold the new Dell Inspiron Mini 9 for only RM 1199. I was suprised. Just 1199. I couldn't believe my eyes. With original Windows XP and all. RM 1199. I thought there must be something wrong. Better survey first. So went around level 2. There was nothing that could match that price. Most of the other netbook from acer, asus and lenovo even was around RM 1600. So I decided I'll just go with the Dell lah. But to tell you the truth if I had money to buy for my own use, I'd go with the Lenovo Ideapad S10. Fuh.. she's one sweet mama... Smooth rounded curves, slim white profile. Pergh.. But anyway

First godot game published

I haven't published anything in google play for a very long time. I'm very happy to finally introduce my latest project to the public. It is a casual game called..... Add Block. Yeah.. The best original game name award coming right up. But seriously, try it out. Find in at the play store here . I love playing casual games on my phone. It's great to pass the time. But it doesn't really do anything for your skills. Or at least not anything for real life important skills (yes, I don't consider being able to identify the consecutive shapes or color as really important). So I decided to create one. So in this game, you practice your math skills. Find the adjacent blocks that add up to the total you need. So it's math, math is important right? Right?.... The levels are unlimited, the idea is that you keep on playing until you can't anymore. You'll die if you finally can't get the number of wins required to pass the level in time. You only have 100 se

Rendering template from string using thymeleaf in spring

Finally solved a very big problem for me... How do I render a page in spring framework that uses the thymeleaf templating engine? The string most probably will come from the database. After long hours of searching and trying, I've got it. First I've got a clue from this particular stackoverflow question . But following an example from there got me an error about class not found for ognl.PropertyAccessor. That solution was found here . So here's how I finally done it... First thing is to create a service where that service can be used wherever you need it in your spring app. @Service public class PortalService { private TemplateEngine templateEngine; private final static String TEMPLATE_LOCAL = "US"; private TemplateEngine getTemplateEngine(){ if(null == templateEngine){ templateEngine = new TemplateEngine(); StringTemplateResolver templateResolver = new StringTemplateResolver(); templat