Re: Dual-head with one head rotated?



Here is the answer:


(define (window-avoided-p w)
    "Return t if window W should be kept unobscured by other windows wherever
possible."
    (cond ((or (not (window-mapped-p w))
	       (not (window-visible-p w))) nil)
	  ((window-get w 'avoid) t)
	  ((and dont-avoid-ignored (window-get w 'ignored)) nil)
	  (t avoid-by-default)))

create a sawfish function that moves a window to the area you need
(using move-resize-window-to) and set its attributes to sticky, avoid
and ignore using window-put. That should be enough.

--dmg


On Wed, Jul 23, 2008 at 6:24 PM, Daniel German <dmg uvic ca> wrote:
> Having read a lot of modules recently  the easiest way to implement
> this is to define a phantom
> window that covers exactly the area you don't want to use, and set the
> property of that
> window such that it is one of the "avoided" windows (avoided-windows).
>
> I dont' know what is the property the window has to have. The GNOME
> panel has such property.
> Perhaps looking at the definition of avoided-windows.
>
> Otherwise it will require some major rewriting.
>
> --dmg
>
> On Wed, Jul 23, 2008 at 6:05 PM, Omen Wild <omen+sawfish mandarb com> wrote:
>> I have two questions about using sawfish with dual monitors, but with one
>> rotated.  I have a 1680x1050 LCD hooked up to the DVI port of an Intel
>> 965Q on a Dell Optiplex system.
>>
>> I have a 1280x1024 LCD hooked up to the VGA port.  I added 'Virtual 2704
>> 1280' to the SubSection "Display" part of my xorg.conf and ran the
>> following command:
>> xrandr --output VGA --auto --rotate left --right-of TMDS-1
>>
>> This pulled up the second display rotated (woohoo!) and the speed of
>> the rotated display is even pretty fast (double woohoo!).
>>
>> The problem is that sawfish thinks the screen is a square of 2704x1280
>> pixels, and will happily place and allow windows in the dead zone in
>> the bottom left, i.e. in the xxx's of this bad ascii art:
>>  __________________
>> |           . 1024 |
>> | 1680 x    . 1280 |
>> | 1050      .      |
>> |           .      |
>> |___________.      |
>>  xxxxxxxxxxx|      |
>>  xxxxxxxxxxx|______|
>>
>> Is there some way to convince sawfish that the x'd out part really does
>> not exist and it cannot use it?  I would even be willing to hand edit
>> some source and custom compile if it would fix the issue.
>>
>> Second question, is there a way to make the edge between the two screen
>> (the vertial part with the dots) act as if it is the edge of a window,
>> so when you move windows (or send windows with the 'Corner upper right'
>> command in <http://sawfish.wikia.com/wiki/Corner>) they stop at the
>> intersection of the two screens?
>>
>> The OS is Debian/unstable fully up to date:
>> ii  xserver-xorg             1:7.3+14                 the X.Org X server
>> ii  xserver-xorg-core        2:1.4.2-2                Xorg X server - core server
>> ii  xserver-xorg-video-intel 2:2.3.2-2                X.Org X server -- Intel i8xx, i9xx display driver
>>
>> Many thanks!
>>   Omen
>>
>> --
>> Virtual means never knowing where your next byte is coming from.
>>
>


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