How to avoid window manager on multihead screens?
I am developing a program that needs two screens in a three
screen multihead system for writing graphics. I use Xlib to write to these screens and want the screens to otherwise have a uniform background that I set. Currently the screens have desktop adornments: a menu bar at the top and a task bar at the bottom, but shows my chosen background and my graphics as intended. I am looking for suggestions on how I can prevent adornments on these screens. I assume adornments are displayed by the desktop manager, but it is not apparent to me where the desktop manager is informed to handle screens 2 and 3. I assume xorg.conf does not play a role here. I am running Ubuntu 8.04 with the metacity window manager and a Gnome desktop. I get the same treatment of screens 2 and 3 if I boot with gdm or I come up on a terminal and execute startx. My graphics hardware is a pair of Nvidia 8400 GPUs, console and second monitor attached to one and the third monitor on the second gpu. I'd be glad to provide more information on my system if desired. I show below a relevant segment of the output from ps ax. Many thanks for any help. fhb . . . 5942 tty1 S+ 0:00 /bin/bash /usr/bin/startx 5959 tty1 S+ 0:00 xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc -auth /tmp/serverauth.DeUITr5949 5960 tty7 SLs+ 3:51 /usr/bin/X11/X -nolisten tcp 5969 tty1 S 0:00 /usr/bin/ck-launch-session /usr/bin/seahorse-agent --execute x-session-manager 5999 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/ck-launch-session /usr/bin/seahorse-agent --execute x-session-manager 6002 tty1 Sl 0:03 x-session-manager 6050 ? Ss 0:00 /usr/bin/seahorse-agent --execute x-session-manager 6069 tty1 SL 0:00 /usr/bin/gnome-keyring-daemon 6078 ? Ss 0:00 dbus-daemon --fork --print-address 19 --print-pid 21 --session 6081 tty1 Sl 0:02 gnome-settings-daemon 6089 tty1 Sl 0:12 /usr/bin/pulseaudio --log-target=syslog 6092 tty1 S 0:00 /usr/lib/pulseaudio/pulse/gconf-helper 6101 tty1 S 0:26 /usr/bin/metacity --sm-client-id=default0 6104 tty1 S 0:28 gnome-panel --sm-client-id default1 6107 tty1 Sl 0:06 nautilus --no-default-window --sm-client-id default2 6117 ? Ss 0:34 gnome-screensaver |
I'm making somewhat of a presumption here, but I would expect that a desktop package would assume it is to use the entire real-estate provided by the X server to which it is attached. I think you should be able to make your display hardware into more than one X server, and dedicate one of them to the two screens you wish to use for your application. I think the mechanics of how this is done depends somewhat on the driver software for your video card(s). I know that Nvidia supports multihead with its 'twinview' mode, but this only combines two displays into one X server. Hope someone else can fill in some details.
--- rod. |
X doesn't have to run a window manager. You can start it with any application, like a kiosk system. This is obviously a limitation for common desktop users, but in your case it would happen on purpose. Your application would be the only program to display anything. Though you have to deal with user input and event loops yourself.
To span multiple screens you could maintain a large offscreen area, and copy parts of that image to the displays that are involved. Double-buffering is anyway good for smooth visual effects. Arch Linux |
All times are GMT -5. The time now is 03:34 PM. |