[ltp] Re: T40p, K.Weidners Multihead approach

Dirk Husemann linux-thinkpad@linux-thinkpad.org
Tue, 03 Feb 2004 19:06:01 +0100


This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig862801FA5AEEE667D6BB1774
Content-Type: multipart/mixed;
 boundary="------------010201060700030308060400"

This is a multi-part message in MIME format.
--------------010201060700030308060400
Content-Type: multipart/alternative;
 boundary="------------050401000809020903030800"


--------------050401000809020903030800
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2004 07:38 AM, Chan-Wah NG wrote:

>Hello Michael,
>
>Wpuld you care to post your XF86Config?  I was interested in this thread
>too... I was trying to get my T41 to display different screen on the LCD
>and the VGA port (connected to projector) but to no avail.  It was
>always the same as my LCD, and thus forcing me to use a smaller
>resolution (like 1024x768) for the LCD (which is capable of 1400x1050)
>when using the projector.
>  
>
in case you are interested: I've got a T30 with 1400x1050 on the LCD, 
and 800x600 on the external (1024x768 works as well, it's just that some 
projectors don't grok that). Also, I've got a simple perl script for 
starting VNC on the external display (and starting other programs there 
as well).

attached are

    * XF86Config
    * beamer
    * ~/.vnc/xstartup

the last one could make use of a proper window manager I guess...haven't 
had time to add that one yet. works nicely: presentation on the external 
port (projector) @ 800x600, LCD at 1400x1050, external visible in VNC 
window on LCD...very useful 8=)

    cheers,
    dirk


-- 
Dr Dirk Husemann, Mobile Computing, IBM Research, Zurich Research Lab
	hud@zurich.ibm.com --- http://www.zurich.ibm.com/~hud/
       PGP key: http://www.zurich.ibm.com/~hud/contact/PGP
  PGP Fingerprint: 983C 48E7 0A78 A313 401C  C4AD 3C0A 278E 6431 A149
	     Email only authentic if signed with PGP key.

Attached to this email is an electronic signature attachment. You can
ignore it if your email program does not know how to verify such a
signature. If you'd like to learn more about this topic, www.gnupg.org
is a good starting point.


--------------050401000809020903030800
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
On 02/03/2004 07:38 AM, Chan-Wah NG wrote:
<blockquote cite="mid1075790331.4887.46.camel@localhost" type="cite">
  <pre wrap="">Hello Michael,

Wpuld you care to post your XF86Config?  I was interested in this thread
too... I was trying to get my T41 to display different screen on the LCD
and the VGA port (connected to projector) but to no avail.  It was
always the same as my LCD, and thus forcing me to use a smaller
resolution (like 1024x768) for the LCD (which is capable of 1400x1050)
when using the projector.
  </pre>
</blockquote>
in case you are interested: I've got a T30 with 1400x1050 on the LCD,
and 800x600 on the external (1024x768 works as well, it's just that
some projectors don't grok that). Also, I've got a simple perl script
for starting VNC on the external display (and starting other programs
there as well).<br>
<br>
attached are<br>
<ul>
  <li>XF86Config</li>
  <li>beamer</li>
  <li>~/.vnc/xstartup</li>
</ul>
the last one could make use of a proper window manager I
guess...haven't had time to add that one yet. works nicely:
presentation on the external port (projector) @ 800x600, LCD at
1400x1050, external visible in VNC window on LCD...very useful 8=)<br>
<br>
&nbsp;&nbsp;&nbsp; cheers,<br>
&nbsp;&nbsp;&nbsp; dirk<br>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Dr Dirk Husemann, Mobile Computing, IBM Research, Zurich Research Lab
	<a class="moz-txt-link-abbreviated" href="mailto:hud@zurich.ibm.com">hud@zurich.ibm.com</a> --- <a class="moz-txt-link-freetext" href="http://www.zurich.ibm.com/~hud/">http://www.zurich.ibm.com/~hud/</a>
       PGP key: <a class="moz-txt-link-freetext" href="http://www.zurich.ibm.com/~hud/contact/PGP">http://www.zurich.ibm.com/~hud/contact/PGP</a>
  PGP Fingerprint: 983C 48E7 0A78 A313 401C  C4AD 3C0A 278E 6431 A149
	     Email only authentic if signed with PGP key.

Attached to this email is an electronic signature attachment. You can
ignore it if your email program does not know how to verify such a
signature. If you'd like to learn more about this topic, <a class="moz-txt-link-abbreviated" href="http://www.gnupg.org">www.gnupg.org</a>
is a good starting point.
</pre>
</body>
</html>

--------------050401000809020903030800--

--------------010201060700030308060400
Content-Type: text/plain;
 name="XF86Config"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="XF86Config"


# XFree86 4 configuration created by redhat-config-xfree86

Section "ServerLayout"
	Identifier     "dual head configuration"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "DevInputMice" "AlwaysCore"
EndSection

Section "Files"

# RgbPath is the location of the RGB database.  Note, this is the name of the 
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
	RgbPath      "/usr/X11R6/lib/X11/rgb"
	FontPath     "unix/:7100"
EndSection

Section "Module"
	Load  "dbe"
	Load  "extmod"
	Load  "fbdevhw"
	Load  "glx"
	Load  "record"
	Load  "freetype"
	Load  "type1"
#	Load  "dri"
EndSection

Section "InputDevice"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#	Option	"Xleds"		"1 2 3"
# To disable the XKEYBOARD extension, uncomment XkbDisable.
#	Option	"XkbDisable"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#	Option	"XkbModel"	"pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#	Option	"XkbModel"	"microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#	Option	"XkbLayout"	"de"
# or:
#	Option	"XkbLayout"	"de"
#	Option	"XkbVariant"	"nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#	Option	"XkbOptions"	"ctrl:swapcaps"
# Or if you just want both to be control, use:
#	Option	"XkbOptions"	"ctrl:nocaps"
#
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option	    "XkbRules" "xfree86"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "us"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "PS/2"
	Option	    "Device" "/dev/psaux"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "no"
EndSection

Section "InputDevice"

# If the normal CorePointer mouse is not a USB mouse then
# this input device can be used in AlwaysCore mode to let you
# also use USB mice at the same time.
	Identifier  "DevInputMice"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "no"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "LCD Panel 1400x1050"
#	HorizSync    31.5 - 90.0
#	VertRefresh  59.0 - 75.0
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Beamer 1024x768"
#	Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync
	HorizSync    30 - 90
	VertRefresh  43 - 110.0
EndSection

Section "Device"
	Identifier  "Videocard0"
	Driver      "radeon"
	VendorName  "Videocard vendor"
	BoardName   "ATI Radeon Mobility 7500"
	Option	    "AGPMode" "4"
	Option	    "AGPFastWrite" "true"
	Option	    "MonitorLayout" "LVDS,CRT"
	Option	    "CloneDisplay" "2"
	Option	    "CloneMode" "1024x768"
	Option	    "CloneHSync" "30-90"
	Option	    "CloneVRefresh" "50-90"
	Option	    "EnablePageFlip" "true"
	Option	    "BackingStore" "on"
	BusID       "PCI:1:0:0"
EndSection

Section "Device"
	Identifier  "Videocard1"
	Driver      "radeon"
	VendorName  "Videocard vendor"
	BoardName   "ATI Radeon Mobility 7500"
	Option	    "AGPMode" "4"
	Option	    "AGPFastWrite" "true"
	Option	    "BackingStore" "on"
	BusID       "PCI:1:0:0"
	Screen      1
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Videocard0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Depth     16
		Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth     24
		Modes    "1400x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Videocard1"
	Monitor    "Monitor1"
	DefaultDepth     16
	SubSection "Display"
		Depth     24
#		Modes    "1024x768" "800x600"
		Modes    "800x600"
	EndSubSection
	SubSection "Display"
		Depth     16
#		Modes    "1024x768" "800x600"
		Modes    "800x600"
	EndSubSection
EndSection

Section "DRI"
	Group        0
	Mode         0666
EndSection


--------------010201060700030308060400
Content-Type: text/plain;
 name="beamer"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="beamer"

#!/usr/bin/perl

use strict qw/vars/;
use Switch;

sub beam ( $ );
sub start_beamer ( $ );
sub stop_beamer ( $ );
sub get_beamer ( $ );
sub attach_beamer ( $ );
sub detach_beamer ( );

# --- beamer is usually :3
my $display = $ENV{BEAMER_DISPLAY} || q(:3);

# --- vnc stuff
my $vncviewer = q(/usr/bin/vncviewer);
my $vncserver = q(/usr/bin/vncserver);
my $x2vnc = q(/usr/bin/x2vnc);

switch ($ARGV[0]) {
	case /\-\-/   { shift @ARGV; beam($display); }

        case /start/    { start_beamer($display); }
        case /stop/    { stop_beamer($display); }
        case /restart/    { stop_beamer($display);
			    start_beamer($display); }

        case /get/    { get_beamer($display); }

        case /attach/ { attach_beamer($display); }
        case /detach/ { detach_beamer; }
}

sub beam ($) {
	my $display = shift;
	my $exec = shift @ARGV;
	my $exec = "env DISPLAY=$display $exec";
	
	printf STDERR "$exec @ARGV\n";
	system "$exec @ARGV";
}

sub start_beamer ($) {
	my $display = shift;
	my $exec_server = "$vncserver  -name beamer -geometry 800x600 -depth 24 $display &";
	my $exec_viewer = "$vncviewer -passwd $ENV{HOME}/.vnc/passwd -nocursorshape -fullscreen -shared -display :0.1 $display &";

	printf STDERR "$exec_server\n";
	printf STDERR "$exec_viewer\n";
	system $exec_server;
	sleep 3;
	system $exec_viewer;
}

sub stop_beamer ($) {
	my $display = shift;
	my $exec = "$vncserver -kill $display";

	printf STDERR "$exec\n";
	system $exec;
}

sub get_beamer ($) {
	my $display = shift;
	my $exec = "$vncviewer  -passwd $ENV{HOME}/.vnc/passwd -shared $display &";

	printf STDERR "$exec\n";
	system $exec;
}

sub attach_beamer ($) {
	my $display = shift;
	my $exec = "$x2vnc -passwd $ENV{HOME}/.vnc/passwd -shared -east localhost$display &";

	printf STDERR "$exec\n";
	system $exec;
}

sub detach_beamer () {
	my $exec = "killall x2vnc";
	printf STDERR "$exec\n";
	system "$exec";
}

--------------010201060700030308060400
Content-Type: text/plain;
 name="xstartup"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="xstartup"

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
chbg -mode smart -interval 1.0 -randomize -R -pattern '*.jpg' $HOME/.slide-show/slides-beamer &
#vncconfig -nowin &
# twm &

--------------010201060700030308060400--

--------------enig862801FA5AEEE667D6BB1774
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFAH+MMPAonjmQxoUkRAu7XAJ0a3KokgG1hT84ELGOC6jq5/zfDsgCfbHsW
aVVb4oFYDKhLNl5WrMZm7S8=
=Sqah
-----END PGP SIGNATURE-----

--------------enig862801FA5AEEE667D6BB1774--