stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [STUMP] Multiple monitors


From: Eric Larson
Subject: Re: [STUMP] Multiple monitors
Date: Fri, 03 Sep 2010 12:42:13 -0500
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/23.2 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

At Fri, 03 Sep 2010 21:25:18 +0400,
Michael Raskin wrote:
> 
> On 09/03/2010 09:14 PM, Eric Larson wrote:
> > Since I'm using it on my laptop with an external monitor, I also wrote
> > a quick script that I can run when I unplug my external monitor.
> > 
> >   from subprocess import call
> >   import re
> >   import os
> >    
> >   class Randr(object):
> >    
> >       def __init__(self):
> >           self.screens = {
> >    
> >               'monitor': 'DVI1',
> >               'laptop': 'LVDS1'
> >           }
> >    
> >       def is_connected(self, fn):
> >           for line in open(fn, 'r'):
> >               if line.startswith('%s connected' % self.screens['monitor']):
> >                   return True
> >    
> >       def run(self):
> >           fn = '.tmp_buffer_python_xstart'
> >           p = call(['xrandr', '-q'], stdout=open(fn, 'w+'))
> >           if self.is_connected(fn):
> >               xrandr_cmd = [
> >                   'xrandr', '--output', self.screens['laptop'], # '--off'
> >                   '--right-of', self.screens['monitor']
> >               ]
> >               p = call(xrandr_cmd)
> >               p2 = call(['xrandr', '--output', self.screens['monitor'],
> >                          '--mode', '1680x1050'])
> >           os.remove(fn)
> >    
> >   if __name__ == '__main__':
> >       r = Randr()
> >       r.run()
> 
> #! /bin/sh
> xrandr -q | grep "VGA-0 connected" &&
>   xrandr --output VGA-0 --right-of LVDS --preferred &
> xrandr -q | grep "VGA-0 connected" ||
>   xrandr --output VGA-0 --off &
> 
> Seems to do the same and is somewhat simpler...

The other thing the script does is set the resolution. That said, I
suspected that a simple shell script solution would be possible. 

When all you have is a hammer... ;)

Eric



reply via email to

[Prev in Thread] Current Thread [Next in Thread]