<meta content="OpenOffice.org 2.2 (Linux)" name="GENERATOR" /><meta content="Alberto Milone" name="AUTHOR" /><meta content="20070604;22164000" name="CREATED" /><meta content="Alberto Milone" name="CHANGEDBY" /><meta content="20070605;190000" name="CHANGED" /> <p style="margin-bottom: 0cm;" class="western">I have been working at nights on a new project of mine. I have always thought that Keith Packards’ RandR was an excellent tool and I wanted to make xrandr (its textual interface) more userfriendly. I am aware that another chap is working on a UI written in C, however I thought I would contribute with my Python application.</p> <p style="margin-bottom: 0cm;" class="western">RandrGUI (its provisional name) is a GTK interface to xrandr. I did not create Python bindings for RandR (since I can’t code in C, <strong>yet</strong><span style="">) but an application which captures the output of xrandr and uses it to apply the settings that users choose.</span></p> <p style="margin-bottom: 0cm;" class="western">I installed Debian Sid, since it uses xserver-xorg 1.3, randr 1.2 and the intel driver 2.0, and started developing my application. I wrote the interface using glade (so that I don’t have to change the code if I want to make the UI look different.</p> <p style="margin-bottom: 0cm;" class="western"><span style="">I have almost finished writing </span><strong>version 0.1 which will enable you to</strong><span style="">:</span></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> clone your screen on an external screen or TV</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> rotate your screen(s)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> change your screen(s) resolution</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western">You will be able to do all this without touching your xorg.conf, only a few mouse clicks are required.</p> <p style="margin-bottom: 0cm;" class="western"><br/> </p> <p style="margin-bottom: 0cm;" class="western"><strong>What are the requirements?</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> xserver-xorg 1.3</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> randr 1.2</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> the intel driver 2.0 (or the ATI open source driver from GIT code)<br/> </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> A GNU/Linux distribution which uses the first three elements in this list.</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western">This means that you will not be able to use it on Feisty. Maybe on Gutsy.</p> <p style="margin-bottom: 0cm;" class="western"><br/> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Does it work flawlessly?</strong></p> <p style="margin-bottom: 0cm;" class="western">No,not yet. At least not with the version of randr available on Debian unstable. However it works quite well here.</p> <p style="margin-bottom: 0cm;" class="western"><br/> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Known Issues</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> There is no way to select PAL/NTSC for your CRT TV therefore my TV works at 30Hz and the video is black and white *<br/> </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> I do not know how Randrgui will work with HD TVs *<br/> </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"><span style="">Sometimes you have to change the resolution of your 2</span><sup><span style="">nd</span></sup><span style=""> screen in order to get the right resolution on your first screen (this means that more clicks are required).</span></p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> If I use a DVI2VGA adapter 1 extra TMDS-1 device spawns up (I’ll have to ask some Xorg hackers about this)</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western"><strong> * As far as I know,the first 2 problems are solved in Randr GIT code </strong><span style="">therefore I will have to play with the experimental code and adapt randrgui.</span></p> <p style="margin-bottom: 0cm;" class="western"><br/> </p> <p style="margin-bottom: 0cm;" class="western"><strong>TODO</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> Write a logger (for version 0.1 ?)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Give the option to use each screen separately (instead of just cloning your main screen on the other screens)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Adapt Randrgui to Randr’s GIT code</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Find a better name for Randrgui</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> make a deb package</p> </li> </ul> <p><strong><br/><br /> </strong></p> <p><strong>Release date</strong><br/> </p> <p>I hope to release it soon. I am studying all day for my English and Spanish exams therefore I can code only at nights.<br/> </p> <p style="margin-bottom: 0cm;" class="western"><br/> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Screenshots</strong></p> <p style="margin-bottom: 0cm;" class="western">I know this screenshot does not show how RandrGUI works therefore I promise that I will post more screenshots soon.</p> <p><img src="http://albertomilone.com/images/randrgui1.jpg" alt="randrgui in action" /></p> <p style="text-align: right; font-size: 8px">Blogged with <a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new">Flock</a></p> </p> </div> <!--<div id="LeftColumnFill" class="Fill"></div> --> <!-- <div class="Comments"> --> <div id="LeftContents"> <p class="Comments">Posted by admin | June 5, 2007 3:27 pm <br> Filed under: <a href="http://albertomilone.com/wordpress/?cat=11" title="View all posts in Debian" rel="category">Debian</a>,<a href="http://albertomilone.com/wordpress/?cat=8" title="View all posts in Ubuntu" rel="category">Ubuntu</a> <br> <a href="http://albertomilone.com/wordpress/?p=93#comments" title="Comment on A GUI for RandR">Comments (16)</a> | </p><br> </div> </div> <!-- You can start editing here. --> <h3 id="comments">16 Responses to “A GUI for RandR”</h3> <ol class="commentlist"> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-735"> <cite><a href='http://arvindn.livejournal.com' rel='external nofollow' class='url'>randomwalker</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-735" title="">June 5th, 2007 at 4:57 pm</a> </small> <p>I think you should call it gRandR, pronounced ‘grander’.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-736"> <cite>Martijn</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-736" title="">June 5th, 2007 at 5:38 pm</a> </small> <p>Is this related to the DisplayConfigGTK spec? <a href="https://wiki.ubuntu.com/DisplayConfigGTK" rel="nofollow">https://wiki.ubuntu.com/DisplayConfigGTK</a></p> <p>You might want to team up with those people, instead of duplicating effort.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-737"> <cite><a href='https://blueprints.launchpad.net/ubuntu/spec/simple-x-mode-selection' rel='external nofollow' class='url'>Fabian Rodriguez</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-737" title="">June 5th, 2007 at 5:48 pm</a> </small> <p>Have you followed this spec:<br /> <a href="https://blueprints.launchpad.net/ubuntu/" rel="nofollow">https://blueprints.launchpad.net/ubuntu/</a> spec/simple-x-mode-selection</p> <p>?</p> <p>There’s ongoing work to have this and other problems in X solved by next Ubuntu release. I’d hate to see duplicate work!</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-738"> <cite>albertomilone</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-738" title="">June 5th, 2007 at 6:04 pm</a> </small> <p>I see your concerns however one of the Pre-requisites of DisplayConfigGTK are the “python bindings for xrandr 1.2. Possibly ctypes would be enough.”</p> <p>My application gets around the problem. And it already works well.</p> <p>Of course I would be glad to help those people (provided that my help is welcome).</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-739"> <cite><a href='http://www.digitalprognosis.com' rel='external nofollow' class='url'>Jeff Schroeder</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-739" title="">June 5th, 2007 at 7:08 pm</a> </small> <p>Alberto,</p> <p>This looks really nice, I’ll try it out on Gutsy in a few days and let you know how it goes.</p> <p>Keep up the good work!</p> <p>In other news, envy reboots my nvidia laptop when trying to create a package, I’ll email you what it does sometime soon.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-740"> <cite>Mathieu Laurent</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-740" title="">June 5th, 2007 at 8:02 pm</a> </small> <p>Great project Alberto ! And good luck for your exam ;-)</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-741"> <cite>David Nusinow</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-741" title="">June 5th, 2007 at 8:12 pm</a> </small> <p>This is great to see! If you are interested in getting it in to Debian, let me know and I’ll help make it happen. If you’re interested in cooperating with the X Strike Force, please write us at <a href="mailto:debian-x@lists.debian.org">debian-x@lists.debian.org</a>.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-742"> <cite>albertomilone</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-742" title="">June 5th, 2007 at 11:03 pm</a> </small> <p>@Jeff<br /> sure. Let me know when you have time ;)</p> <p>@David Nusinow:<br /> I’ll be glad to help. I subscribed to the mailing list</p> <p>@all<br /> thanks for your support ;)</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-743"> <cite><a href='http://itmanagement.earthweb.com/' rel='external nofollow' class='url'>Matt Hartley</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-743" title="">June 5th, 2007 at 11:18 pm</a> </small> <p>(Took me forever to realize I had to click on “Leave an URL” just to enter the mandatory anti-spam word, may need to make this a little more clear. Sorry, just really found that annoying)</p> <p>—-</p> <p>Hi again, it’s Matt (the guy who did the “OSS projects to watch” for Datamation)</p> <p>I think this is *fantastic* and would also be interested in how dual-displays are handled? Not cloning, rather extended twinview (NVIDIA) support?</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-744"> <cite><a href='http://itmanagement.earthweb.com/' rel='external nofollow' class='url'>Matt Hartley</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-744" title="">June 5th, 2007 at 11:22 pm</a> </small> <p>N/M, it looks like you are already ahead of me on the dual-monitor stuff. ;)</p> <p>“…Give the option to use each screen separately (instead of just cloning your main screen on the other screens)”</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-745"> <cite>Bryce Harrington</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-745" title="">June 6th, 2007 at 1:21 am</a> </small> <p>Hiya Alberto,</p> <p>I’m one of the people working on displayconfig-gtk for Ubuntu (actually I focus more on Xorg itself, but this is an important piece). We would love to have your help, especially if you have sorted out issues we haven’t yet.</p> <p>Display detection and configuration has been a problematic area with Ubuntu historically, but my hope is that with a good gui/randr tool we’ll be able to turn this into a big strength. So the more good brains we can get working on this solution, the better! I would be happy to put you in touch with folks, or come by the #ubuntu-devel channel on freenode and look for glatzor or I.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-746"> <cite>albertomilone</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-746" title="">June 6th, 2007 at 9:29 am</a> </small> <p>@Matt<br /> currently only cloning is implemented. The multi-screen I wrote about consists in having different workspaces on distinct displays. However I feel that GNOME and KDE are not ready for multi-screen (especially KDE). But of course I hope to be proven wrong.</p> <p>I have to ask Xorg’s mailing list if something similar to twinview can be done through randr. If it’s doable then I’ll implement it ;)</p> <p>@Bryce<br /> I would be more than glad to help and I’ll definitely look for you on freenode, or via email.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-747"> <cite><a href='http://popey.com/' rel='external nofollow' class='url'>Alan Pope</a></cite> Says: <br /> <small class="commentmetadata"><a href="#comment-747" title="">June 6th, 2007 at 10:49 am</a> </small> <p>My laptop is a tablet one, and when I rotate the screen I have to rotate the wacom tablet also otherwise when I move the stylus up it goes left, and when I move it down it goes right.</p> <p>xsetwacom is the command you need, which is in the wacom-tools package (main).</p> <p>So to rotate you might issue:-</p> <p> sudo xsetwacom set cursor rotate</p> <p>Where is CW, CCW, HALF or NONE (default).</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-748"> <cite>albertomilone</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-748" title="">June 6th, 2007 at 10:54 am</a> </small> <p>@Alan<br /> thanks for your suggestion. The same happens with my mouse or touchpad.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="alt" id="comment-749"> <cite>C</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-749" title="">June 26th, 2007 at 1:14 pm</a> </small> <p>What about color depth? I tried to change mine from 24 to 16 once, and X fell down and couldn’t get up.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> <div id="containcomments"> <div id="LoginTopRight" class="TopRightC"></div> <div id="LoginTopLeft" class="TopLeftC"></div> <div id="commenttext"> <li class="" id="comment-750"> <cite>albertomilone</cite> Says: <br /> <small class="commentmetadata"><a href="#comment-750" title="">June 26th, 2007 at 2:03 pm</a> </small> <p>@C<br /> I’m not sure whether you can change the colour depth of your display.</p> </li> </div> <!-- For the rounded corners --> <div id="LoginBottomRight" class="BottomRightC"></div> <div id="LoginBottomLeft" class="BottomLeftC"></div> <br> </div> </ol> <h3 id="respond">Leave a Reply</h3> <form action="http://albertomilone.com/wordpress/wp-comments-post.php" method="post" id="commentform"> <p><input type="text" name="author" id="author" value="" size="22" tabindex="1" /> <label for="author"><strong>Name</strong> (required)</label></p> <p><input type="text" name="email" id="email" value="" size="22" tabindex="2" /> <label for="email"><strong>Mail</strong> (will not be published) (required)</label></p> <p><input type="text" name="url" id="url" value="" size="22" tabindex="3" /> <label for="url"><strong>Website</strong></label></p> <p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p> <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" /> <input type="hidden" name="comment_post_ID" value="93" /> </p> <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="f8fe476542" /></p> <div style="display:block;" id="secureimgdiv"> <p><label for="securitycode">Anti-spam word: (Required)</label><span style="color:#FF0000;">*</span><br /> <small>To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.</small><br /> <input type="text" name="fa3b70f5982d812fd1dcb88061bafc39" id="cas_fieldname" size="30" /> <input id="cas_match" type="hidden" name="matchthis" value="290547" /> <a id="cas_link" href="http://albertomilone.com/wordpress/wp-content/plugins/peters-custom-anti-spam-image/custom_anti_spam.php?audioselect=290547" rel="nofollow" title="Click to hear an audio file of the anti-spam word"> <img id="cas_image" src="http://albertomilone.com/wordpress/wp-content/plugins/peters-custom-anti-spam-image/custom_anti_spam.php?antiselect=290547" alt="Anti-spam image" style="border:1px solid black;vertical-align:top;height:50px;width:160px;" /></a></p> </div> <script language='JavaScript' type='text/javascript'> <!-- var commentinput = document.getElementById("comment").parentNode; var submitp = commentinput.parentNode; var substitution2 = document.getElementById("secureimgdiv"); submitp.insertBefore(substitution2, commentinput); // --> </script> </form> <div id="LeftColumnFill" class="Fill"></div> <div id="Footer"> </div> </div> <div id="LeftContainer"> <div id="Footer"> Copyright © 2005 Your Comany. Design by <!--<a href="http://oswd.org/designs/search/designer/id/7724/">Gururaj</a>.--> <a href="http://openwebdesign.org/userinfo.phtml?user=kpgururaja">Gururaj</a>. </div> </div> </body> </html>