Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
X GUI

RandR Support on XFree86 4.3 532

Gentu writes "Great news from our favorite windowing system: [Hewlett-Packard] engineers committed a new extension to XFree86, called RandR. XFree86 4.3 (to be released in late 2002/early 2003), will have the ability to truly resize (not via the pseudo-resize CNTRL+[+/-] command), rotate, reflect and change the refresh rate of each screen of an X display on the fly. And KDE seems to be the first desktop environment to add support for the RandR extension."
This discussion has been archived. No new comments can be posted.

RandR Support on XFree86 4.3

Comments Filter:
  • WHOOOOHOO!!! (Score:2, Insightful)

    by bpd1069 ( 57573 )
    Now this is starting to look good for all Free *nixes! Finally...

  • by mhesseltine ( 541806 ) on Sunday October 20, 2002 @07:55PM (#4491930) Homepage Journal

    Now how will I prove my 3733T skillz?

  • An abstract (Score:2, Redundant)

    by jaxdahl ( 227487 )
    The X Window System protocol, Version 11, was deliberately designed to be extensible, to provide for both anticipated and unanticipated needs. The X11 core did not anticipate that the properties of X server screens might need to change dynamically, as occurs frequently with desktops, laptops and hand held computers not envisioned in the 1980's.

    The Resize and Rotate extension (RandR) is a very small set of client and server extensions designed to allow clients to modify the size, accelerated visuals and rotation of an X screen. RandR also has provisions for informing clients when screens have been resized or rotated and it allows clients to discover which visuals have hardware acceleration available.

    RandR needs to be discussed in concert with recent developments in X server implementation and the new Render extension to understand the implications of the aggregate. In isolation, RandR seems to provide a limited but useful improvement, but together with the Render extension and reimplementation of the X server rendering code, RandR provides part of a key change in X Window System capabilities.
  • by The-Dork ( 470891 ) on Sunday October 20, 2002 @07:59PM (#4491954) Homepage
    So in effect, we can have a windoze like app where we could just change the resolution, refresh rate etc. and click "Apply" ?

    ...

    And it will work?

  • so what? (Score:4, Interesting)

    by siliconwafer ( 446697 ) on Sunday October 20, 2002 @07:59PM (#4491957)
    Hrm, neat. so what though? What does this really mean? Will it make Linux/BSD closer to being "ready for the desktop?" How is this going to affect your average user?
    • Re:so what? (Score:4, Insightful)

      by eatenn ( 572604 ) <enntee@@@localgod...net> on Sunday October 20, 2002 @08:19PM (#4492052) Homepage
      Hrm, neat. so what though? What does this really mean? Will it make Linux/BSD closer to being "ready for the desktop?" How is this going to affect your average user?

      Personally, I don't really care what affect this will have in bringing Linux to the desktop. I don't care about the "average user" either.

      I care about me, and I'm glad I'll be able to switch resolutions without having to hack at a config file. I'm sure most people will be too, whether they're chatting with friends or coding. It's good for everyone.

    • Re:so what? (Score:5, Interesting)

      by geekster ( 87252 ) on Sunday October 20, 2002 @08:29PM (#4492102) Homepage
      Games.
      Being able to change resolution and color depth dynamicly, you no longer have to see a game designed for a lower resolution than your desktop run with in a small window with a black border around it. Resolution could be changed before, but not on all chipsets.
      Also running in a different color depth required emulation wich is slow. And this could'nt be changed dynamicly before.

      This is the only thing I've hated about X, so I'm quite happy now.
    • and get ourselves a treat:

      For example, you should be able to tell an application running on your handheld computer to use a nearby desktop display, keyboard and mouse, or a projector on the wall. This should not require stopping and starting the application. You should be able to go home, and decide to import applications you left running at work. There are obviously security, authentication and authorization problems left to work out, but these are generally independent of the base window system.

      Holly network is the computer, Batman! I gotta think about that one, but I'm sure it will not be comming to platforms that are still trying to extort per seat licensing and worry about more than one person running a word processor at one time. How's that for "ready" for the desktop"?

      MMM, don't like frame buffer, it's been slow. The article talks about this frame buffer being faster than other frame buffers, but that does not make it as good as non frame fuffered servers, no?

      Thinking over. Your turn.

    • Re:so what? (Score:3, Insightful)

      by msevior ( 145103 )
      This absolutely vital for doing presentation graphics with your laptop. Video project resolutions hardly ever match your laptops.

      This is absolutely critical for Linx to be a useful desktop/laptop OS.

      Scientists the world over have to use windows for presentations because of this limitation.

      Cheers

      Martin
  • Gnome support (Score:5, Informative)

    by houseofmore ( 313324 ) on Sunday October 20, 2002 @08:00PM (#4491962) Homepage
    From GNOME Summary for 2002-09-29 (mailing.gnome.announce)

    6. RandR is coming

    Jim Gettys doesn't only work on getting GNOME some nice fonts, he mailed the GNOME-hackers list this week to say that he and Keith Packard had checked in RandR into the main XFree tree. RandR is an extension to X which will allow dynamic resize, rotate and reflect. This will for instance solve the issue of having to define tons of resolutions of your X server manually in order to be able to change resolution. Keith and Owen Taylor is already working on adding the needed support in GTK+ and GNOME Control Center maintainer Jody Goldberg responded saying he would take on the task of eventually adding a RandR GUI configuration tool to the GNOME Control Center package. Links below to Keith's RandR paper and Jim's announcement.
    • Re:Gnome support (Score:5, Informative)

      by houseofmore ( 313324 ) on Sunday October 20, 2002 @08:05PM (#4491990) Homepage
      Whoops. Here's are those links:

      http://mail.gnome.org/archives/gnome-hackers-rea do nly/2002-September/msg00282.html

      http://www.xfree86.org/~keithp/talks/randr/
    • Jim Gettys (Score:2, Informative)

      by Anonymous Coward
      For those who don't know, Jim Gettys is one of the principle creators of the X Window System. Currently he is on the board of the GNOME Foundation.
  • KDE not first! (Score:4, Informative)

    by Anonymous Coward on Sunday October 20, 2002 @08:01PM (#4491969)
    Keith Packard provided GNOME patches a couple weeks ago.

    ChangeLogs:

    2002-10-04 Havoc Pennington

    * src/display.c (event_callback): do XRRUpdateConfiguration()
    if we have RandR extension, else poke in Xlib's screen struct to
    update the screen size.

    * configure.in: fix a bogus overwrite of cppflags,
    add a check for RandR extension

    2002-10-07 Mark McLoughlin

    Support RandR extension by resizing the toplevel panels
    if the screen size has changed. Based on patch from
    Keith Packard - #94561. Requires gtk+ HEAD.

    * basep-widget.[ch]: (basep_widget_screen_size_changed):
    * foobar-widget.[ch]: (foobar_widget_screen_size_changed):
    resize the toplevels when the screen size changed.

    * multiscreen-stuff.c:
    (multiscreen_screen_size_changed): re-initialise and request
    a resize on the toplevels.
    (multiscreen_support_init): connect to the "size_changed"
    signal on all screens.
    (multiscreen_reinit): re-initialise the monitor geometries.
  • by ajuda ( 124386 ) on Sunday October 20, 2002 @08:02PM (#4491973)
    I would like to be able to redirect running xwindows applications. Let's say I am running a copy of bzFlag, or some other type of productivity application. Wouldn't it be good to be able to transfer the running application to a different computer if I suddenly have to change terminals?
    • by leoboiko ( 462141 ) <leoboiko@gmail . c om> on Sunday October 20, 2002 @08:08PM (#4491998) Homepage
      Tried xmove?
    • a copy of bzFlag, or some other type of productivity application.

      My, what an interesting life you must lead! :)

      Daniel
    • xmove allows to do this.
      Tt creates a "virtual" Xserver ; you run your apps in the virtual server, and then you can attach the virtual server to a real Xserver, and detach/reattach it to another real Xserver.
      There are some limitations (real servers must have same bpp, for instance...).
  • by Archie Steel ( 539670 ) on Sunday October 20, 2002 @08:02PM (#4491976)
    Is changing bpp on-the-fly also covered by this new (très cool) extension? I skimmed through the announcement but could not find anything about this. Anybody know if color depth switching is planned?
    • Not according to Jim Gettys - this is TBD.
    • by listen ( 20464 ) on Sunday October 20, 2002 @08:15PM (#4492036)
      The RandR extension seems to.
      It will then emulate, using the Render extensions compositing features, any visuals used by apps that are no longer accelerated. ( eg switch from 16 to 32, emulate 16 bit visuals.)
      This means clients which don't know about RandR, and don't change visuals, will not break.
    • by jg ( 16880 ) on Sunday October 20, 2002 @09:59PM (#4492459) Homepage
      Unfortunately not. From the spec as implemented.

      RandR as implemented and integrated into the XFree86 server differs in
      one substantial fashion from the design discussed in that paper: that
      is, RandR 1.0 does not implement the depth switching described in that
      document, and the support described for that in the protocol in that
      document and in the XFree86 implementationhas been removed from the
      protocol described here, as it has been overtaken by events.

      These events include:
      o Modern toolkits (in this case, GTK+ 2.x) have progressed to the point
      of implementing migration between screens of arbitrary depths
      o The continued advance of Moore's law has made limited amounts of VRAM
      less of an issue, reducing the pressure to implement depth switching
      on laptops or desktop systems
      o The continued decline of legacy toolkits whose design would have
      required depth switching to support migration
      o The lack of depth switchin implementation experience in the
      intervening time, due to events beyond our control

      Additionally, the requirement to support depth switching might
      complicate other re-engineering of the device independent part of the
      X server that is currently being contemplated.

      Rather than further delaying RandR's widespread deployment for a
      feature long wanted by the community (resizing of screens,
      particularly on laptops), or the deployment of a protocol design that
      might be flawed due to lack of implementation experience, we decided
      to remove depth switching from the protocol. It may be implementated
      at a later time if resources and interests permit as a revision to the
      protocol described here, which will remain a stable base for
      applications. The protocol described here has been implemented in the
      main XFree86 server, and more fully in the TinyX implementation in the
      XFree86 distribution, which fully implements resizing, rotation and
      reflection.

  • Huh (Score:5, Funny)

    by Graspee_Leemoor ( 302316 ) on Sunday October 20, 2002 @08:08PM (#4492005) Homepage Journal
    What a rip off! Turns out this rotate feature is not a free rotate but fixed 90 degree increments!

    Pfff! And I wanted to have my aterm at a weird angle.

    graspee

  • Not true! (Score:2, Informative)

    by jimmy_dean ( 463322 )
    This is not true about KDE being the first to add support for this extension. GTK v2.1 has had support for this already.
  • Wow... (Score:5, Insightful)

    by coene ( 554338 ) on Sunday October 20, 2002 @08:19PM (#4492051)
    Finally X is getting the same features that most other operating systems have had for a decade... It may sound small, but these are the things that make systems easier to use for the average joe, and goes a long way in usability.

    • it's not the same (Score:5, Insightful)

      by g4dget ( 579145 ) on Sunday October 20, 2002 @09:26PM (#4492356)
      Changing resolution or screen orientation on something like Windows or MacOS is a pretty simple and localized affair--something pokes around with the video hardware and applications get notified that something happened--not very hard, but not very powerful either. Individual X11 implementations have had that for many years as well.

      This extension, together with other X11 features, has a much grander vision: letting applications move seamlessly across displays and devices. This requires defining standard protocols by which different implementations can interoperate and communicate. It also means coming up with standards that work across a wide range of devices.

      I frankly don't know when, or even whether, X11 will be able to deliver on this vision--it's hard and there is still a lot of work left. But I do know that few other systems are even trying, and that functionally, X11 is already far ahead of the alternatives. For all their visual glitz, Windows and MacOS, for example, are just minor variations on the "applications running on my desktop" theme.

  • ...do they mean automatically, as for those of us with pivoting displays that can be viewed landscape or portrait?
    • Once the core extension is in there, it should be simple enough to add - the monitor must have some way of telling a Windows host "I have pivoted", so as long as it can be identified and passed to the server as an even, Bob's your uncle. It needn't even be an X addition - a userland daemon could manage it.
  • And that's all I have to say about that.
  • KDE/Gnome (Score:2, Insightful)

    by phreaknb ( 611492 )
    What about those of us that don't use kde/gnome? Will it be implemented as a program? Or will someone have to write an interface for it?
    • Re:KDE/Gnome (Score:3, Informative)

      by rodgerd ( 402 )
      Your WM will want to understand it, and your toolkit should understand it. But if you read the paper, you'll see they have solutions to help apps that are unfamiliar with the extension cope with their world changing underneath them.
  • screenshots (Score:5, Informative)

    by Anonymous Coward on Sunday October 20, 2002 @08:29PM (#4492106)
    1) dialog [monash.edu.au]

    2) kcontrolmodule [monash.edu.au]

    3) notification [monash.edu.au]

    4) popup [monash.edu.au]
  • KDE and RedHat (Score:2, Insightful)

    Now this is the kind of interaction I like to see between RedHat and KDE. Redhat (and SuSe and Compaq) develop an X extension, KDE immediately adds support for it. That's it. Come on guys, it's all software libre, let's all be friends. There are enough unfriendly people (your favorite MonopoliStic link here) out there :-)
  • This is fine work, I'm sure this will be useful.

    Personally I like the X *feature* that make the display resolution change but not the size of the desktop. I find it invaluable as a global zoom feature, when developing GUIs or watching movies on systems without hardware zoom built in the display card (Xv extension).

    I wish windows could do the same, but no. If you try to zoom in windows the desktop gets messed up. I wonder if windows users will ever get that feature?
  • Mirroring (Score:4, Funny)

    by csnydermvpsoft ( 596111 ) on Sunday October 20, 2002 @09:14PM (#4492311)
    Mirroring support... I can imagine the pranks already...

    Unsuspecting boss: Eeeeek! My computer just got a virus! Fix it!

    Me: Sure... [types a command]... all fixed.

    Boss: That was amazing! What would I ever do without you?

    Me: About that raise I was asking about...
    • by taniwha ( 70410 ) on Sunday October 20, 2002 @10:55PM (#4492726) Homepage Journal
      I used to work somewhere where we designed video cards for Macs - the engineering group was known for pranks and when it was your birthday you were fair game.

      Anyway it was the boss's birthday and the night before he carefully locked his office and set traps in the door so he could tell if anyone had been in .... the next morning he comes in, everything seems OK, he checks the door, his chair, his desk, doesn't find anything ... sits down to work with his computer .... nolthing happens .... about 1/2 an hour later he realises his screen is slowly getting greener and greener ... aha he thinks looks in his system folder, removes a couple of suspicious INITs and reboots, it comes right ..... about 1/2 and hour later kit starts going green again .... he pulls some more stuff, reboots again, but no luck .... he's just about to reformat his disk and reload the OS when lunch came around and we explained ....

      Of course reloading everything wouldn't have done him any good ... we'd burned him a custom ROM for his graphics card

  • by Tommer ( 1913 ) on Sunday October 20, 2002 @09:15PM (#4492317) Homepage
    I'd really love to run XaoS in 8-bit mode and use colour cycling while still having a 32-bit visual
    for everything else. Is this good enough for that?
  • by TheSHAD0W ( 258774 ) on Sunday October 20, 2002 @09:18PM (#4492331) Homepage
    Coders everywhere can always use more R&R. This means we won't have to offer additional vacation time.
  • This is important (Score:4, Insightful)

    by foonf ( 447461 ) on Sunday October 20, 2002 @09:47PM (#4492423) Homepage
    But, I think its impact is being overblown, at the cost of ignoring features which have existed in Xfree86 (and X11 in general) for some time.

    Of course, changing the display resolution itself has always been possible using control-alt-+/-, but without resizing the desktop.

    Full screen games can run at any resolution and color depth supported by the hardware, and included in the XF86Config file, regardless of the desktop resolution, on almost any recent card, if the program itself supports the existing DGA extensions.

    Real-time mode line (ie, refresh rate, dot clock, etc.) tweaking has always been possible with xvidtune and other utilities (the very nice PowerDesk tool with Matrox cards, for instance, which is GPL'd).

    What this does is allow resizing (and less significantly, rotation, reflection, and other similar permutations) of the desktop itself without restarting the X11 server.

    Moreover, this does not automatically mean that an easy to use Windows-style control applet will exist--this is a separate task, as it should be in the Unix tradition, but one which these extensions will make closer to possibility (notwithstanding, I can't see why some tool like this hasn't been developed already by one of the large commercial distributions using functionality already present--see the PowerDesk applet I mentioned above for an example of how this should work).
  • by certron ( 57841 ) on Sunday October 20, 2002 @10:14PM (#4492532)
    OK, maybe there is something wrong with me, but all I can think of with rotate and resize is the following:

    Rotate screen to view centerfold...
    Resize pants.

    I'm a bad bad person. :-)
  • by Francis Avila ( 603590 ) on Sunday October 20, 2002 @11:55PM (#4492972)
    There are a lot of people whining about X (myself included). Most people say X is (take your pick) bloated, slow, obsolete, inefficient, or hopeless. Now some of these individual claims may have some truth to them, but the fact is that X despite its knarliness, works, and it works today. There isn't any real alternative, and it can continue to be extended for a long time.

    But people who say such things about X are missing the point. X is ugly, in the same way that x86 is ugly. I think the analogy is a very apt one. Both are rather old designs, both are the most prevalent, both have had to be extended numerous times (and successfully), and both work, and work quite well. But neither one will get any design awards: the only thing we're doing at this point with either of these is leveraging the existing code base (i.e., the millions of x86 binaries on the one hand and X applications on the other) and avoiding duplication of past work by building something from scratch. And frankly, I think both are beginning to reach the end of the line: the further we go, the more effort we need to expend for an increasingly marginal return.

    For the x86 example, Intel perceives this, and wants to jump ship now, even though its replacement is not as robust, fast, or powerful as its last top of the line. Once again, people who point this fact out are missing the point: Intel is laying down a roadmap, to service a broader goal of an architecture it can grow with for the next decade or more.

    Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.

    I am shocked and amazed that more comments are not mentioning Berlin [berlin-consortium.org], that is, Fresco [fresco.org]. Do people not know about this? This is the only project I've found that has half a chance of being a suitable replacement for X. There's a framework there, a coherent vision, and even a basic running system. This isn't vapor, folks, or are these people a bunch of anti-X whiners with no code to back up their pointless bitching. They're not FUD-mongers; at least listen to their well-balanced (I think) justification [fresco.org] as to why they're working on this project. It's quite easy to see that they're not at all motivated by hatred of X, but by a desire to design an elegant and network-transparent window system.

    Why don't we have more of that nowadays? Half the OSS movement seems to be driven by hatred of Microsoft (or simply closed-source software), rather than love of elegant, useful, robust code born of honest work. At some point someone is going to have to worry about more than simply getting things done as quickly as possible, be-damned-how-it-works, and think more about design and the way things should be. The former type of attitude breeds stuff like MS Windows. Is that really what you want your windowing system to become? If something isn't done before long, X is going to be just like Windows: pasted and taped together and building on a merely serviceable codebase. This, I think, would be a great injustice to X. Let it die a peaceful and honorable death now, rather than a violent and hate-filled one later when it becomes so horrible, so monstrous, that the issue of replacing it is forced upon us and we throw its head on the guillotine.

    Remember that at its inception X itself was merely a design framework by people who wanted to do a windowing system the right way. That X has served so well for so long is a testament to that foresight. But please, let us have the foresight to know when to design something new on that same basis, learning from what we have done. A rejection of the code does not mean a rejection of the vision or of the talent that bore that code.
    • Do Berlin/Fresco work? Do they support my graphics card? Are there any applications for those systems? Are they easy to setup?
      Until all those goals are reached, Berlin and Fresco are only useful to show off how l33t you are, but serve no practical purpose.

      It's funny how you praise Berlin. Berlin communicates via CORBA. And guess what all the anti-GNOME/anti-ORBit trolls and the KDE people say about CORBA? It's slow!

      And X was *designed* to be extensible. The designers back in the 80s realized that their work will once be outdated. Sure, there will be a day when X *must* be replaced, but that day is nowhere near today. X can be extended for a very long time.
    • by psamuels ( 64397 ) on Monday October 21, 2002 @05:35AM (#4493975) Homepage
      Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.

      <eliza>Why do you think that it is going to get harder and harder to grow with X?</eliza>

      (For that matter, why do you think X is bloated, or ugly, or slow, or obsolete, or inefficient?)

      I suggest you check out the X extension mechanism. You know, the thing that makes possible such things as the RandR extension, which is what we're ostensibly talking about here. The original X11 design did not make any provisions for:

      • non-rectangular windows (see the SHAPE extension)
      • double buffering (see the DOUBLE-BUFFER extension)
      • 3D hardware acceleration (see the GLX extension)
      • miscellaneous input devices (see the XInputExtension extension)
      • idle timeout events (see the MIT-SCREEN-SAVER extension)
      • optimising the protocol for low-bandwidth transports (see the LBX extension)
      • eliminating the network socket overhead entirely (see the MIT-SHM extension)
      • setting the output resolution/refresh dynamically (see the XFree86-VidModeExtension extension, and now the RandR extension)
      • transparency and alpha blending, including font antialiasing (see the RENDER extension)
      • video framebuffer acceleration (see the XVideo extension)

      and much, much more. Yet these things all work fine today, without loss of any backward compatibility to older applications.

      I agree with Jim Gettys on this one: people who say X is bloated and/or outdated are usually underinformed - meaning they have not really evaluated the alternatives or tried to design their own alternatives. Either that, or they are looking for something with a lot less functionality, like a simple framebuffer for a PDA.

      (One thing I do think XF86 could still use is a widget set extension. I'm thinking individual toolkits like gtk2 or motif2.1, when installed on an X server, would register sub-extensions with it. The client-side libraries would use them if present, so most widget UI interaction would happen entirely on the server side. I think this would be very good for perceived UI latency. This is something I'd start investigating and hacking on if I had a lot more time than I do, but alas....)

    • But neither one will get any design awards

      Of course the x86 won't get a design award. The x86 wasn't created with extensibility in mind. It has been handicaped from the very beginning. It wasn't designed thinking that they could use more registers in the future, or that it could end up using any register for any purpose. In contrast, the X system has been designed for extensibility, network transparency, multiuser systems and isolation from the kernel.

      Extensibility allows adding functionality to the system. The common example is the Renderer extension, but that is just a small example. They could have been created a widget set as an extension to reduce network traffic (not that it would be a good idea). The problem with extensions is not the proper extensions but standarisation. A non standarised extension is useless.

      Network transparency allows to use any machine (that uses X) from a single location. You can have a desktop with several apps from different machines. You can move to another location and use the same machine you used before.

      Multiuser systems allow various users to be logged into the same machine at the same time without interfering one to the other except for some level of resource competition. This allows to reduce the number of systems to be configured and mantained.

      Isolation from the kernel allows to execute the X server in a separate process. The implications of this are that if for any reason there is any operation that will cause a crash, it will only crash the X server and not the entire operating system.

      I understand that these features are of no use to the average user of a computer. In the other hand they are completely transparent to the user. I like it's design very much. What problems do people find in X?

  • by ProfessorPuke ( 318074 ) on Monday October 21, 2002 @03:27AM (#4493616)
    It's about time this came out. For a long time I've wondered why X11 (and XFree86 in particular) wasn't making lots of obvious, incremental usability improvements. Not only does it have the (much repeated) opensource advantage of "don't just complain, submit a patch!", but also the modular "extension" architexture, which should allow changes to be made without damaging backwards compatibility.

    However, centuries passed (of computer time, which is rapider than the Julian calendar) before this fundamental capability appeared. Microsoft Windows(tm) has done this since 1996 (or earlier?). Apple surely did it long before. The fact that it took so long led me to doubt the soundness of the X11 system design- either no one else noticed those obvious deficienies (unlikely!), or the vast complexity of the protocol prohibited the creation of new functionality without the developer first learning each little secret of the large xfree86 codebase.

    We now see that the latter interpretation was somewhat correct, as this paper explains that the creation of RandR was possible only due to new software (TinyX, etc) that isolated the RandR guys from needing to deal with all of the complexities of X itself. Of course, the relentless increase in processing speed (fruit of Moore's Observation) helped too.

    I hope that changes like this have "lowered the hackivation energy" enough so that XFree86 can quickly get some other useful improvements added- within a short time, it might be possible to regain a little Wow Factor over the Microsoft and Apple GUI interfaces. I'll list some improvements I'd like to see. The RandR writeup mentioned some of these, hopefully the same team is already planning work on them) Others of these things can be done already, but with awkward, unstable configurations, or through VNC. We need these capabilities in popular linux distributions, and without VNC's least-common-denominator slowness.

    • Migrate a program from one Xserver to another We should be able to use a utility program or a window-manager icon to select a window to send elsewhere. This should be possible from a remote command line login as well (so that if I wander into another person's office I can show him either a single program I'm running, or my whole desktop). It should be your option whether or not the program permantently relocates to the new server (or returns when the window is dismissed). This brings up another feature,
    • Run the same program on multiple X displays aka xfork. Operator's choice as to whether the remote display is read-only, or also accepts input. The default should be read-only, unless the toolkit has coded support for this feature, in which case it should default to allowing the remote to provided logically read-only input only (scroll around in the window, but not change the document).
      (I've heard Microsoft's Netmeeting software does something like this. Probably just a screen scraper, but still a workable feature.)
    • Lock your desktop without locking the Xserver When I run xlock, it shouldn't only allow MY password to reactivate the display- other persons should be able to walk over and login as well. I can either wait for her turn to be up, or find another Xserver and use the above features to migrate my display to my new desk. This is a natural match for X11's capabilities, but one that Microsoft got last year. *nix has to catch up quick!
    • Dynamically reassign input devices Now that a user can change his resolution without restarting X, he should be able to do the same with his input devices. Boot your computer without having any mice installed, get to X, run mozilla to see a web-page on how to configure your Wacom table, and get that working, without needing to restart. (Linux does this to some extent with things like symlinks in /dev and the /dev/input/mice devices, but it could be better).
    • Resurrect the multi-headed display In ancient times, one computer would run 16 interactive sessions on terminals attached to its serial ports. Those capabilities were lost as displays became more complicated and PCs and fat clients emerged. But now, with the rise of USB peripherals and multiple active PCI video cards, commidity hardware could again support this functionality. On an Athlon 1500, I should be able to install a 2nd video card, 2 usb mice, and one usb keyboard, and get a fully independent GUI desktop. (Yes, this usage is a geek stunt- its real-life utility will be bounded by the length of a VGA cable)
    • Support joysticks in X This should be an easy one, right guys?
    • And many more Any ideas?
    An interesting consequence of some changes like this is that users might tend to leave X11 programs running for weeks at a time, with virtual memory becoming like a form of application serialization/persistence. That could have negative implications for efficiency and design. ("Oh, I don't need to put XMMS in my startup folder, I just left it running from last year")
  • From the article:
    Menus are an important special case as they are typically the only user interface elements not managed by the window manager.
    I've wondered about this since I first started working with X11 back in 1993 [kde.org]. Menus should be managed by the window manager, just like the title bars. This wouldn't be hard to do, either.

    An application would define a property, WM_MENU, on any window that needs a menu. The property would be a list of menu items, each similar to the structs used in just about every windowing system, and allowing recursive definitions of other menus by pointing to other window properties. Applications wouldn't have to respond to the menu events, only to the final selection. The advantages would be many.

    • Applications could be smaller, since they won't have to manage the menus.
    • Applications, especially those running remotely from the display server, would seem more responsive to the user because the menu would be handled locally.
    • Best of all, window managers could offer more choice in menu bars.
    Right now, every X11-based system has to use Microsoft's look-and-feel for application menus. If the WM handled menus, the WM could offer choices, such as putting the menu bar along the top of the display [asktog.com]. Or by changing one preference, you could implement pie-menus [piemenus.com] in all of your applications. Or someone could come up with something even better!

E = MC ** 2 +- 3db

Working...