Committed Xinerama cleanup and a restructuring patch

2021-11-23 Thread Dominik Vogt
Just committed

 1) The Xinerama cleanup.
 2) A big patch that makes move_resize.c and some related places
in other files use the types position, size_rect and rectangle.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Dominik Vogt
On Tue, Nov 23, 2021 at 01:44:52AM +0100, Dominik Vogt wrote:
>   Menu foomenu monitor c c
>
> Should place the menu in the middle of the current monitor.

Or

   Menu foomenu c-20 c+30

should place it 20% of the monitor size left from the center and
30% below the center.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Dominik Vogt
On Mon, Nov 22, 2021 at 11:52:38PM +, Thomas Adam wrote:
> On Tue, Nov 23, 2021 at 12:31:15AM +0100, Dominik Vogt wrote:
> > The old manmage said:
> >
> >   XineramaRoot
> >
> >   the root window of the whole Xinerama screen.  Equivalent to
> >   "root" when Xinerama is not used.
> >
> > Can you please restate that for me?  What is "whole Xinerama
> > screen" in xrandr terms?
>
> >From a quick scan of the code in menus.c where xineramaroot is being used,
> it's not entirely clear to me,

In the past it referenced the current Xinerama screen, not the
whole root window.  When a menu is placed the code needs a
reference rectangle to calculate the menu position.  It can be
relative to the pointer, to a window, to the root window, to a
monitor etc.

> but if this option is meant to do what I think
> it is, then this would be taking the width/height of the monitor the
> pointer/window is on, rather than referencing the width/height of the entire
> root window.

That would be correct.

Renamed it to "monitor" and "fMonitorContext".  There's only one
place in the code that evaluates the flag, and that looks fishy.
Can you test it?

  Menu foomenu monitor c c

Should place the menu in the middle of the current monitor.

The code is on the dv/devel branch (you may not want the top
commit on that branch).

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Thomas Adam
On Tue, Nov 23, 2021 at 12:31:15AM +0100, Dominik Vogt wrote:
> The old manmage said:
> 
>   XineramaRoot
> 
>   the root window of the whole Xinerama screen.  Equivalent to
>   "root" when Xinerama is not used.
> 
> Can you please restate that for me?  What is "whole Xinerama
> screen" in xrandr terms?

>From a quick scan of the code in menus.c where xineramaroot is being used,
it's not entirely clear to me, but if this option is meant to do what I think
it is, then this would be taking the width/height of the monitor the
pointer/window is on, rather than referencing the width/height of the entire
root window.

Kindly,
Thomas



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Dominik Vogt
On Mon, Nov 22, 2021 at 10:46:20PM +, Thomas Adam wrote:
> On Mon, Nov 22, 2021 at 11:26:53PM +0100, Dominik Vogt wrote:
> > On Sun, Nov 21, 2021 at 12:39:07AM +0100, Dominik Vogt wrote:
> > > Patch attached.  Can you please double check and fill in the gaps?
> > > (see comments belo).
> > >
> > > > > ./fvwm/menus.c:   fXineramaRoot = False;
> > > > > ./fvwm/menus.c:   else if (StrEquals(tok,"xineramaroot"))
> > >
> > >
> > > Not sure what the right name of the option and the flag variable
> > > should be.  There's only a placeholder in the man page either.
>
> Making that change would be syntactically breaking people's configs, but... I
> bet it's a rarely-used option that should just be "screenroot" or something.

It can have two names, a real one and still "xineramaroot" for
compatibility.  Screenroot?  Rootscreen?  Just tell me a good
name.

The old manmage said:

  XineramaRoot

  the root window of the whole Xinerama screen.  Equivalent to
  "root" when Xinerama is not used.

Can you please restate that for me?  What is "whole Xinerama
screen" in xrandr terms?

> > > > > ./perllib/FVWM/Commands.pm:   descr => q{Move a window to 
> > > > > another Xinerama screen},
> > >
> > > [MOVE_TO_SCREEN]
> > > This one should be just renamed to just "screen"?
>
> Yes please.

Good.  It's already part of the patch.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Thomas Adam
On Mon, Nov 22, 2021 at 11:26:53PM +0100, Dominik Vogt wrote:
> On Sun, Nov 21, 2021 at 12:39:07AM +0100, Dominik Vogt wrote:
> > Patch attached.  Can you please double check and fill in the gaps?
> > (see comments belo).
> >
> > > > ./fvwm/menus.c: fXineramaRoot = False;
> > > > ./fvwm/menus.c:   else if (StrEquals(tok,"xineramaroot"))
> >
> >
> > Not sure what the right name of the option and the flag variable
> > should be.  There's only a placeholder in the man page either.

Making that change would be syntactically breaking people's configs, but... I
bet it's a rarely-used option that should just be "screenroot" or something.

> > > > ./perllib/FVWM/Commands.pm: descr => q{Move a window to 
> > > > another Xinerama screen},
> >
> > [MOVE_TO_SCREEN]
> > This one should be just renamed to just "screen"?

Yes please.

> Ping.

Sorry, I didn't spot this earlier.

Kindly,
Thomas



Re: [PATCH/RFC] Xinerama

2021-11-22 Thread Dominik Vogt
On Sun, Nov 21, 2021 at 12:39:07AM +0100, Dominik Vogt wrote:
> Patch attached.  Can you please double check and fill in the gaps?
> (see comments belo).
>
> > > ./fvwm/menus.c:   fXineramaRoot = False;
> > > ./fvwm/menus.c:   else if (StrEquals(tok,"xineramaroot"))
>
>
> Not sure what the right name of the option and the flag variable
> should be.  There's only a placeholder in the man page either.
>
> > > ./perllib/FVWM/Commands.pm:   descr => q{Move a window to 
> > > another Xinerama screen},
>
> [MOVE_TO_SCREEN]
> This one should be just renamed to just "screen"?

Ping.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



[PATCH/RFC] Xinerama

2021-11-20 Thread Dominik Vogt
On Sat, Nov 20, 2021 at 10:24:46PM +, Thomas Adam wrote:
> On Sat, Nov 20, 2021 at 03:54:10PM +0100, Dominik Vogt wrote:
> > On Sat, Nov 20, 2021 at 02:15:58PM +, Thomas Adam wrote:
> > > On Sat, Nov 20, 2021, 14:13 Dominik Vogt  wrote:
> > >
> > > > Is Xinerama still useful for anything or can we remove it?
> > > >
> > > It has already been removed. Where are you seeing references to it?

Patch attached.  Can you please double check and fill in the gaps?
(see comments belo).

> > ./fvwm/menus.c: fXineramaRoot = False;
> > ./fvwm/menus.c:   else if (StrEquals(tok,"xineramaroot"))


Not sure what the right name of the option and the flag variable
should be.  There's only a placeholder in the man page either.

> > ./perllib/FVWM/Commands.pm: descr => q{Move a window to another 
> > Xinerama screen},

[MOVE_TO_SCREEN]
This one should be just renamed to just "screen"?

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt
From 03149ce8658894f22e3c5e17cc8d981bb9563ec8 Mon Sep 17 00:00:00 2001
From: Dominik Vogt 
Date: Sun, 21 Nov 2021 00:27:00 +0100
Subject: [PATCH 1/4] Remove Xinerama leftovers.

---
 bin/fvwm-config.in   |  6 +++---
 doc/fvwm3_manpage_source.adoc|  5 -
 fvwm/add_window.c|  3 +--
 fvwm/commands.h  | 10 -
 fvwm/functable.c |  2 +-
 fvwm/fvwm.h  |  8 +++
 fvwm/menuparameters.h|  6 ++
 fvwm/menus.c | 27 +++
 fvwm/module_interface.h  |  1 -
 fvwm/move_resize.c   | 15 ++---
 fvwm/placement.c |  4 ++--
 fvwm/screen.h|  1 -
 fvwm/style.c | 24 ++---
 fvwm/style.h |  8 +++
 fvwm/update.c|  6 --
 fvwm/windowlist.c|  2 +-
 libs/FTips.c |  2 +-
 libs/defaults.h  |  6 --
 modules/FvwmButtons/FvwmButtons.h|  1 -
 modules/FvwmForm/FvwmForm.c  | 17 ---
 perllib/FVWM/Commands.pm | 32 +---
 perllib/FVWM/Tracker/GlobalConfig.pm |  7 +++---
 22 files changed, 59 insertions(+), 134 deletions(-)

diff --git a/bin/fvwm-config.in b/bin/fvwm-config.in
index 77ea48a3..4ca9edce 100644
--- a/bin/fvwm-config.in
+++ b/bin/fvwm-config.in
@@ -90,9 +90,9 @@ with_shape=@with_shape@
 with_shm=@with_shm@
 with_sm=@with_sm@
 with_xcursor=@with_xcursor@
-with_xinerama=@with_xinerama@
 with_xft=@with_xft@
 with_xpm=@with_xpm@
+with_xrandr=@with_xinerama@
 with_xrender=@with_xrender@

 while test $# -gt 0; do
@@ -162,9 +162,9 @@ while test $# -gt 0; do
 			test "$with_shm"= "yes" && echo "shm"
 			test "$with_sm" = "yes" && echo "sm"
 			test "$with_xcursor"= "yes" && echo "xcursor"
-			test "$with_xinerama"   = "yes" && echo "xinerama"
 			test "$with_xft"= "yes" && echo "xft"
 			test "$with_xpm"= "yes" && echo "xpm"
+			test "$with_xrandr" = "yes" && echo "xrandr"
 			test "$with_xrender"= "yes" && echo "xrender"
 			;;

@@ -210,9 +210,9 @@ while test $# -gt 0; do
 			echo "	sm (session management): $with_sm"
 			echo "	rsvg (SVG icons and images): $with_rsvg"
 			echo "	xcursor (ARGB/animated cursors): $with_xcursor"
-			echo "	xinerama (multi-head): $with_xinerama"
 			echo "	xft (FreeType anti-alias font): $with_xft"
 			echo "	xpm: $with_xpm"
+			echo "	xrandr (multi-head): $with_xrand"
 			echo "	xrender (XFree86 Xrender extention): $with_xrender"
 			;;

diff --git a/doc/fvwm3_manpage_source.adoc b/doc/fvwm3_manpage_source.adoc
index 42187d14..dee9a0e0 100644
--- a/doc/fvwm3_manpage_source.adoc
+++ b/doc/fvwm3_manpage_source.adoc
@@ -2264,6 +2264,9 @@ The _context-rectangle_ can be one of:
 _Root_:::
 	the root window of the current screen.
 +
+_ScreenRoot_:::
+	!!!???
++
 _Mouse_:::
 	a 1x1 rectangle at the mouse position.
 +
@@ -6130,7 +6133,7 @@ it is still possible to move or resize windows across the edge of the
 current screen. See also *EdgeThickness*.

 The option _EdgeMoveResistance_ makes it easier to place a window
-directly adjacent to the screen's or xinerama screen's border. It
+directly adjacent to the screen's border. It
 takes one or two parameters. The first parameter tells how many pixels
 over the edge of the screen a window's edge must move before it
 actually moves partia

Re: Xinerama

2021-11-20 Thread Thomas Adam
On Sat, Nov 20, 2021 at 03:54:10PM +0100, Dominik Vogt wrote:
> On Sat, Nov 20, 2021 at 02:15:58PM +, Thomas Adam wrote:
> > On Sat, Nov 20, 2021, 14:13 Dominik Vogt  wrote:
> >
> > > Is Xinerama still useful for anything or can we remove it?
> > >
> > It has already been removed. Where are you seeing references to it?
> 
> Everywhere.  I'll remove the junk on the parser branch.
> 
>  $ rgrep -i xinerama . 2> /dev/null
> ./libs/defaults.h:/*** Xinerama ***/
> ./libs/defaults.h:#define DEFAULT_XINERAMA_ENABLEDTrue /* Xinerama on 
> by default */
> ./libs/defaults.h:#define XINERAMA_CONFIG_STRING "XineramaConfig"

These can go, and the corresponding callers in FvwmForm can be changed.  This
looks to be the mechanism module used to use to register Xinerama interest.

> ./libs/FTips.c:   fscreen_scr_arg *fsarg = NULL; /* for now no xinerama 
> support */

That comment is misleading and can be changed,

> ./modules/FvwmForm/FvwmForm.c:  if (strncasecmp(buf, XINERAMA_CONFIG_STRING,
> ./modules/FvwmForm/FvwmForm.c:  
> sizeof(XINERAMA_CONFIG_STRING)-1) == 0)
> ./modules/FvwmForm/FvwmForm.c:FScreenConfigureModule(buf + 
> sizeof(XINERAMA_CONFIG_STRING)-1);
> ./modules/FvwmForm/FvwmForm.c:buf, XINERAMA_CONFIG_STRING, 
> sizeof(XINERAMA_CONFIG_STRING)-1)
> ./modules/FvwmForm/FvwmForm.c:FScreenConfigureModule(buf + 
> sizeof(XINERAMA_CONFIG_STRING)-1);

See above.

> ./modules/FvwmButtons/FvwmButtons.h:void handle_xinerama_string(char *args);

That's just a function declaration without an implementation and can be
removed.

> ./.git/rr-cache/1c03ad931074cd97196af43ae2fc0134a13171cd/preimage:directly 
> adjacent to the screen's or xinerama screen's border. It
> ./.git/rr-cache/d3fcccba50db8b879e64033b3c5f2ebe88fa6f57/preimage:directly 
> adjacent to the screen's or xinerama screen's border. It

rerere cache from git so will ignore.

> ./doc/fvwm3_commands.ad:directly adjacent to the screen's or xinerama 
> screen's border. It
> ./doc/fvwm3all.1:directly adjacent to the screen\(cqs or xinerama screen\(cqs 
> border. It
> ./doc/fvwm3_styles.ad:directly adjacent to the screen's or xinerama screen's 
> border. It
> ./doc/fvwm3styles.1:directly adjacent to the screen\(cqs or xinerama 
> screen\(cqs border. It
> ./doc/fvwm3_manpage_source.adoc:directly adjacent to the screen's or xinerama 
> screen's border. It

These can change to either mention RandR, or just "screen".

> ./fvwm/windowlist.c:   * because it sets the xinerama screen origin */
> ./fvwm/add_window.c:  fw->edge_resistance_xinerama_move =
> ./fvwm/add_window.c:  pstyle->edge_resistance_xinerama_move;
> ./fvwm/move_resize.c:  * in case Xinerama is used. */
> ./fvwm/move_resize.c: /* Resist moving windows between xineramascreens */
> ./fvwm/move_resize.c: if (fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: scr_x1 + fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: scr_y1 + fw->edge_resistance_xinerama_move)
> ./fvwm/move_resize.c: fw->edge_resistance_xinerama_move)


Funtionally now referencing RandR and are poorly named as xinerama isn't used.

> ./fvwm/style.c:   if (add_style->flags.has_edge_resistance_xinerama_move)
> ./fvwm/style.c:   SSET_EDGE_RESISTANCE_XINERAMA_MOVE(
> ./fvwm/style.c:   
> SGET_EDGE_RESISTANCE_XINERAMA_MOVE(*add_style));
> ./fvwm/style.c:   unsigned has_xinerama_move;
> ./fvwm/style.c:   has_xinerama_move = 0;
> ./fvwm/style.c:   has_xinerama_move = 1;
> ./fvwm/style.c:   has_xinerama_move = 0;
> ./fvwm/style.c:   
> ps->flags.has_edge_resistance_xinerama_move =
> ./fvwm/style.c:   has_xinerama_move;
> ./fvwm/style.c:   
> ps->flag_mask.has_edge_resistance_xinerama_move = 1;
> ./fvwm/style.c:   
> ps->change_mask.has_edge_resistance_xinerama_move = 1;
> ./fvwm/style.c:   SSET_EDGE_RESISTANCE_XINERAMA_MOVE(*ps, 
> val[1]);
> ./fvwm/fvwm.h:char*IconScreen;   /* Xinerama 
> screen */
> ./fvwm/fvwm.h:unsigned has_edge_resistance_xinerama_move : 1;
> ./fvwm/fvwm.h:int edge_resistance_xinerama_move;
> ./fvwm/fvwm.h:int edge_resistance_xinerama_move;

As above.  This just needs renaming.

> ./fvwm/commands.h:F_XINERAMA,
> ./fvwm/commands.h:F_XINERAMAPRIMARYSCREEN,
> ./fvwm/commands.h:F_XINERAMASLS,
> ./fvwm/co

Re: Xinerama

2021-11-20 Thread Dominik Vogt
On Sat, Nov 20, 2021 at 03:54:10PM +0100, Dominik Vogt wrote:
> On Sat, Nov 20, 2021 at 02:15:58PM +, Thomas Adam wrote:
> > On Sat, Nov 20, 2021, 14:13 Dominik Vogt  wrote:
> >
> > > Is Xinerama still useful for anything or can we remove it?
> > >
> > It has already been removed. Where are you seeing references to it?
>
> Everywhere.  I'll remove the junk on the parser branch.

No sorry, too complex for me, and I don't know the new
implementation.  The code in menus.c, move_resize.c etc is
non-trivial and maybe still necessary.

But wen can't do it with the parser branch pending.  It would
cause too many conflicts.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: Xinerama

2021-11-20 Thread Dominik Vogt
On Sat, Nov 20, 2021 at 02:15:58PM +, Thomas Adam wrote:
> On Sat, Nov 20, 2021, 14:13 Dominik Vogt  wrote:
>
> > Is Xinerama still useful for anything or can we remove it?
> >
> It has already been removed. Where are you seeing references to it?

Everywhere.  I'll remove the junk on the parser branch.

 $ rgrep -i xinerama . 2> /dev/null
./libs/defaults.h:/*** Xinerama ***/
./libs/defaults.h:#define DEFAULT_XINERAMA_ENABLEDTrue /* Xinerama on 
by default */
./libs/defaults.h:#define XINERAMA_CONFIG_STRING "XineramaConfig"
./libs/FTips.c: fscreen_scr_arg *fsarg = NULL; /* for now no xinerama support */
./modules/FvwmForm/FvwmForm.c:  if (strncasecmp(buf, XINERAMA_CONFIG_STRING,
./modules/FvwmForm/FvwmForm.c:sizeof(XINERAMA_CONFIG_STRING)-1) == 
0)
./modules/FvwmForm/FvwmForm.c:FScreenConfigureModule(buf + 
sizeof(XINERAMA_CONFIG_STRING)-1);
./modules/FvwmForm/FvwmForm.c:  buf, XINERAMA_CONFIG_STRING, 
sizeof(XINERAMA_CONFIG_STRING)-1)
./modules/FvwmForm/FvwmForm.c:  FScreenConfigureModule(buf + 
sizeof(XINERAMA_CONFIG_STRING)-1);
./modules/FvwmButtons/FvwmButtons.h:void handle_xinerama_string(char *args);
./.git/rr-cache/1c03ad931074cd97196af43ae2fc0134a13171cd/preimage:directly 
adjacent to the screen's or xinerama screen's border. It
./.git/rr-cache/d3fcccba50db8b879e64033b3c5f2ebe88fa6f57/preimage:directly 
adjacent to the screen's or xinerama screen's border. It
./doc/fvwm3_commands.ad:directly adjacent to the screen's or xinerama screen's 
border. It
./doc/fvwm3all.1:directly adjacent to the screen\(cqs or xinerama screen\(cqs 
border. It
./doc/fvwm3_styles.ad:directly adjacent to the screen's or xinerama screen's 
border. It
./doc/fvwm3styles.1:directly adjacent to the screen\(cqs or xinerama 
screen\(cqs border. It
./doc/fvwm3_manpage_source.adoc:directly adjacent to the screen's or xinerama 
screen's border. It
./fvwm/windowlist.c: * because it sets the xinerama screen origin */
./fvwm/add_window.c:fw->edge_resistance_xinerama_move =
./fvwm/add_window.c:pstyle->edge_resistance_xinerama_move;
./fvwm/move_resize.c:* in case Xinerama is used. */
./fvwm/move_resize.c:   /* Resist moving windows between xineramascreens */
./fvwm/move_resize.c:   if (fw->edge_resistance_xinerama_move)
./fvwm/move_resize.c:   scr_x1 + fw->edge_resistance_xinerama_move)
./fvwm/move_resize.c:   fw->edge_resistance_xinerama_move)
./fvwm/move_resize.c:   scr_y1 + fw->edge_resistance_xinerama_move)
./fvwm/move_resize.c:   fw->edge_resistance_xinerama_move)
./fvwm/style.c: if (add_style->flags.has_edge_resistance_xinerama_move)
./fvwm/style.c: SSET_EDGE_RESISTANCE_XINERAMA_MOVE(
./fvwm/style.c: SGET_EDGE_RESISTANCE_XINERAMA_MOVE(*add_style));
./fvwm/style.c: unsigned has_xinerama_move;
./fvwm/style.c: has_xinerama_move = 0;
./fvwm/style.c: has_xinerama_move = 1;
./fvwm/style.c: has_xinerama_move = 0;
./fvwm/style.c: ps->flags.has_edge_resistance_xinerama_move =
./fvwm/style.c: has_xinerama_move;
./fvwm/style.c: ps->flag_mask.has_edge_resistance_xinerama_move 
= 1;
./fvwm/style.c: 
ps->change_mask.has_edge_resistance_xinerama_move = 1;
./fvwm/style.c: SSET_EDGE_RESISTANCE_XINERAMA_MOVE(*ps, val[1]);
./fvwm/fvwm.h:  char*IconScreen;   /* Xinerama screen */
./fvwm/fvwm.h:  unsigned has_edge_resistance_xinerama_move : 1;
./fvwm/fvwm.h:  int edge_resistance_xinerama_move;
./fvwm/fvwm.h:  int edge_resistance_xinerama_move;
./fvwm/commands.h:  F_XINERAMA,
./fvwm/commands.h:  F_XINERAMAPRIMARYSCREEN,
./fvwm/commands.h:  F_XINERAMASLS,
./fvwm/commands.h:  F_XINERAMASLSSCREENS,
./fvwm/commands.h:  F_XINERAMASLSSIZE,
./fvwm/commands.h:void CMD_Xinerama(F_CMD_ARGS);
./fvwm/commands.h:void CMD_XineramaPrimaryScreen(F_CMD_ARGS);
./fvwm/commands.h:void CMD_XineramaSls(F_CMD_ARGS);
./fvwm/commands.h:void CMD_XineramaSlsScreens(F_CMD_ARGS);
./fvwm/commands.h:void CMD_XineramaSlsSize(F_CMD_ARGS);
./fvwm/screen.h:unsigned has_xinerama_state_changed : 1;
./fvwm/module_interface.h:void broadcast_xinerama_state(void);
./fvwm/placement.c:  * Xinerama screen.  1: The intuitive way 
giving a geometry
./fvwm/placement.c:  * 2: Do NOT specify a Xinerama screen (or 
specify it to be
./fvwm/functable.c: /* - Move a window to another Xinerama screen */
./fvwm/style.h:#define SGET_EDGE_RESISTANCE_XINERAMA_MOVE(s) \
./fvwm/style.h: ((s).edge_resistance_xinerama_move)
./fvwm/style.h:#define SSET_EDGE_RESISTANCE_XINERAMA_MOVE(s,x) \
./fvwm/style.h: ((s).edge_resistance_xinerama_move = (x))
./fvwm/menuparameters.h:/* A position on the Xinerama screen on whic

Xinerama

2021-11-20 Thread Dominik Vogt
Is Xinerama still useful for anything or can we remove it?

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



CVS domivogt: * Corrected a typo and rephrased some Xinerama docs.

2005-10-14 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt05/10/14 14:43:00

Modified files:
fvwm   : fvwm.1.in 

Log message:
* Corrected a typo and rephrased some Xinerama docs.




CVS domivogt: * Fixed Xinerama crash.

2004-09-06 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt04/09/06 05:08:59

Modified files:
.  : ChangeLog 
libs   : FScreen.c 

Log message:
* Fixed Xinerama crash.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Fixed Solaris Xinerama configure test (nested AC_CHECK_LIB calls don't work)

2004-08-26 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt04/08/26 04:40:42

Modified files:
.  : ChangeLog NEWS configure.in 
libs   : FScreen.c 

Log message:
* Fixed Solaris Xinerama configure test (nested AC_CHECK_LIB calls don't work)
* Cleaned up the ifdef hell in FScreen.c; all code is compiled all the time;
please don't put code in ifdefs.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-26 Thread Dominik Vogt
On Fri, Aug 20, 2004 at 09:32:35AM -0400, Chris Ross wrote:
 Dan Espen wrote:
 If the #define'd stuff is only used on Solaris, when the header
 isn't there, and the library support is there,  I'd say that was
 OK.
 
   Yup.  That's how it's done.  Only if the libXinerama stuff
 isn't found will it look for Solaris' calls, and only if those
 are found will it look for the header.  If the header is found,
 the few lines (to replace the header) I added don't get used.
 
   The following should be the full diff against CVS HEAD for
 this patch.  Thanks for all your help!
 
  - Chris
 
 

 Index: configure.in
 ===
 RCS file: /home/cvs/fvwm/fvwm/configure.in,v
 retrieving revision 1.294
 diff -u -u -r1.294 configure.in
 --- configure.in  23 May 2004 16:20:23 -  1.294
 +++ configure.in  20 Aug 2004 13:26:58 -
 @@ -298,8 +298,18 @@
$UNSET ac_cv_lib_Xinerama_XineramaIsActive
AC_CHECK_LIB(Xinerama, XineramaIsActive,
  with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
 +AC_CHECK_LIB(Xext, XineramaGetState,
 +  [ AC_DEFINE(HAVE_XINERAMA) AC_DEFINE(HAVE_SOLARIS_XINERAMA)
 +  with_xinerama=yes; Xinerama_LIBS=-lXext
 +  my_CPPFLAGS=$CPPFLAGS; CPPFLAGS=$X_CPPFLAGS $CPPFLAGS
 +  my_hdr=X11/extensions/xinerama.h
 +  AC_CHECK_HEADER($my_hdr, AC_DEFINE(HAVE_SOLARIS_XINERAMA_H)
 + problem_xinerama= (Using Solaris Xinerama calls),
 + problem_xinerama= (Failed to find Sun's $my_hdr))
 +  CPPFLAGS=$my_CPPFLAGS],
  with_xinerama=no; Xinerama_LIBS=
  problem_xinerama=: Failed to detect libXinerama,
 +[$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]),
  [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
  fi
  AC_SUBST(Xinerama_LIBS)

Note that this nesting of AC_CHECK_LIB calls did not work with my
autoconf/automake versions.  I have split it in two separate
calls.

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]


pgpNYa7L80UQF.pgp
Description: PGP signature


Re: Solaris Xinerama support

2004-08-26 Thread Dan Espen
Dominik Vogt [EMAIL PROTECTED] writes:
 Note that this nesting of AC_CHECK_LIB calls did not work with my
 autoconf/automake versions.  I have split it in two separate
 calls.

Darn.  And I tested this on Linux and Solaris.


I woke up in the middle of the night and it dawned on me that I never
updated NEWS.  I figured no one would notice and I could
take care of it when I got up.

-- 
Dan Espen   E-mail: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-26 Thread Thomas Adam
On Thu, Aug 26, 2004 at 06:48:22AM -0400, Dan Espen wrote:

 I woke up in the middle of the night and it dawned on me that I never
 updated NEWS.  I figured no one would notice and I could
 take care of it when I got up.

Heh, now *that*'s what I call being passionate about one's work. :)

-- Thomas Adam

-- 
Quis custodiet ipsos custodes?
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-26 Thread Dominik Vogt
On Thu, Aug 26, 2004 at 06:48:22AM -0400, Dan Espen wrote:
 Dominik Vogt [EMAIL PROTECTED] writes:
  Note that this nesting of AC_CHECK_LIB calls did not work with my
  autoconf/automake versions.  I have split it in two separate
  calls.
 
 Darn.  And I tested this on Linux and Solaris.

They changed something with quoting in autoconf/automake a while
ago.  Unfortunately you have to test with the old and new auto*
versions to make sure some things in configure work fine.

 I woke up in the middle of the night and it dawned on me that I never
 updated NEWS.  I figured no one would notice and I could
 take care of it when I got up.

If all else fails, I will notice missing NEWS entries sooner or
later ;-)

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]


pgpbpOM2yel87.pgp
Description: PGP signature


Re: Solaris Xinerama support

2004-08-26 Thread Chris Ross

  Thanks Dominik.

Dominik Vogt wrote:

They changed something with quoting in autoconf/automake a while
ago.  Unfortunately you have to test with the old and new auto*
versions to make sure some things in configure work fine.


  Odd.  It worked for me, too, using the same version of
autoconf that'd previously generated the configure.  Guess
that must've changed on your system and not mine.  Thanks
for fixing it!

  There were a couple issues with your changes to libs/FScreen.c.
I don't know that I agree with the all code should be
compiled opinion, but that's certainly your call to make.
And the #ifdef'd code is now more sensible than it was, and
than I'd made it.  Thanks.

  But, there was one typo (capitalization error), and one
error in the #def's.  Solaris' xinerama.h does *not* define
XineramaScreenInfo, since Solaris' xinerama system API is
*completely* different.  I just moved the relevant #def out
one level.  A patch to libs/FScreen.c is attached.  It will
now link both with and without the Solaris xinerama.h
header.

  Thanks again!

 - Chris
Index: libs/FScreen.c
===
RCS file: /home/cvs/fvwm/fvwm/libs/FScreen.c,v
retrieving revision 1.24
diff -u -r1.24 FScreen.c
--- libs/FScreen.c  26 Aug 2004 09:40:42 -  1.24
+++ libs/FScreen.c  26 Aug 2004 15:52:53 -
@@ -73,10 +73,10 @@
 # define FScreenHaveXinerama 1
 # ifdef HAVE_SOLARIS_XINERAMA
 #  define FScreenHaveSolarisXinerama 1
+#  define FSCREEN_NEED_SCREENINFO
 #  ifdef HAVE_SOLARIS_XINERAMA_H
 #   include X11/extensions/xinerama.h
 #  else
-#   define FSCREEN_NEED_SCREENINFO
 #   define FSCREEN_NEED_SOLARIS_PROTOTYPES
 #  endif
 # else
@@ -114,7 +114,7 @@
 #if FScreenHaveXinerama
 # if FScreenHaveSolarisXinerama
 #  define XineramaQueryExtension(d,b,c) 1 /* Lie, for now */
-#  define XineramaIsActive(d) Xineramagetstate((d),0)
+#  define XineramaIsActive(d) XineramaGetState((d),0)
 # endif
 #else
 # define XineramaQueryExtension(da, b, c) 0


Re: Solaris Xinerama support

2004-08-20 Thread Chris Ross

Dan Espen wrote:

If the #define'd stuff is only used on Solaris, when the header
isn't there, and the library support is there,  I'd say that was
OK.


  Yup.  That's how it's done.  Only if the libXinerama stuff
isn't found will it look for Solaris' calls, and only if those
are found will it look for the header.  If the header is found,
the few lines (to replace the header) I added don't get used.

  The following should be the full diff against CVS HEAD for
this patch.  Thanks for all your help!

 - Chris


Index: configure.in
===
RCS file: /home/cvs/fvwm/fvwm/configure.in,v
retrieving revision 1.294
diff -u -u -r1.294 configure.in
--- configure.in23 May 2004 16:20:23 -  1.294
+++ configure.in20 Aug 2004 13:26:58 -
@@ -298,8 +298,18 @@
   $UNSET ac_cv_lib_Xinerama_XineramaIsActive
   AC_CHECK_LIB(Xinerama, XineramaIsActive,
 with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
+AC_CHECK_LIB(Xext, XineramaGetState,
+  [ AC_DEFINE(HAVE_XINERAMA) AC_DEFINE(HAVE_SOLARIS_XINERAMA)
+  with_xinerama=yes; Xinerama_LIBS=-lXext
+  my_CPPFLAGS=$CPPFLAGS; CPPFLAGS=$X_CPPFLAGS $CPPFLAGS
+  my_hdr=X11/extensions/xinerama.h
+  AC_CHECK_HEADER($my_hdr, AC_DEFINE(HAVE_SOLARIS_XINERAMA_H)
+   problem_xinerama= (Using Solaris Xinerama calls),
+   problem_xinerama= (Failed to find Sun's $my_hdr))
+  CPPFLAGS=$my_CPPFLAGS],
 with_xinerama=no; Xinerama_LIBS=
 problem_xinerama=: Failed to detect libXinerama,
+[$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]),
 [$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
 fi
 AC_SUBST(Xinerama_LIBS)
Index: acconfig.h
===
RCS file: /home/cvs/fvwm/fvwm/acconfig.h,v
retrieving revision 1.72
diff -u -u -r1.72 acconfig.h
--- acconfig.h  8 Jul 2004 10:08:09 -   1.72
+++ acconfig.h  20 Aug 2004 13:26:58 -
@@ -32,6 +32,14 @@
 /* Define if Xinerama library is used. */
 #undef HAVE_XINERAMA
 
+/* Define if Solaris' Xinerama calls are being used. */
+/* (Solaris 7 11/99 and later) */
+#undef HAVE_SOLARIS_XINERAMA
+
+/* Define if Solaris' X11/extensions/xinerama.h header is provided. */
+/* (Solaris 9 and later) */
+#undef HAVE_SOLARIS_XINERAMA_H
+
 /* Define if Xrender library is used. */
 #undef HAVE_XRENDER
 
Index: fvwm/fvwm.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm.c,v
retrieving revision 1.368
diff -u -u -r1.368 fvwm.c
--- fvwm/fvwm.c 15 Jul 2004 13:12:28 -  1.368
+++ fvwm/fvwm.c 20 Aug 2004 13:26:59 -
@@ -1312,6 +1312,9 @@
strcat(support_str,  Bidi text,);
 #endif
 #ifdef HAVE_XINERAMA
+# ifdef HAVE_SOLARIS_XINERAMA
+   strcat(support_str,  [Solaris' odd-ball]);
+# endif
strcat(support_str,  Xinerama,);
 #endif
 #ifdef HAVE_XRENDER
Index: libs/FScreen.c
===
RCS file: /home/cvs/fvwm/fvwm/libs/FScreen.c,v
retrieving revision 1.22
diff -u -u -r1.22 FScreen.c
--- libs/FScreen.c  17 Mar 2004 14:42:54 -  1.22
+++ libs/FScreen.c  20 Aug 2004 13:26:59 -
@@ -69,8 +69,62 @@
 #include PictureBase.h
 
 #ifdef HAVE_XINERAMA
-#define FScreenHaveXinerama 1
-#include X11/extensions/Xinerama.h
+# define FScreenHaveXinerama 1
+# ifdef HAVE_SOLARIS_XINERAMA
+#  ifdef HAVE_SOLARIS_XINERAMA_H
+#   include X11/extensions/xinerama.h
+#  else
+/* Copied from Solaris 9's X11/extensions/xinerama.h */
+#defineMAXFRAMEBUFFERS 16
+Bool XineramaGetState(Display*, int);
+Status XineramaGetInfo(Display*, int, XRectangle*, unsigned char*, int*);
+Status XineramaGetCenterHint(Display*, int, int*, int*);
+#  endif /* HAVE_SOLARIS_XINERAMA_H */
+typedef struct
+{
+   int   screen_number;
+   short x_org;
+   short y_org;
+   short width;
+   short height;
+} XineramaScreenInfo;
+#  define XineramaIsActive(d)  XineramaGetState((d),0)
+#  define XineramaQueryScreens(d,b)solaris_XineramaQueryScreens((d),(b))
+#  define XineramaQueryExtension(d,b,c)1   /* Lie, for now */
+static XineramaScreenInfo *
+solaris_XineramaQueryScreens(Display *d, int *xin_nscreens)
+{
+   XineramaScreenInfo *screens = NULL;
+   XRectangle monitors[MAXFRAMEBUFFERS];
+   unsigned char hints[16];
+
+   int result = XineramaGetInfo(d, DefaultScreen(d), monitors, hints,
+xin_nscreens);
+   if (result)
+   {
+   int m;
+
+   screens = (XineramaScreenInfo 
*)malloc(sizeof(XineramaScreenInfo) * (*xin_nscreens));
+   for (m = 0; m  *xin_nscreens; ++m)
+   {
+   screens[m].screen_number = m;
+   screens[m].x_org = monitors[m].x;
+   screens[m].y_org = monitors[m].y;
+   screens[m

Re: Solaris Xinerama support

2004-08-16 Thread Chris Ross

Dan Espen wrote:

I guess I can answer my own question, it configures but doesn't
compile:

gcc -DHAVE_CONFIG_H -I. -I../../version-2_5_11/libs -I.. -I../../version-2_5_11 
-I/opt/public/include  -I/usr/openwin/include  -I/opt/public/include -g 
-O2 -Wall -Wno-implicit-int -c ../../version-2_5_11/libs/FScreen.c
../../version-2_5_11/libs/FScreen.c:74: X11/extensions/xinerama.h: No such file 
or directory

You can send any additional patches to the list.


  I'm not sure what to do to fix that.  I suppose there may
be some way to check for the header in configure, and if
it's not present (Solaris 7 11/99, or Solaris 8) I could
just sub in the contents.  They're quite minimal.

  This seem to objectionable to people?

   - Chris

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-16 Thread Dan Espen
Chris Ross [EMAIL PROTECTED] writes:
 Dan Espen wrote:
  I guess I can answer my own question, it configures but doesn't
  compile:
  
  gcc -DHAVE_CONFIG_H -I. -I../../version-2_5_11/libs -I.. -I../../version-2_
 5_11 -I/opt/public/include  -I/usr/openwin/include  -I/opt/public/include
  -g -O2 -Wall -Wno-implicit-int -c ../../version-2_5_11/libs/FScreen.c
  ../../version-2_5_11/libs/FScreen.c:74: X11/extensions/xinerama.h: No such 
 file or directory
  
  You can send any additional patches to the list.
 
I'm not sure what to do to fix that.  I suppose there may
 be some way to check for the header in configure, and if
 it's not present (Solaris 7 11/99, or Solaris 8) I could
 just sub in the contents.  They're quite minimal.
 
This seem to objectionable to people?

I don't see any problem with Xinerama only working on only Sol 9 or later.
In other words, requiring the header.

Getting compile errors on a default configure on Sol 8 is no good.

-- 
Dan Espen   E-mail: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-16 Thread Chris Ross

Dan Espen wrote:


Didn't you say the Sol 9/10 header would work on Sol 8.
Why not make the header required.  If someone wants Xinerama
on Sol 8, make them supply the header.


  It does, but it seems like having the xinerama support enabled
with no user effort for Solaris 8 users would be worth having.
You don't need to be an admin, or even very smart, to build
a window manager.  Making sure you can put an extension somewhere
and have auto-conf'd programs find them requires more of the
user.

  It only requires putting 4 lines in FScreen.c.  One #def,
and three prototypes.  Actually, we're only using two of the
functions, so we could take out the other prototype.

  - Chris
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-16 Thread Dan Espen
Chris Ross [EMAIL PROTECTED] writes:
 Dan Espen wrote:
  
  Didn't you say the Sol 9/10 header would work on Sol 8.
  Why not make the header required.  If someone wants Xinerama
  on Sol 8, make them supply the header.
 
It does, but it seems like having the xinerama support enabled
 with no user effort for Solaris 8 users would be worth having.
 You don't need to be an admin, or even very smart, to build
 a window manager.  Making sure you can put an extension somewhere
 and have auto-conf'd programs find them requires more of the
 user.
 
It only requires putting 4 lines in FScreen.c.  One #def,
 and three prototypes.  Actually, we're only using two of the
 functions, so we could take out the other prototype.

If the #define'd stuff is only used on Solaris, when the header
isn't there, and the library support is there,  I'd say that was
OK.

-- 
Dan Espen   E-mail: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-15 Thread Dan Espen
Chris Ross [EMAIL PROTECTED] writes:
 Chris Ross wrote:
  
Okay.  I don't know how many of you know this, but Solaris ships
  an Xsun that has Xinerama support in it (as of the last dist.
  of Solaris 7).  *But*, in typical Sun Microsystems style, there
  is no Xinerama library, nor header file.
 
Oops.  I should've mentioned that this patch was tested
 with Solaris 8, but will only work on Solaris 8 with
 the X11/extensions/xinerama.h header copied from Solaris 9.
 Solaris' 9 and 10 ship with this header in place, so
 will work with no additional effort.

On my Solaris 8 machine without that header, I got:

With Xinerama multi-head support?   yes (Using Solaris Xinerama calls)

In what sense won't it work?

-- 
Dan Espen   E-mail: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Solaris Xinerama support

2004-08-15 Thread Dan Espen
Dan Espen [EMAIL PROTECTED] writes:
 Chris Ross [EMAIL PROTECTED] writes:
  Chris Ross wrote:
   
 Okay.  I don't know how many of you know this, but Solaris ships
   an Xsun that has Xinerama support in it (as of the last dist.
   of Solaris 7).  *But*, in typical Sun Microsystems style, there
   is no Xinerama library, nor header file.
  
 Oops.  I should've mentioned that this patch was tested
  with Solaris 8, but will only work on Solaris 8 with
  the X11/extensions/xinerama.h header copied from Solaris 9.
  Solaris' 9 and 10 ship with this header in place, so
  will work with no additional effort.
 
 On my Solaris 8 machine without that header, I got:
 
 With Xinerama multi-head support?   yes (Using Solaris Xinerama calls)
 
 In what sense won't it work?

I guess I can answer my own question, it configures but doesn't
compile:

gcc -DHAVE_CONFIG_H -I. -I../../version-2_5_11/libs -I.. -I../../version-2_5_11 
-I/opt/public/include  -I/usr/openwin/include  -I/opt/public/include -g 
-O2 -Wall -Wno-implicit-int -c ../../version-2_5_11/libs/FScreen.c
../../version-2_5_11/libs/FScreen.c:74: X11/extensions/xinerama.h: No such file 
or directory

You can send any additional patches to the list.

-- 
Dan Espen   E-mail: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Solaris Xinerama support

2004-08-13 Thread Chris Ross


  Okay.  I don't know how many of you know this, but Solaris ships
an Xsun that has Xinerama support in it (as of the last dist.
of Solaris 7).  *But*, in typical Sun Microsystems style, there
is no Xinerama library, nor header file.

  So, in doing some research, it appears there are a few functions
in libXext, that while providing a totally different API, will
allow the needed access to the Xinerama extension in the server.

  So, I updated acconfig.h, configure.in, fvwm/fvwm.c (which
is an avoidable change, if you want to ignore it), and
libs/FScreen.c.

  Patch for the above is attached.  Should I gen diffs to
configure and config.h.in, or will those get taken care
of (either automatically, or by someone else with the blessed
autoconf installation)?

  Thanks...

   - Chris


Index: acconfig.h
===
RCS file: /home/cvs/fvwm/fvwm/acconfig.h,v
retrieving revision 1.72
diff -u -u -r1.72 acconfig.h
--- acconfig.h  8 Jul 2004 10:08:09 -   1.72
+++ acconfig.h  13 Aug 2004 15:31:23 -
@@ -32,6 +32,9 @@
 /* Define if Xinerama library is used. */
 #undef HAVE_XINERAMA
 
+/* Define if Solaris' Xinerama calls are being used. */
+#undef HAVE_SOLARIS_XINERAMA
+
 /* Define if Xrender library is used. */
 #undef HAVE_XRENDER
 
Index: configure.in
===
RCS file: /home/cvs/fvwm/fvwm/configure.in,v
retrieving revision 1.294
diff -u -u -r1.294 configure.in
--- configure.in23 May 2004 16:20:23 -  1.294
+++ configure.in13 Aug 2004 15:31:23 -
@@ -298,9 +298,13 @@
   $UNSET ac_cv_lib_Xinerama_XineramaIsActive
   AC_CHECK_LIB(Xinerama, XineramaIsActive,
 with_xinerama=yes; Xinerama_LIBS=-lXinerama; AC_DEFINE(HAVE_XINERAMA),
+AC_CHECK_LIB(Xext, XineramaGetState,
+with_xinerama=yes; Xinerama_LIBS=-lXext; AC_DEFINE(HAVE_XINERAMA)
+AC_DEFINE(HAVE_SOLARIS_XINERAMA)
+problem_xinerama= (Using Solaris Xinerama calls),
 with_xinerama=no; Xinerama_LIBS=
 problem_xinerama=: Failed to detect libXinerama,
-[$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS])
+[$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS]))
 fi
 AC_SUBST(Xinerama_LIBS)
 AC_SUBST(Xinerama_CFLAGS)
Index: fvwm/fvwm.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm.c,v
retrieving revision 1.368
diff -u -u -r1.368 fvwm.c
--- fvwm/fvwm.c 15 Jul 2004 13:12:28 -  1.368
+++ fvwm/fvwm.c 13 Aug 2004 15:31:23 -
@@ -1312,6 +1312,9 @@
strcat(support_str,  Bidi text,);
 #endif
 #ifdef HAVE_XINERAMA
+# ifdef HAVE_SOLARIS_XINERAMA
+   strcat(support_str,  [Solaris' odd-ball]);
+# endif
strcat(support_str,  Xinerama,);
 #endif
 #ifdef HAVE_XRENDER
Index: libs/FScreen.c
===
RCS file: /home/cvs/fvwm/fvwm/libs/FScreen.c,v
retrieving revision 1.22
diff -u -u -r1.22 FScreen.c
--- libs/FScreen.c  17 Mar 2004 14:42:54 -  1.22
+++ libs/FScreen.c  13 Aug 2004 15:31:23 -
@@ -69,8 +69,54 @@
 #include PictureBase.h
 
 #ifdef HAVE_XINERAMA
-#define FScreenHaveXinerama 1
-#include X11/extensions/Xinerama.h
+# define FScreenHaveXinerama 1
+# ifdef HAVE_SOLARIS_XINERAMA
+#  include X11/extensions/xinerama.h
+typedef struct
+{
+   int   screen_number;
+   short x_org;
+   short y_org;
+   short width;
+   short height;
+} XineramaScreenInfo;
+#  define XineramaIsActive(d)  XineramaGetState((d),0)
+#  define XineramaQueryScreens(d,b)solaris_XineramaQueryScreens((d),(b))
+#  define XineramaQueryExtension(d,b,c)1   /* Lie, for now */
+static XineramaScreenInfo *
+solaris_XineramaQueryScreens(Display *d, int *xin_nscreens)
+{
+   XineramaScreenInfo *screens = NULL;
+   XRectangle monitors[MAXFRAMEBUFFERS];
+   unsigned char hints[16];
+
+   int result = XineramaGetInfo(d, DefaultScreen(d), monitors, hints,
+xin_nscreens);
+   if (result)
+   {
+   int m;
+
+   screens = (XineramaScreenInfo 
*)malloc(sizeof(XineramaScreenInfo) * (*xin_nscreens));
+   for (m = 0; m  *xin_nscreens; ++m)
+   {
+   screens[m].screen_number = m;
+   screens[m].x_org = monitors[m].x;
+   screens[m].y_org = monitors[m].y;
+   screens[m].width = monitors[m].width;
+   screens[m].height = monitors[m].height;
+   }
+   }
+   else
+   {
+   fprintf(stderr, Error getting Xinerama information\n);
+   *xin_nscreens = 0;
+   }
+
+   return (screens);
+}
+# else /* Must be XFree86 Xinerama */
+#  include X11/extensions/Xinerama.h
+# endif
 #else
 #define FScreenHaveXinerama 0
 typedef struct


Re: Solaris Xinerama support

2004-08-13 Thread Chris Ross

Chris Ross wrote:


  Okay.  I don't know how many of you know this, but Solaris ships
an Xsun that has Xinerama support in it (as of the last dist.
of Solaris 7).  *But*, in typical Sun Microsystems style, there
is no Xinerama library, nor header file.


  Oops.  I should've mentioned that this patch was tested
with Solaris 8, but will only work on Solaris 8 with
the X11/extensions/xinerama.h header copied from Solaris 9.
Solaris' 9 and 10 ship with this header in place, so
will work with no additional effort.

  That should be noted somewhere, I'm sure.  :-)

   - Chris
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Fixed placement of menus on Xinerama screens.

2003-05-24 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt03/05/24 14:12:29

Modified files:
.  : ChangeLog 
fvwm   : fvwm.1.in menus.c move_resize.c 
libs   : FScreen.c 

Log message:
* Fixed placement of menus on Xinerama screens.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Clarified that --enable-xinerama-emulation is only useful for developers.

2002-05-03 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt02/05/03 06:00:53

Modified files:
.  : configure.in 

Log message:
* Clarified that --enable-xinerama-emulation is only useful for developers.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Fixed a menu placement problem w/ xinerama.

2002-03-08 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt02/03/08 14:04:40

Modified files:
.  : Tag: branch-2_4 ChangeLog NEWS 
docs   : Tag: branch-2_4 ANNOUNCE 
fvwm   : Tag: branch-2_4 menus.c 

Log message:
* Fixed a menu placement problem w/ xinerama.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Re-added with-xinerama-emulation optioen that vanished some days ago.

2002-03-01 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt02/03/01 01:11:18

Modified files:
.  : ChangeLog configure.in 
utils  : ChangeLog configure_dev.sh 

Log message:
* Re-added with-xinerama-emulation optioen that vanished some days ago.
* Added autolocal to configure_dev.sh.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: xinerama windowlist patch

2002-02-22 Thread Dominik Vogt
On Thu, Feb 21, 2002 at 12:20:28PM +, Darren Marshall wrote:
 Attached is a patch to fix a problem where clicking the mouse button to popup
 the windowlist on the secondary screen of an xinerama setup always pops up on
 the primary screen.

I'll apply the patch shortly.  Thanks for your help.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


xinerama windowlist patch

2002-02-21 Thread Darren Marshall
Attached is a patch to fix a problem where clicking the mouse button to popup
the windowlist on the secondary screen of an xinerama setup always pops up on
the primary screen.



This e-mail and any attachments are confidential.  If you are not the intended 
recipient, please notify us immediately by reply e-mail and then delete this 
message from your system. Do not copy this e-mail or any attachments, use the 
contents for any purpose, or disclose the contents to any other person: to do 
so could be a breach of confidence.
--- windowlist.c.orig   Thu Feb 21 11:59:52 2002
+++ windowlist.cThu Feb 21 12:01:31 2002
@@ -158,6 +158,11 @@
 
   memset(mops, 0, sizeof(mops));
   memset(mret, 0, sizeof(MenuReturn));
+
+  /* parse postitioning args - must call this even if no action is given
+   * because it sets the xinerama screen origin */
+  opts = get_menu_options(action, w, tmp_win, eventp, NULL, NULL, mops);
+
   if (action  *action)
   {
 /* Look for condition - CreateFlagString returns NULL if no '(' or '[' */
@@ -175,10 +180,6 @@
   CreateConditionMask(cond_flags, mask);
   free(cond_flags);
 }
-
-/* parse postitioning args - must call this even if no action is given
- * because it sets the xinerama screen origin */
-opts = get_menu_options(action, w, tmp_win, eventp, NULL, NULL, mops);
 
 /* parse options */
 while (opts  *opts)


CVS olicha: * Added the possibility to add an Xinerama screen to the 4 numerics

2001-10-04 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: olicha  01/10/04 11:10:52

Modified files:
fvwm   : fvwm2.1 style.c 
.  : ChangeLog 

Log message:
* Added the possibility to add an Xinerama screen to the 4 numerics
Iconbox format
* Warning  I've written some doc (fvwm2.1 lines 4846-4873)

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some Xinerama problems

2001-10-02 Thread Olivier Chapuis
On Thu, Sep 30, 2021 at 10:16:34PM +0200, Dominik Vogt wrote:
 On Fri, Sep 28, 2001 at 05:23:18PM +0200, Olivier Chapuis wrote:
  Hello,
  I make some Xinerama test recently using Sls 1x2 on
  my poor 800x600 screen:
  
 ---
|   |   |
|   0   |   1   |
|   |   |
 ---
  
  The support seems really great! (BTW, does there exits
  laptop with a double head video card?).
  
  I've noted a few problems with menu position and IconBox
  
  1. if WindowList is called without argument as well as
  if a menu key binding of the form
 Key key Context Modifier Menu MyMenu _No_arg_
  is activate, then the window list (or the menu) always
  popup on screen 0.   
 
 Fixed.  With just the WindowList commands without any options,
 the screen was not set correctly.
 

Ok, but there are an other problem: it is possible to call
the WindowList or a menu via a mouse binding function as:

DestroyFunc MouseXX
AddToFunc   MouseXX
+ I Mouse $0 $2 $3 $4 $5 $6 $7 $8 $9
OR
+ I Mouse $1 $2 $3 $4 $5 $6 $7 $8 $9

This type of function allows to switch between mouse 2 and
3 in a config file where mouse bindings are defined by
MouseXX 2 3 R A WindowList
MouseXX 2 3 R S WindowList (CurrentDesk)
..etc.
We use this in fvwm-themes. So then the action which arrive
to get_menu_options (menu.c) is '' and then the
menu position is not good. Ok this is strange but this work
with Xinerama Off, the get_option_options has a test for this
case (if (!tok))  and strictly speaking an  menu position
should be equivalent to a null one. I've commited a safe and
obvious fix to get_option_options.

  3. It seems natural for me that iconification happen on the
  current screen, so I test IconBox with 
  
  Style * IconBox [EMAIL PROTECTED], IconGrid 64 10, IconFill left bottom
  
  In normal use this work fine. However, if the above command
  is entered in a way or an other when the mouse cursor is on
  screen 1 the icons on screen 0 go in a random location (in the
  top of screen 0).
 
 You are misinterpreting what your style line does: it creates an
 icon box with the given dimensions on whatever screen the pointer
 is on at the time the style command is issued.  It *does not*
 create one icon box on each screen: this must be done manually.
 
 What fvwm does is this:
 
  - Create a default icon box that covers the primary screen.
(screen 0).
  - Create the given icon box on the screen with the pointer.
(screen 1).
 
 Whenever a window is iconified, fvwm looks for a suitable icon box
 in this order:
 
  - Icon boxes that intersect with the screen of the window.
  - Any icon box other than the default icon box on any screen.
  - The default icon box.
 
 So, what you are seeing is icons being placed in the default icon
 box on the primary screen since this is the only box that
 intersects the primary screen.  You have to specify a separate
 icon box for each screen.
 
 Of course it would be nice to have a way to specify the same icon
 box for each screen in a single style command, but I don't see how
 this can be done easily (most of the icon box calculations are
 still in style.c).


Ok I think I understand. But:

a. The order you mention is not totally exact. For example if I've:
Style * Iconbox [EMAIL PROTECTED], IconFill left top
(Primary is screen 0) then if I iconify a window which is
in screen 1 the icon go on the bottom right of screen 0
(no iconbox if found I think).
This is caused by the lines in AutoPlaceIcon (icons.c):
if (FScreenIsRectangleOnScreen(fscr, FSCREEN_XYPOS, ref))
loc_ok = True;
  else
loc_ok_wrong_screen = True;
The test is alawys false as there are no iconbox on screen 1
(and this test may be always false if you iconify from an other
page that the page of the window).
Moreover if I have:
Style * Iconbox [EMAIL PROTECTED],IconFill left top,\
Iconbox [EMAIL PROTECTED], IconFill bottom left
Then if the screen 1 iconbox is full, and I iconify a window
on screen 1, no iconbox will be found.
I think that the order is: go throught all the iconboxes
(as there are entred + the default iconbox) take the iconbox
only if it is on the same screen than the window.

b. IMHO, the @c logic is wrong: a command like 
 Style * Iconbox [EMAIL PROTECTED],IconFill left top
will move the icons in an inacceptable way (especially
if we fix the bug of a) and so is usable only at startup
or if no windows are iconified.
Ok, Ok, ... I should use multiple iconboxes and do not use
@c. But what I am trying to do is to found a good iconbox
for any Xinerama settings (optionally Off). As @c is unusable
I suggest to change the @c logic: here current may means the
center of the window and not the location of the pointer.
I do not think that it is a difficult change. The idea is
simple: replace 

/* get the screen dimensions for the icon box */
FScreenGetScrRect(NULL, icon_boxes_ptr-IconScreen,
ref.x, ref.y

CVS olicha: * fixed Xinerama placement of menu with empty but not null position hints

2001-10-02 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: olicha  01/10/02 06:18:41

Modified files:
.  : ChangeLog 
fvwm   : menus.c 

Log message:
* fixed Xinerama placement of menu with empty but not null position hints

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Icon placement fixes w/ Xinerama.

2001-10-02 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/10/02 09:03:47

Modified files:
.  : ChangeLog NEWS 
fvwm   : borders.c fvwm2.1 icons.c menus.c 
libs   : FScreen.c FScreen.h defaults.h 

Log message:
* Icon placement fixes w/ Xinerama.
* New screen specifier 'w' for IconBox command.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some Xinerama problems

2001-10-01 Thread Dominik Vogt
On Fri, Sep 28, 2001 at 05:23:18PM +0200, Olivier Chapuis wrote:
 Hello,
 I make some Xinerama test recently using Sls 1x2 on
 my poor 800x600 screen:
 
---
   |   |   |
   |   0   |   1   |
   |   |   |
---
 
 The support seems really great! (BTW, does there exits
 laptop with a double head video card?).
 
 I've noted a few problems with menu position and IconBox
 
 1. if WindowList is called without argument as well as
 if a menu key binding of the form
Key key Context Modifier Menu MyMenu _No_arg_
 is activate, then the window list (or the menu) always
 popup on screen 0.   

Fixed.  With just the WindowList commands without any options,
the screen was not set correctly.

 2. For testing let say we have the following binding:
 
Mouse 1 A M Menu MenuFvwmRoot Rectangle [EMAIL PROTECTED] +0 +0
 
 (the @c is not really important). So when I activate this
 bindings the menu popup at [EMAIL PROTECTED] but if I am on screen
 0 and I popup submenus (and subsubmenus) then the menu
 go into screen 1 (so it is exactly as if I've no XineramaSls
 support). This does not happen on screen 1 (but here the
 left limit is my monitor).
 Similarly if I use:
 
Mouse 1 A M Menu MenuFvwmRoot Rectangle [EMAIL PROTECTED] +0 +0
 
 (and MenuFvwmRoot is larger than 10p) the menu appear in between
 screen 0 and 1 as it should appear on screen 0 (as it will do
 with [EMAIL PROTECTED] on screen 1).

Fixed.  Originally, rectangles referred always to the global
screen.  Now, the screen part of the geometry also confines the
menu into that screen (defaulting to the primary screen).

 3. It seems natural for me that iconification happen on the
 current screen, so I test IconBox with 
 
 Style * IconBox [EMAIL PROTECTED], IconGrid 64 10, IconFill left bottom
 
 In normal use this work fine. However, if the above command
 is entered in a way or an other when the mouse cursor is on
 screen 1 the icons on screen 0 go in a random location (in the
 top of screen 0).

You are misinterpreting what your style line does: it creates an
icon box with the given dimensions on whatever screen the pointer
is on at the time the style command is issued.  It *does not*
create one icon box on each screen: this must be done manually.

What fvwm does is this:

 - Create a default icon box that covers the primary screen.
   (screen 0).
 - Create the given icon box on the screen with the pointer.
   (screen 1).

Whenever a window is iconified, fvwm looks for a suitable icon box
in this order:

 - Icon boxes that intersect with the screen of the window.
 - Any icon box other than the default icon box on any screen.
 - The default icon box.

So, what you are seeing is icons being placed in the default icon
box on the primary screen since this is the only box that
intersects the primary screen.  You have to specify a separate
icon box for each screen.

Of course it would be nice to have a way to specify the same icon
box for each screen in a single style command, but I don't see how
this can be done easily (most of the icon box calculations are
still in style.c).

 Similar things happen with
 
 All (CurrentScreen Iconic) RecaptureWindow
 
 Also if I have a window which is almost all in screen 1
 and if I Iconify it with a title button on screen 0, then
 the icon go in a random location. More important, if
 I have a window on screen 1 and if I Iconify it with IconMan
 which is on screen 0, then again the icon go in a
 bad location (in screen 0).
 
 In the above, screen 0 and 1 are interchangeable.
 
 I've not investigate problem 2.  3. I may take a look
 if no other (more competent than me for these) have the
 time to fix it (before 2.4.3?).

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Xinerama fixes for bugs reported by Olivier in menu code, WindowList.

2001-10-01 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/10/01 16:07:03

Modified files:
.  : ChangeLog NEWS 
fvwm   : add_window.c builtins.c events.c fvwm2.1 
 icons.c menus.c move_resize.c placement.c 
 stack.c update.c windowlist.c 
libs   : FScreen.c FScreen.h 

Log message:
* Xinerama fixes for bugs reported by Olivier in menu code, WindowList.
* Applied Xinerama patches by Sidik (partially rewritten).
* Removed useless code pointed out by Suzanne Britton.
* Fixed flickering icon titles.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some Xinerama problems

2001-09-29 Thread Dmitry Yu. Bolkhovityanov
On Fri, 28 Sep 2001, Olivier Chapuis wrote:

 Hello,
 I make some Xinerama test recently using Sls 1x2 on
 my poor 800x600 screen:
 
---
   |   |   |
   |   0   |   1   |
   |   |   |
---
 
 The support seems really great! (BTW, does there exits
 laptop with a double head video card?).

Most modern laptops are dual-headed: first head is laptop's flat
panel, the second is VGA output.  While VGA typically duplicates the
panel, at least those with ATI cards (e.g. Compaq Presario 1700 with ATI
Rage Mobility M2) and with Permedia ones are able of displaying different
pictures on these heads, and even with different resolutions.

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Some Xinerama problems

2001-09-28 Thread Olivier Chapuis
Hello,
I make some Xinerama test recently using Sls 1x2 on
my poor 800x600 screen:

   ---
  |   |   |
  |   0   |   1   |
  |   |   |
   ---

The support seems really great! (BTW, does there exits
laptop with a double head video card?).

I've noted a few problems with menu position and IconBox

1. if WindowList is called without argument as well as
if a menu key binding of the form
   Key key Context Modifier Menu MyMenu _No_arg_
is activate, then the window list (or the menu) always
popup on screen 0.   

These problems has been already remarked on this list.
I've a very simple fix for this bug, but maybe, Dominik,
you prefer to fix it.

2. For testing let say we have the following binding:

   Mouse 1 A M Menu MenuFvwmRoot Rectangle [EMAIL PROTECTED] +0 +0

(the @c is not really important). So when I activate this
bindings the menu popup at [EMAIL PROTECTED] but if I am on screen
0 and I popup submenus (and subsubmenus) then the menu
go into screen 1 (so it is exactly as if I've no XineramaSls
support). This does not happen on screen 1 (but here the
left limit is my monitor).
Similarly if I use:

   Mouse 1 A M Menu MenuFvwmRoot Rectangle [EMAIL PROTECTED] +0 +0

(and MenuFvwmRoot is larger than 10p) the menu appear in between
screen 0 and 1 as it should appear on screen 0 (as it will do
with [EMAIL PROTECTED] on screen 1).

3. It seems natural for me that iconification happen on the
current screen, so I test IconBox with 

Style * IconBox [EMAIL PROTECTED], IconGrid 64 10, IconFill left bottom

In normal use this work fine. However, if the above command
is entered in a way or an other when the mouse cursor is on
screen 1 the icons on screen 0 go in a random location (in the
top of screen 0). Similar things happen with

All (CurrentScreen Iconic) RecaptureWindow

Also if I have a window which is almost all in screen 1
and if I Iconify it with a title button on screen 0, then
the icon go in a random location. More important, if
I have a window on screen 1 and if I Iconify it with IconMan
which is on screen 0, then again the icon go in a
bad location (in screen 0).

In the above, screen 0 and 1 are interchangeable.

I've not investigate problem 2.  3. I may take a look
if no other (more competent than me for these) have the
time to fix it (before 2.4.3?).

Olivier


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


SGI Xinerama API

2001-09-26 Thread Stephane Rosa

Hi,

I'm preparing an SGI package of fvwm and I have a couple issues
with your implementation of Xinerama.

SGI is currently developing the Xinerama library as per the
latest spec (Actually SGI is even beyond the spec for certain
things)

It sounds like you're using an old spec. A couple differences :

Bool XineramaActive() replaces char XineramaIsActive()

XineramaScreenInfo *XineramaQueryScreens(disp, count)
along with the typedef struct are not in the spec anymore.

An equivalent could be found by using XineramaGetScreenCount
and XineramaGetScreenSize, but the very latest spec will show
up a new function, XineramaGetData

so... a couple questions:

- how do we keep up on API spec changes (very often yet)
- is anybody following this very close ?
- I'll patch 2.4.2 for SGI use. Want the spec ?

Thanks!
Stephane

-- 
SILICON GRAPHICS EUROPEAN MANUFACTURING CENTER
##
Stephane Rosa Tel : +41 (0)32 843-3638
Business Analyst  Fax : +41 (0)32 843-3909
APS/FP  Project   GSM : +41 (0)79 616-0828
--
ircnoc.neu.sgi.com  SGI Intranet  IRC :   EuroOper on #irchelp
irc.stealth.net Euro-IRCNet   IRC :   Clipper on #radionet

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: SGI Xinerama API

2001-09-26 Thread Dmitry Yu. Bolkhovityanov
On Wed, 26 Sep 2001, Stephane Rosa wrote:

 Hi,
 
 I'm preparing an SGI package of fvwm and I have a couple issues
 with your implementation of Xinerama.
 
 SGI is currently developing the Xinerama library as per the
 latest spec (Actually SGI is even beyond the spec for certain
 things)
 
 It sounds like you're using an old spec. A couple differences :
 
 Bool XineramaActive() replaces char XineramaIsActive()
 
 XineramaScreenInfo *XineramaQueryScreens(disp, count)
 along with the typedef struct are not in the spec anymore.
 
 An equivalent could be found by using XineramaGetScreenCount
 and XineramaGetScreenSize, but the very latest spec will show
 up a new function, XineramaGetData
 
 so... a couple questions:

 - how do we keep up on API spec changes (very often yet)

All the Xinerama-API-related functionality is in 
libs/FScreen.c::FScreenInit(), and what it really needs is a) a function
to check if Xinerama is present at all,  b) a way to get a list of screen
rectangles (viewports to global screen).  Since all APIs (except old
PanoramixNNN one) supply these, it is a matter of simple configure
script logic plus a few #ifdef's in FScreen.c (like 

#if   defined(XINERAMA_API_XFREE86)
...
#elif defined(XINERAMA_API_XORG)
...
#endif

 - is anybody following this very close ?

I'm the person who tries to track Xinerama API flavors.

 - I'll patch 2.4.2 for SGI use. Want the spec ?

Yes, the spec is very welcome.  BTW, which spec is it?  There are
at least four APIs: 1) old PanoramixNNN; 2) XFree86's XineramaNNN (which
is the only API currently in use by WMs and toolkits); 3) Xinerama project
API 
(http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xinerama/xinerama/xc/doc/XineramaApi.txt?rev=1.2content-type=text/vnd.viewcvs-markup);
4) X.org Xinerama task force product (which isn't published).  Probably #3
and #4 are related, but I'm not sure.

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: SGI Xinerama API

2001-09-26 Thread Matthias Clasen
Very interesting link, I wasn't aware of the xinerama sourceforge project.

To add to your speculation regarding the relations between the xinerama
apis: Since the sourceforge project leader and the x org xinerama task force
chair are the same person and Mark V of xfree86 is also a sourceforge
project member, I guess there is hope for 2), 3) and 4) to converge.

Matthias

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: FVWM2 Xinerama patches

2001-09-24 Thread Dmitry Yu. Bolkhovityanov
On Sun, 23 Sep 2001, Sidik Isani wrote:

 Hello -
 
   I have a suggestion for Xinerama, but I don't know enough about
   automake to provide a patch:  we could use configure options
   telling fvwm2 where to look for the library and include files.
 
   Also related to Xinerama, here are better versions of some patches
   I posted before (now everything properly goes through the FScreen
   layer to calculate Xinerama screen coordinates.)  We're upgrading
   from isolated multi-head displays to Xinerama, and with the following
   patches, we were able to keep the same geometry resources we use on
   separate DISPLAY's (:0.0, :0.1, :0.2, :0.N) and translate them to
   '*wmscreen: N' resources.  FVWM2 looks very stable so far on our
   Linux/Solaris/HP-UX mix.  Thanks a lot to all who worked on this.
 
   XINERAMA PATCH 1: Adds a new function to FScreen to convert global coords.
   XINERAMA PATCH 2: Adds a check for a *wmscreen resource.
   XINERAMA PATCH 3: Uses function in PATCH 1 to make USPosition windows
 obey StartsOnScreen Style/*wmscreen resource.
   XINERAMA PATCH 4: Uses PATCH 1 to cause window positions displayed while
 moving a window to be screen-relative whenever possible.
 
   I might not be good to put any of this in the 2.4.3 release, but
   I hope it is useful to someone.  #4 probably needs a config file
   option associated with it to turn it on/off.  Adding @N to the
   string it displays would make it nicer too.
 
   Please let me know if there's anything else needed to make these
   patches generally useful.

Just two notes.

First, isn't FScreenGetScreenXY() just a 

FScreenGetScrRect(arg, FSCREEN_XYPOS, dst_x, dst_y, NULL, NULL)

(well, a separate call may be more handy, but Dominik has removed most of
FScreenGetZZZScrRect() in favour of FScreenGetScrRect, an that looks
reasonable)?

Second, regarding translation of program-supplied geometry to
non-global screen: what will happen to those programs which save their
windows' geometries on exit and use them on restart?  Wouldn't the
following happen: app is started on current screen

+---+---+---+ 1024*3
| 0 | 1 | 2 |
+---+---+---+

(which is #1, +1024+0), it saves window position (e.g. +1030+10), and on
next run (current screen is still #1) supplies it to fvwm, which
translates to +(1030+1024)+10, so that the window effectively goes to
screen #2?  Patch #3 doesn't include %'ing the coords, which was present
in previous version (yet not sure if that did the right thing).  

Of course, a good program should specify PPosition in this case,
not USPosition, but a) I haven't tested what such apps supply (and
those (mainly commercial or binary-only) progs are known to be bogus in
many aspects); b) do patch #3 belongs to PPosition branch only?

Hope this is a false alarm, but I think it is worth mentioning.

(An obvious question is why specifying StartsOnScreen for such
programs?, but this feature is so handy that there's a desire to use
Style * StartsOnScreen c).

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: FVWM2 Xinerama patches

2001-09-24 Thread Sidik Isani
Hello Dmitry -

  Thanks for taking a look at the patches.  Comments on your comments
  are below . . .

Dmitry Yu. Bolkhovityanov wrote:
|
|On Sun, 23 Sep 2001, Sidik Isani wrote:
|
| Hello -
| 
|   I have a suggestion for Xinerama, but I don't know enough about
|   automake to provide a patch:  we could use configure options
|   telling fvwm2 where to look for the library and include files.
| 
|   Also related to Xinerama, here are better versions of some patches
|   I posted before (now everything properly goes through the FScreen
|   layer to calculate Xinerama screen coordinates.)  We're upgrading
|   from isolated multi-head displays to Xinerama, and with the following
|   patches, we were able to keep the same geometry resources we use on
|   separate DISPLAY's (:0.0, :0.1, :0.2, :0.N) and translate them to
|   '*wmscreen: N' resources.  FVWM2 looks very stable so far on our
|   Linux/Solaris/HP-UX mix.  Thanks a lot to all who worked on this.
| 
|   XINERAMA PATCH 1: Adds a new function to FScreen to convert global coords.
|   XINERAMA PATCH 2: Adds a check for a *wmscreen resource.
|   XINERAMA PATCH 3: Uses function in PATCH 1 to make USPosition windows
| obey StartsOnScreen Style/*wmscreen resource.
|   XINERAMA PATCH 4: Uses PATCH 1 to cause window positions displayed while
| moving a window to be screen-relative whenever possible.
| 
|   I might not be good to put any of this in the 2.4.3 release, but
|   I hope it is useful to someone.  #4 probably needs a config file
|   option associated with it to turn it on/off.  Adding @N to the
|   string it displays would make it nicer too.
| 
|   Please let me know if there's anything else needed to make these
|   patches generally useful.
|
|   Just two notes.
|
|   First, isn't FScreenGetScreenXY() just a 
|
|FScreenGetScrRect(arg, FSCREEN_XYPOS, dst_x, dst_y, NULL, NULL)
|
|(well, a separate call may be more handy, but Dominik has removed most of
|FScreenGetZZZScrRect() in favour of FScreenGetScrRect, an that looks
|reasonable)?

  OK, I see now how it could be used to convert between coordinate
  systems.  We'd still have to subtract (dst_x,dst_y) from the original
  coordinate, since GetScrRect returns the rectangle, not transformed
  coordinates.  And we don't have a way to get the screen number.
  I guess another parameter could be added to GetScrRect, int *screen,
  if you don't like the separate function for a coordinate transform?

|   Second, regarding translation of program-supplied geometry to
|non-global screen: what will happen to those programs which save their
|windows' geometries on exit and use them on restart?  Wouldn't the

  They should work correctly.  My first patch, with %'ing (which would
  have broken on unequal screen sizes) is no longer needed either.
  Here's why:  Let's say an application is started with

Xresource: foo.wmscreen: 1
Command:   foo -geometry +6+10

  and we're using your example screen layout:

|+---+---+---+ 1024*3
|| 0 | 1 | 2 |
|+---+---+---+

  The application doesn't even look at wmscreen, but it requests
  a position of +6+10 on the global screen.  GetScreenXY figures out that
  this pixel falls on screen 0 and returns screen-relative coordinates
  of +6+10.  This is added to screen_g.x,y, the origin of screen 1
  (because of the *wmscreen: 1) resulting in global +1030+10.  The window
  pops up on screen 1 (no matter what the current screen is.)

  If the application saves this as its position, let's see what happens:
  GetScreenXY sees +1030+10, but figures out that this pixel falls on
  screen 1 this time, and in screen-relative coordinates this is +6+10.
  It returns 1 (which we ignore right now) and the coordinates +6+10.
  This is again added to screen_g.x,y for the same global +1030+10.

  Same logic works for StartsOnScreen c, and also for

foo -xrm '*wmscreen: 1' -geometry +6+10

  with _no_ StartsOnScreen style or global Xresource.  In this last case,
  the application saves its position as +1030+10, and since StartsOnScreen
  +1030+10 is interpreted relative to the global screen.  As far as I
  can tell (and have tested), all cases work properly.

  Ok, well there is one small obscure feature:

- If you specify negative geometry instead of positive (i.e., to
  place a window some distance from the bottom and/or right screen edge)
AND
- If a StartsOnScreen Style is in effect for the window
AND
- The selected screen is a different size from the farthest screen

  then the window will pop up relative to the bottom/right of the
  screen you selected, but as if the selected screen was the size
  of the last screen.  Basically, if someone has all three of these
  conditions, then use positive geometries!  (And the application will
  never save its own geometry as negative, so that works too, since
  positive coordinates are not susceptible to this.)

|[...]
|   Of course, a good program should specify PPosition

FVWM2 Xinerama patches

2001-09-23 Thread Sidik Isani
Hello -

  I have a suggestion for Xinerama, but I don't know enough about
  automake to provide a patch:  we could use configure options
  telling fvwm2 where to look for the library and include files.

  Also related to Xinerama, here are better versions of some patches
  I posted before (now everything properly goes through the FScreen
  layer to calculate Xinerama screen coordinates.)  We're upgrading
  from isolated multi-head displays to Xinerama, and with the following
  patches, we were able to keep the same geometry resources we use on
  separate DISPLAY's (:0.0, :0.1, :0.2, :0.N) and translate them to
  '*wmscreen: N' resources.  FVWM2 looks very stable so far on our
  Linux/Solaris/HP-UX mix.  Thanks a lot to all who worked on this.

  XINERAMA PATCH 1: Adds a new function to FScreen to convert global coords.
  XINERAMA PATCH 2: Adds a check for a *wmscreen resource.
  XINERAMA PATCH 3: Uses function in PATCH 1 to make USPosition windows
obey StartsOnScreen Style/*wmscreen resource.
  XINERAMA PATCH 4: Uses PATCH 1 to cause window positions displayed while
moving a window to be screen-relative whenever possible.

  I might not be good to put any of this in the 2.4.3 release, but
  I hope it is useful to someone.  #4 probably needs a config file
  option associated with it to turn it on/off.  Adding @N to the
  string it displays would make it nicer too.

  Please let me know if there's anything else needed to make these
  patches generally useful.

Be seeing you,

- Sidik
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


FVWM2 Xinerama patch 1

2001-09-23 Thread Sidik Isani
diff -ru fvwm-snap-20010916/libs/FScreen.c fvwm-2.5.0-cfht/libs/FScreen.c
--- fvwm-snap-20010916/libs/FScreen.c   Sat Sep 15 01:00:05 2001
+++ fvwm-2.5.0-cfht/libs/FScreen.c  Tue Sep 18 20:41:10 2001
@@ -528,6 +528,27 @@
   return 0;
 }
 
+/* Returns the screen of which (global_x, global_y) is a pixel, and
+ * returns the screen-relative (x,y) if x and y are not NULL.
+ */
+int FScreenGetScreenXY(
+  int global_x, int global_y, int *x, int *y)
+{
+  int screen = FindScreenOfXY(global_x, global_y);
+
+  if (screen == 0)
+  {
+if (x) *x = global_x;
+if (y) *y = global_y;
+  }
+  else if (screen  0)
+  {
+if (x) *x = global_x - screens[screen].x_org;
+if (y) *y = global_y - screens[screen].y_org;
+  }
+  return screen;
+}
+
 /* Returns the specified screens geometry rectangle.  screen can be a screen
  * number or any of the values FSCREEN_GLOBAL, FSCREEN_CURRENT,
  * FSCREEN_PRIMARY or FSCREEN_XYPOS.  The arg union only has a meaning for
diff -ru fvwm-snap-20010916/libs/FScreen.h fvwm-2.5.0-cfht/libs/FScreen.h
--- fvwm-snap-20010916/libs/FScreen.h   Fri Sep 14 01:00:08 2001
+++ fvwm-2.5.0-cfht/libs/FScreen.h  Tue Sep 18 20:20:24 2001
@@ -44,6 +44,8 @@
 void FScreenSetPrimaryScreen(int scr);
 
 /* Screen info */
+int FScreenGetScreenXY(
+  int global_x, int global_y, int *x, int *y);
 Bool FScreenGetScrRect(
   fscreen_scr_arg *arg, int screen, int *x, int *y, int *w, int *h);
 void FScreenGetResistanceRect(
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


FVWM2 Xinerama patch 2

2001-09-23 Thread Sidik Isani
diff -ru fvwm-snap-20010916/fvwm/fvwm2.1 fvwm-2.5.0-cfht/fvwm/fvwm2.1
--- fvwm-snap-20010916/fvwm/fvwm2.1 Sun Sep 16 01:00:02 2001
+++ fvwm-2.5.0-cfht/fvwm/fvwm2.1Sat Sep 15 16:54:45 2001
@@ -5239,7 +5239,7 @@
 .IR StartsOnDesk .
 For those standard Xt programs which understand this usage, the
 starting desk/page can also be specified via a resource (e.g.,
--xrm 'Fvwm.Page: 1 0 2').
+-xrm '*page: 1 0 2').
 .I StartsOnPage
 in conjunction with
 .I SkipMapping
@@ -5254,19 +5254,23 @@
 A new window is placed on the specified Xinerama screen.  The
 default is to place windows on the screen that contains the mouse
 pointer at the time the window is created.
-
-.I StartsOnPage
-functions exactly like
-.IR StartsOnDesk .
+However, those windows which are not placed by FVWM (i.e., those with
+a USPosition hint from a user specified geometry) are normally placed
+in a position relative to the global screen.  The
+.I StartsOnScreen
+style is also useful to cause these windows to be placed relative
+to a specific Xinerama screen.  For example:
+.EX
+Style * StartsOnScreen c
+.EE
+Would cause all windows, including those with their own geometry
+to be placed relative to the current Xinerama screen rather than
+the global screen.
 For those standard Xt programs which understand this usage, the
 starting desk/page can also be specified via a resource (e.g.,
--xrm 'Fvwm.Page: 1 0 2').
-.I StartsOnPage
-in conjunction with
-.I SkipMapping
-is a useful technique when you want to start an app on some other
-page and continue with what you were doing, rather than waiting
-for it to appear.
+-xrm '*wmscreen: c').  ('wmscreen' was chosen
+because some applications already use '.screen' for other
+purposes.)
 
 .I StartsOnPageIncludesTransients
 causes the
diff -ru fvwm-snap-20010916/fvwm/add_window.c fvwm-2.5.0-cfht/fvwm/add_window.c
--- fvwm-snap-20010916/fvwm/add_window.cSun Sep 16 01:00:02 2001
+++ fvwm-2.5.0-cfht/fvwm/add_window.c   Sat Sep 15 20:38:13 2001
@@ -56,6 +56,7 @@
 #include stdio.h
 
 #include libs/fvwmlib.h
+#include libs/FScreen.h
 #include fvwm.h
 #include externs.h
 #include cursor.h
@@ -587,6 +588,12 @@
SSET_START_DESK(*pstyle, SGET_START_DESK(*pstyle) + 1);
   }
   pstyle-flags.use_start_on_desk = 1;
+}
+if (GetResourceString(db, wmscreen, client_argv[0], rm_value) 
+   rm_value.size != 0)
+{
+  SSET_START_SCREEN(*pstyle, FScreenGetScreenArgument(rm_value.addr, 'c'));
+  pstyle-flags.use_start_on_screen = 1;
 }
 if (GetResourceString(db, page, client_argv[0], rm_value) 
rm_value.size != 0)
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


FVWM2 Xinerama patch 3

2001-09-23 Thread Sidik Isani
diff -ru fvwm-snap-20010916/fvwm/placement.c fvwm-2.5.0-cfht/fvwm/placement.c
--- fvwm-snap-20010916/fvwm/placement.c Fri Sep  7 04:37:27 2001
+++ fvwm-2.5.0-cfht/fvwm/placement.cTue Sep 18 20:27:14 2001
@@ -922,6 +922,31 @@
 /* the USPosition was specified, or the window is a transient,
  * or it starts iconic so place it automatically */
 
+if (SUSE_START_ON_SCREEN(sflags)  flags.do_honor_starts_on_screen)
+{
+  int global_x = tmp_win-attr.x;
+  int global_y = tmp_win-attr.y;
+
+  /*
+   * If StartsOnScreen has been given for a window, translate its
+   * USPosition so that it is relative to that particular screen.
+   * If we don't do this, then a geometry would completely cancel
+   * the effect of the StartsOnScreen style.
+   *
+   * So there are two ways to get a window to pop up on a particular
+   * Xinerama screen.  1: The intuitive way giving a geometry hint
+   * relative to the desired screen's 0,0 along with the appropriate
+   * StartsOnScreen style (or *wmscreen resource), or 2: Do NOT
+   * specify a Xinerama screen (or specify it to be 'g') and give
+   * the geometry hint in terms of the global screen.
+   */
+  FScreenGetScreenXY(global_x, global_y,
+tmp_win-attr.x, tmp_win-attr.y);
+
+  tmp_win-attr.x += screen_g.x; /* Back to global coordinates, but */
+  tmp_win-attr.y += screen_g.y; /* forced to the right screen now. */
+}
+
 /*
  *  If SkipMapping, and other legalities are observed, adjust for
  * StartsOnPage.
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


FVWM2 Xinerama patch 4

2001-09-23 Thread Sidik Isani
diff -ru fvwm-snap-20010916/fvwm/move_resize.c 
fvwm-2.5.0-cfht/fvwm/move_resize.c
--- fvwm-snap-20010916/fvwm/move_resize.c   Fri Sep  7 04:37:27 2001
+++ fvwm-2.5.0-cfht/fvwm/move_resize.c  Tue Sep 18 20:27:18 2001
@@ -457,11 +457,17 @@
 {
   char str [100];
   int offset;
+  int screen_x, screen_y;
 
+  /*
+   * Translate x,y into local screen coordinates, in case Xinerama is used.
+   */
+  FScreenGetScreenXY(x, y, screen_x, screen_y);
+
   if (Scr.gs.do_hide_position_window)
 return;
   position_geometry_window(eventp);
-  (void) sprintf (str, GEOMETRY_WINDOW_POS_STRING, x, y);
+  (void) sprintf (str, GEOMETRY_WINDOW_POS_STRING, screen_x, screen_y);
   if (Init)
   {
 XClearWindow(dpy, Scr.SizeWindow);
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Some quirky things with xinerama.

2001-09-20 Thread Alex Wallis
I'm using a stock redhat7.1 system, except I've upgraded to XFree 4.1.0
and have two monitor's with xinerama support working happily.

But!... and this may actually be a fvwm-themes-devel question...
   
With Screen1 LeftOf Screen0
|-| |--|
| | |  |
|  Screen1| | Screen0  |
| | |  |
| | |  |
|-| |--|

I'm finding strange quirky things like WindowList and other menus
popping up on either screen. For instance I'm using latest fvwm cvs as
well as fvwm-themes cvs, and choose CDE themes half of the cde button
bar module appears halfway off the screen of Screen0 which is on the
right like the #'s in the above diagram. And if you manually drag it
into view say to Screen1 which I have on the left, then clicking on any
menu on the cde button bar the menu pops up on Screen0 which is on the
right!?

So, is that my fault for trying to do things back to front?

Alex
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some quirky things with xinerama.

2001-09-20 Thread Dominik Vogt
On Thu, Sep 20, 2001 at 08:56:41PM +0930, Alex Wallis wrote:
 I'm using a stock redhat7.1 system, except I've upgraded to XFree 4.1.0
 and have two monitor's with xinerama support working happily.
 
 But!... and this may actually be a fvwm-themes-devel question...

 With Screen1 LeftOf Screen0
 |-| |--|
 | | |  |
 |  Screen1| | Screen0  |
 | | |  |
 | | |  |
 |-| |--|
 
 I'm finding strange quirky things like WindowList and other menus
 popping up on either screen. For instance I'm using latest fvwm cvs as
 well as fvwm-themes cvs, and choose CDE themes half of the cde button
 bar module appears halfway off the screen of Screen0 which is on the
 right like the #'s in the above diagram. And if you manually drag it
 into view say to Screen1 which I have on the left, then clicking on any
 menu on the cde button bar the menu pops up on Screen0 which is on the
 right!?
 
 So, is that my fault for trying to do things back to front?

Since screen 1 is bigger in the picture, I guess that it it the
screen your work on primarily.  It looks as if the button bar
would fit nicely on screen 1.  Try using

  XineramaPrimaryScreen 1

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some quirky things with xinerama.

2001-09-20 Thread Olivier Chapuis
On Thu, Sep 20, 2001 at 08:56:41PM +0930, Alex Wallis wrote:
 I'm using a stock redhat7.1 system, except I've upgraded to XFree 4.1.0
 and have two monitor's with xinerama support working happily.
 
 But!... and this may actually be a fvwm-themes-devel question...

 With Screen1 LeftOf Screen0
 |-| |--|
 | | |  |
 |  Screen1| | Screen0  |
 | | |  |
 | | |  |
 |-| |--|
 
 I'm finding strange quirky things like WindowList and other menus
 popping up on either screen. For instance I'm using latest fvwm cvs as
 well as fvwm-themes cvs, and choose CDE themes half of the cde button
 bar module appears halfway off the screen of Screen0 which is on the
 right like the #'s in the above diagram. And if you manually drag it
 into view say to Screen1 which I have on the left, then clicking on any
 menu on the cde button bar the menu pops up on Screen0 which is on the
 right!?
 
 So, is that my fault for trying to do things back to front?


fvwm-themes is not Xinerama compliant. This will be on the TODO
list. Adding a line of the form:

PipeRead 'echo *FvwmButtons-Panel: Geometry 860x77+`expr ( $[vp.width] - 
860 ) / 2`[EMAIL PROTECTED]'
   ^^
to your modules-extra should fix the cde buttons geometry.
BTW, maybe it will be good to have some Xinerama support in
COMMAND EXPANSION (e.g., new variables) and FvwmM4.
About the menus popup by the cde button the problems come
from cfg lines of the form:

*FvwmButtons-Panel: (3x2+33+0, Frame 1, Icon module/large/panel-arrow.xpm, \
Padding 1 1, Colorset 11, \
Action 'Menu MenuFvwmSystem rectangle $widthx$height+$left+$top o+50 -100m')

*Maybe* this is a FvwmButtons/fvwm2/Xinerama bugs or miss feature.
I do not know.

Olivier

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Some quirky things with xinerama.

2001-09-20 Thread Alex Wallis
Dominik Vogt wrote:
 
 On Thu, Sep 20, 2001 at 08:56:41PM +0930, Alex Wallis wrote:
  I'm using a stock redhat7.1 system, except I've upgraded to XFree 4.1.0
  and have two monitor's with xinerama support working happily.
 
  But!... and this may actually be a fvwm-themes-devel question...
 
  With Screen1 LeftOf Screen0
  |-| |--|
  | | |  |
  |  Screen1| | Screen0  |
  | | |  |
  | | |  |
  |-| |--|
 
  I'm finding strange quirky things like WindowList and other menus
  popping up on either screen. For instance I'm using latest fvwm cvs as
  well as fvwm-themes cvs, and choose CDE themes half of the cde button
  bar module appears halfway off the screen of Screen0 which is on the
  right like the #'s in the above diagram. And if you manually drag it
  into view say to Screen1 which I have on the left, then clicking on any
  menu on the cde button bar the menu pops up on Screen0 which is on the
  right!?
 
  So, is that my fault for trying to do things back to front?
 
 Since screen 1 is bigger in the picture, I guess that it it the
 screen your work on primarily.  It looks as if the button bar
 would fit nicely on screen 1.  Try using

Oh, I just can't draw. Both monitors are at the same size and same res
of 1024x768 at 16 bpp, but the left is a 16M savage4 card and the right
has a 4M ATI card. The left monitor should also be capable of 1600 x
1200, but I haven't figured out how to get it to work with different
sizes.

 
   XineramaPrimaryScreen 1

That fixes the menus on the cde button bar module, but the built-in
WindowList(right click) or windowops menus appear on the left when
right-clicking on the right desktop on Screen0?

Many thanks again. :)

Alex
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Removed remaining todo items to todo-3.0 and deleted todo-xinerama.

2001-09-16 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/09/16 07:19:42

Modified files:
.  : todo-3.0 
Removed files:
.  : todo-xinerama 

Log message:
* Removed remaining todo items to todo-3.0 and deleted todo-xinerama.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


FYI: Official Xinerama API spec

2001-09-15 Thread Dmitry Yu. Bolkhovityanov
Hi!

As was mentioned some time ago, Xinerama API implementation in
XFree86 isn't an official X.org standard.  And X environments other than
XFree86 use different (and incomplete, and undisclosed) Panoramix API.

A draft of upcoming standard API is available at 

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xinerama/xinerama/xc/doc/XineramaApi.txt?rev=1.2content-type=text/vnd.viewcvs-markup

Differences from XFree86's implementation are very subtle and can be
easily handled within FScreen.c with a little assistance from configure
script.  Additionally, Mark Vojkovich states at
http://www.xfree86.org/pipermail/xpert/2001-September/011340.html
that XFree86 will support both when the X.Org protocol is finalized.

BTW, I'm going to contact him regarding our findings (like a desire to
have a Pointer changed physical screen event).  Are there any other
similar things which will require assistance from X server and API?

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-25 Thread Dominik Vogt
On Mon, Aug 20, 2001 at 08:05:14PM -0400, Dan Espen wrote:
 Dmitry Yu. Bolkhovityanov [EMAIL PROTECTED] writes:
  On Mon, 20 Aug 2001, Dan Espen wrote:
  
   Dominik Vogt fvwm-workers@fvwm.org writes:
Currently, fvwm uses the icon boxes in the order of creation.  So,
if one icon box is created on screen 0 and one is created on
screen 1, all icons are placed on screen 0 until the icon box is
full, then all icons are put on screen 1.  My question was if it
is necessary to skip icon boxes that are not on the same screen as
the window.
   
   I don't think we'd want to apply the same screen test unless the
   user indicated that the iconbox was for a specific screen.
   Right now, theres no way to do that.
  
  Would it be possible to remember the screen# together with
  translated geometry?
 
 It can be saved, but what for?

For recalculation of the icon boxes when the Xinerama command is
used.  Let's assume Xinerama is enabled with two screens.

  Style * IconBox [EMAIL PROTECTED]

puts the icon box at 0 0 of screen 1.  Now,

  Xinerama off

is issued.  The @1 must now refer to the global screen since there
are no more Xinerama screens.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-25 Thread Dan Espen
Dominik Vogt [EMAIL PROTECTED] writes:
 On Mon, Aug 20, 2001 at 08:05:14PM -0400, Dan Espen wrote:
  Dmitry Yu. Bolkhovityanov [EMAIL PROTECTED] writes:
   On Mon, 20 Aug 2001, Dan Espen wrote:
   
Dominik Vogt fvwm-workers@fvwm.org writes:
 Currently, fvwm uses the icon boxes in the order of creation.  So,
 if one icon box is created on screen 0 and one is created on
 screen 1, all icons are placed on screen 0 until the icon box is
 full, then all icons are put on screen 1.  My question was if it
 is necessary to skip icon boxes that are not on the same screen as
 the window.

I don't think we'd want to apply the same screen test unless the
user indicated that the iconbox was for a specific screen.
Right now, theres no way to do that.
   
 Would it be possible to remember the screen# together with
   translated geometry?
  
  It can be saved, but what for?
 
 For recalculation of the icon boxes when the Xinerama command is
 used.  Let's assume Xinerama is enabled with two screens.

Thanks, now I understand.

I added the screen spec  to the iconbox structure for  the case when a
geometry style spec is used, but the IconBox can also be defined in l
r t b format.  There are times when that format is required.  I don't
know what format  you'd like  to use  in  that case.  I  suppose  just
another string and pass it over to XineramaSupportParseScreenBit?

Like:

Style * Iconbox -80 240 -1 -1 g

I didn't do anything but put the value in the structure.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: One more Xinerama patch for FvwmWharf

2001-08-23 Thread Dominik Vogt
On Sat, Aug 18, 2001 at 08:28:54PM +0700, Dmitry Yu. Bolkhovityanov wrote:
   Hi!
 
   This patch deals with withdrawing Wharf to corners and with
 in which direction panels should open.

Appliet.  BTW, could you please include ChangeLog entries with
your patches?
 
   BTW, there's a strange error in drawing the panel's host button.
 When a vertical Wharf is at the right border (and a panel slides to the
 left), after a panel completely appears, the host button is in two
 halves: the right half is pressed, while the left one is depressed.

Can you post a config to demonstrate this?

   Presence of this effect depends on X server, but I can 100%
 reproduce it in Xnest ran on Matrox G450 under XFree86 4.0.3 (RH7.1,
 AnotherLevel).  Interestingly, on the host server itself the effect seems
 to be 100% unreproducible.  I can post a screenshot of this effect if
 required.

You're using XNest?  Usually I don't debug problems with XNest
which seems to have a lot of bugs.  Did you ever see this with a
real X server?

   BTW2: wouldn't it be wise to add an item 15.5.5.5 to todo-3.0,
 stating Remove FvwmWharf (It's an FvwmButtons with trivial enhancements)?

I'va added it to the list.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: One more Xinerama patch for FvwmWharf

2001-08-23 Thread Dmitry Yu. Bolkhovityanov
On Thu, 23 Aug 2001, Dominik Vogt wrote:

 On Sat, Aug 18, 2001 at 08:28:54PM +0700, Dmitry Yu. Bolkhovityanov wrote:
  Hi!
  
  This patch deals with withdrawing Wharf to corners and with
  in which direction panels should open.
 
 Appliet.  BTW, could you please include ChangeLog entries with
 your patches?

Ok.  For this one it is Make FvwmWharf use current Xinerama
screen for choosing in which direction to slide panels and for withdrawn
position calculation (khm, a bit too long, shame on me...).

  BTW, there's a strange error in drawing the panel's host button.
  When a vertical Wharf is at the right border (and a panel slides to the
  left), after a panel completely appears, the host button is in two
  halves: the right half is pressed, while the left one is depressed.
 
 Can you post a config to demonstrate this?

Well, that's just AnotherLevel.  I append all *FvwmWharf lines
in m4-preprocessed form at the end of this mail (long lines are marked
with \s).

  Presence of this effect depends on X server, but I can 100%
  reproduce it in Xnest ran on Matrox G450 under XFree86 4.0.3 (RH7.1,
  AnotherLevel).  Interestingly, on the host server itself the effect seems
  to be 100% unreproducible.  I can post a screenshot of this effect if
  required.
 
 You're using XNest?  Usually I don't debug problems with XNest
 which seems to have a lot of bugs.  Did you ever see this with a
 real X server?

Yes.  It is the same problem which was 100% reproducible with
2.3.28 under XFree86 3.3.2 with Matrox Millenium II (that was my previous
machine).  And it is still reproducible under XFree86 4.0.3 on our 
4-monitor PC (Matrox G450DualHead + 2 x Millenium II), the same problem on
any head.  That machine has RedHat 6.2 (kernel 2.2.16) with glibc-2.1.3.
U...  Actually, I ran fvwm over a 100Mbit Ethernet from another
machine, and my oldie was P166MMX; so, maybe there's some timing problem?

 CUT HERE 
Style FvwmWharf StaysOnTop,Sticky, WindowListSkip,CirculateSkip, \
ClickToFocus, NoTitle,NoHandles,BorderWidth 0
*FvwmWharfAnimate
*FvwmWharfAnimateMain
*FvwmWharfGeometry  -0+0
*FvwmWharfColumns   1 
*FvwmWharfTextureType   255
*FvwmWharfBgColor   gray51
*FvwmWharf AfterStep AfterStep.xpm Folder
*FvwmWharf Shutdown  ShutDown.xpm  Quit
*FvwmWharf xlock KeysOnChain.xpm FvwmForm XLock
*FvwmWharf ~Folder
*FvwmWharf xclock nil Swallow xclock xclock -bg #8e8a9e -fg \
#3f -geometry 45x45-1-1 -padding 0 
*FvwmWharf xbiff  nil Swallow xbiff xbiff -bg #8e8a9e -fg \
#3f -geometry 45x45-1-1 
*FvwmWharf xload  nil Swallow xload xload -nolabel -hl black -bg \
#8e8a9e -geometry 48x48-1-1 
*FvwmWharf xload  nil Exec xterm -ut -T top -e top 
*FvwmWharf Pager nil Swallow FvwmPager Module FvwmPager 0 0
*FvwmWharf xterm monitor-check.xpm  Exec xterm -bg black -geometry \
80x25 -sl 500 -sb -ls -T 'xterm: [EMAIL PROTECTED]' 
*FvwmWharf emacs text.xpm Exec emacs 

*FvwmWharf gimp 3dpaint.xpm Exec gimp 

 
*FvwmWharf pine writeletter.xpm Exec xterm -T pine -e pine 
*FvwmWharf Netscape netscape3.xpm Exec netscape 
*FvwmWharf Recycler  recycler.xpm  Restart fvwm2
 CUT HERE 

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-21 Thread Dan Espen
Dominik Vogt fvwm-workers@fvwm.org writes:
 On Mon, Aug 20, 2001 at 09:45:11AM -0400, Dan Espen wrote:
  Dominik Vogt fvwm-workers@fvwm.org writes:
   On Sun, Aug 19, 2001 at 06:45:32PM -0400, Dan Espen wrote:
Is there a way to test screen size changes without Xinerama working?
   
   With Xinerama emulation.  Run configure with
   
 $ ./configure --enable-xinerama-emulation
   
   The screen is then split into two fake Xinerama screens and a
   blank area that doesn't belong to any screen.  To switch
   Xinerama on and off just use
   
 Xinerama off
   
   or
   
 Xinerama on
   
   or
   
 Xinerama primary_screen_number
  
  Hmm, none of these actually change where the icon box is.
  I tried on, off, 0-3.
 
 Ah, I see.  You moved the calculations from style.c to icons.c,
 but they still use the global screen dimensions.  Instead, the
 specified screen has to be stored too.  Then, one of the
 XineramaSupportGet...ScrRect() functions can be called in
 AutoPlaceIcon() to get the actual size and offset of the screen.
 Also, the call to XineramaSupportParseGeometry in style.c has to
 be changed to XineramaSupportParseGeometryWithScreen() so that the
 screen spec can be stored in the icon box (its a signed integer).
 
 When this is completed, the following should work:
 
   Xinerama 1
   Style * iconbox 100x100-0-0
   Next iconify
   # iconifies on screen 1
   Xinerama 0
   Next iconify 
   # iconifies on screen 0
   Xinerama off
   Next iconify 
   # iconifies on global screen

Yes, I saw how  XineramaSupportParseGeometryWithScreen
is needed to get the screen number, but I still don't see
how the screen number is going to be used.  Is it needed
by the Iconify command?

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-21 Thread Dominik Vogt
On Tue, Aug 21, 2001 at 08:57:20AM -0400, Dan Espen wrote:
 Dominik Vogt fvwm-workers@fvwm.org writes:
  On Mon, Aug 20, 2001 at 09:45:11AM -0400, Dan Espen wrote:
   Dominik Vogt fvwm-workers@fvwm.org writes:
On Sun, Aug 19, 2001 at 06:45:32PM -0400, Dan Espen wrote:
 Is there a way to test screen size changes without Xinerama working?

With Xinerama emulation.  Run configure with

  $ ./configure --enable-xinerama-emulation

The screen is then split into two fake Xinerama screens and a
blank area that doesn't belong to any screen.  To switch
Xinerama on and off just use

  Xinerama off

or

  Xinerama on

or

  Xinerama primary_screen_number
   
   Hmm, none of these actually change where the icon box is.
   I tried on, off, 0-3.
  
  Ah, I see.  You moved the calculations from style.c to icons.c,
  but they still use the global screen dimensions.  Instead, the
  specified screen has to be stored too.  Then, one of the
  XineramaSupportGet...ScrRect() functions can be called in
  AutoPlaceIcon() to get the actual size and offset of the screen.
  Also, the call to XineramaSupportParseGeometry in style.c has to
  be changed to XineramaSupportParseGeometryWithScreen() so that the
  screen spec can be stored in the icon box (its a signed integer).
  
  When this is completed, the following should work:
  
Xinerama 1
Style * iconbox 100x100-0-0
Next iconify
# iconifies on screen 1
Xinerama 0
Next iconify 
# iconifies on screen 0
Xinerama off
Next iconify 
# iconifies on global screen
 
 Yes, I saw how  XineramaSupportParseGeometryWithScreen
 is needed to get the screen number, but I still don't see
 how the screen number is going to be used.  Is it needed
 by the Iconify command?

No.  Somewhere in icons.c the actual position and size of the icon
boxes is calculated.  To do this, the global screen dimensions and
position (0 0) are used.  These values have to be replaced with
the screen dimensions of the Xinerama screen that is to be used.
All this has to be done every time the Xinerama command is called.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dominik Vogt
On Sun, Aug 19, 2001 at 07:35:15PM -0400, Dan Espen wrote:
 Dominik Vogt [EMAIL PROTECTED] writes:
  Dan, I looked at the icon box code in style.c because I wanted to
  make it work with changes of the Xinerama state, but the matter is
  too complex to write a patch in short time for me.
  
  What I want to do:
  
   1) Default to using the primary screen for icon box specs
  (already works for X geometry like specs and is easy to do for
  the other syntax).
   2) Recalculate all icon boxes when the Xinerama layout of the
  screen changes (switched on or off).
  
  The difficult part is (2) because all the calculations are done
  when the style is defined.  The precise spec string is thrown away
  afterwards.  So doing this requires to remove the calculations
  from style.c and do them somewhere is icons.c.  Can you take a
  look at this, please?  I think this could wait until after 2.4.1.
 
 Done.  You may want to test this on a system that supports
 Xinerama.  I tested it with:
 
 Style * IconBox -80 240 -1 -1, IconGrid 80 67, \
   IconBox 1040x20+0-40,  IconGrid 80 80, IconFill r t
 
 which tests both formats and some negative coordinates.

Great!  I am still unsure about a few things that could be done:

 - Should each screen have a default icon box?
 - Should icons always be placed in an icon box that overlaps the
   window's screen first?
 - Is it worthwhile to prevent icons from being placed between
   screens if the icon box spans the whole desktop? (I guess not).

I already wrote the code to update the icon boxes when the
Xinerama layout changes, but it needs yet to be tested.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: CVS domivogt: * Applied Xinerama patch for Maximize command but changed syntax to

2001-08-20 Thread Dmitry Yu. Bolkhovityanov
On Sun, 19 Aug 2001, FVWM CVS wrote:

 Log message:
 * Applied Xinerama patch for Maximize command but changed syntax to
 Maximize Screen screen-spec.

fvwm.org seems to be offline, so the question: would it be
possible to maximize on the same screen where the window currently is?
I.e., if the window is completely on screen 2, and I'm issuing Next
(WINNAME) Maximize from FvwmCommand on screen 3 (i.e. c==3), the window
gets geometry [EMAIL PROTECTED]

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dominik Vogt
On Mon, Aug 20, 2001 at 04:19:19PM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Mon, 20 Aug 2001, Dominik Vogt wrote:
 
  On Sun, Aug 19, 2001 at 07:35:15PM -0400, Dan Espen wrote:
   Dominik Vogt [EMAIL PROTECTED] writes:
Dan, I looked at the icon box code in style.c because I wanted to
make it work with changes of the Xinerama state, but the matter is
too complex to write a patch in short time for me.

What I want to do:

 1) Default to using the primary screen for icon box specs
(already works for X geometry like specs and is easy to do for
the other syntax).
 2) Recalculate all icon boxes when the Xinerama layout of the
screen changes (switched on or off).

The difficult part is (2) because all the calculations are done
when the style is defined.  The precise spec string is thrown away
afterwards.  So doing this requires to remove the calculations
from style.c and do them somewhere is icons.c.  Can you take a
look at this, please?  I think this could wait until after 2.4.1.
   
   Done.  You may want to test this on a system that supports
   Xinerama.  I tested it with:
   
   Style * IconBox -80 240 -1 -1, IconGrid 80 67, \
 IconBox 1040x20+0-40,  IconGrid 80 80, IconFill r t
   
   which tests both formats and some negative coordinates.
  
  Great!  I am still unsure about a few things that could be done:
  
   - Should each screen have a default icon box?
 
   Yes.  The natural way is to place icon on the same screen where
 the window is.

   - Should icons always be placed in an icon box that overlaps the
 window's screen first?
 
   Can you please explain what you mean by that?

Currently, fvwm uses the icon boxes in the order of creation.  So,
if one icon box is created on screen 0 and one is created on
screen 1, all icons are placed on screen 0 until the icon box is
full, then all icons are put on screen 1.  My question was if it
is necessary to skip icon boxes that are not on the same screen as
the window.

   - Is it worthwhile to prevent icons from being placed between
 screens if the icon box spans the whole desktop? (I guess not).
 
   Agreed.  If the user makes a global iconbox, his choice should
 be obeyed.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: CVS domivogt: * Applied Xinerama patch for Maximize command but changed syntax to

2001-08-20 Thread Dominik Vogt
On Mon, Aug 20, 2001 at 04:40:52PM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Sun, 19 Aug 2001, FVWM CVS wrote:
 
  Log message:
  * Applied Xinerama patch for Maximize command but changed syntax to
  Maximize Screen screen-spec.
 
   fvwm.org seems to be offline, so the question: would it be
 possible to maximize on the same screen where the window currently is?
 I.e., if the window is completely on screen 2, and I'm issuing Next
 (WINNAME) Maximize from FvwmCommand on screen 3 (i.e. c==3), the window
 gets geometry [EMAIL PROTECTED]

Isn't that the default behaviour of your patch without global?
I only changed the syntax of the additional key words:

  Maximize global ...

becomes

  Maximize screen g ...

Im addition you can specify

  Maximize screen p ...
  Maximize screen c ...
  Maximize screen 0 ...
  Maximize screen 1 ...
  ...

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dan Espen
Dominik Vogt fvwm-workers@fvwm.org writes:
 On Sun, Aug 19, 2001 at 06:45:32PM -0400, Dan Espen wrote:
  Is there a way to test screen size changes without Xinerama working?
 
 With Xinerama emulation.  Run configure with
 
   $ ./configure --enable-xinerama-emulation
 
 The screen is then split into two fake Xinerama screens and a
 blank area that doesn't belong to any screen.  To switch
 Xinerama on and off just use
 
   Xinerama off
 
 or
 
   Xinerama on
 
 or
 
   Xinerama primary_screen_number

Hmm, none of these actually change where the icon box is.
I tried on, off, 0-3.

I'm not sure if they should.  I sort of thought if I had
on followed by 0, it might use the smaller box on the left
as the primary screen but it didn't seem to do that.

It must be pretty neat to watch FvwmAnimate draw lines from one
screen to another.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dan Espen
Dominik Vogt fvwm-workers@fvwm.org writes:
 Currently, fvwm uses the icon boxes in the order of creation.  So,
 if one icon box is created on screen 0 and one is created on
 screen 1, all icons are placed on screen 0 until the icon box is
 full, then all icons are put on screen 1.  My question was if it
 is necessary to skip icon boxes that are not on the same screen as
 the window.

I don't think we'd want to apply the same screen test unless the
user indicated that the iconbox was for a specific screen.
Right now, theres no way to do that.

I don't think that just because the iconbox lies completely within
a screen is sufficient reason to only use it for one screen.

Since I don't have a setup,  I can only guess, but my guess is
that we don't need a iconbox for each screen feature.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dmitry Yu. Bolkhovityanov
On Mon, 20 Aug 2001, Dan Espen wrote:

 Dominik Vogt fvwm-workers@fvwm.org writes:
  Currently, fvwm uses the icon boxes in the order of creation.  So,
  if one icon box is created on screen 0 and one is created on
  screen 1, all icons are placed on screen 0 until the icon box is
  full, then all icons are put on screen 1.  My question was if it
  is necessary to skip icon boxes that are not on the same screen as
  the window.
 
 I don't think we'd want to apply the same screen test unless the
 user indicated that the iconbox was for a specific screen.
 Right now, theres no way to do that.

Would it be possible to remember the screen# together with
translated geometry?

 I don't think that just because the iconbox lies completely within
 a screen is sufficient reason to only use it for one screen.
 
 Since I don't have a setup,  I can only guess, but my guess is
 that we don't need a iconbox for each screen feature.

Well, maybe not iconbox for each screen, but iconify on the
same screen.  It seems most natural that windows iconify on the same
screen where they are.  

A possible way to achieve this behaviour is to define a floating
iconbox: i.e. IconBox -80x200-1-1 will create an iconbox which will be
treated as @w (w is window's current screen).  Not sure about
implementation details, though -- I'm speaking of this mainly as a user of
several multiheaded machines.

BTW, there's a little problem with specifying iconboxes separately
for each screen: this is okay for a static configuration, but what about
an XDM server which works for several different-headed machines? So
there's a need in a single command to bind iconboxes to all screens.

I have yet to test the latest CVS, so sorry if everything is
already done.

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dominik Vogt
On Mon, Aug 20, 2001 at 09:45:11AM -0400, Dan Espen wrote:
 Dominik Vogt fvwm-workers@fvwm.org writes:
  On Sun, Aug 19, 2001 at 06:45:32PM -0400, Dan Espen wrote:
   Is there a way to test screen size changes without Xinerama working?
  
  With Xinerama emulation.  Run configure with
  
$ ./configure --enable-xinerama-emulation
  
  The screen is then split into two fake Xinerama screens and a
  blank area that doesn't belong to any screen.  To switch
  Xinerama on and off just use
  
Xinerama off
  
  or
  
Xinerama on
  
  or
  
Xinerama primary_screen_number
 
 Hmm, none of these actually change where the icon box is.
 I tried on, off, 0-3.

I don't know if you did this, but I only made the X geometry like
syntax work with screens.  The other syntax still addresses the
global screen if you did not write this.  Try

  Style * IconBox [EMAIL PROTECTED]

 I'm not sure if they should.  I sort of thought if I had
 on followed by 0, it might use the smaller box on the left
 as the primary screen but it didn't seem to do that.

The proper syntax is

  Xinerama 3

not

  Xinerama on 3

I guess this should be changed anyway since it interferes with the
paring of 0/1 values of the bool argument.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dan Espen
Dominik Vogt fvwm-workers@fvwm.org writes:
 On Mon, Aug 20, 2001 at 09:45:11AM -0400, Dan Espen wrote:
  Dominik Vogt fvwm-workers@fvwm.org writes:
   On Sun, Aug 19, 2001 at 06:45:32PM -0400, Dan Espen wrote:
Is there a way to test screen size changes without Xinerama working?
   
   With Xinerama emulation.  Run configure with
...
  Hmm, none of these actually change where the icon box is.
  I tried on, off, 0-3.
 
 I don't know if you did this, but I only made the X geometry like
 syntax work with screens.  The other syntax still addresses the
 global screen if you did not write this.  Try
 
   Style * IconBox [EMAIL PROTECTED]

Neat.

Issuing the Style command moves the icons around.
It looks good to me.

The man page needs work.

  I'm not sure if they should.  I sort of thought if I had
  on followed by 0, it might use the smaller box on the left
  as the primary screen but it didn't seem to do that.
 
 The proper syntax is
 
   Xinerama 3
 not
   Xinerama on 3

I meant to say, I issued:

Xinerama on
Xinerama 0

 I guess this should be changed anyway since it interferes with the
 parsing of 0/1 values of the bool argument.

My biggest problem is spelling the command.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-20 Thread Dan Espen
Dmitry Yu. Bolkhovityanov [EMAIL PROTECTED] writes:
 On Mon, 20 Aug 2001, Dan Espen wrote:
 
  Dominik Vogt fvwm-workers@fvwm.org writes:
   Currently, fvwm uses the icon boxes in the order of creation.  So,
   if one icon box is created on screen 0 and one is created on
   screen 1, all icons are placed on screen 0 until the icon box is
   full, then all icons are put on screen 1.  My question was if it
   is necessary to skip icon boxes that are not on the same screen as
   the window.
  
  I don't think we'd want to apply the same screen test unless the
  user indicated that the iconbox was for a specific screen.
  Right now, theres no way to do that.
 
   Would it be possible to remember the screen# together with
 translated geometry?

It can be saved, but what for?

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


One more Xinerama patch for FvwmWharf

2001-08-20 Thread Dmitry Yu. Bolkhovityanov
Hi!

This patch deals with withdrawing Wharf to corners and with
in which direction panels should open.

BTW, there's a strange error in drawing the panel's host button.
When a vertical Wharf is at the right border (and a panel slides to the
left), after a panel completely appears, the host button is in two
halves: the right half is pressed, while the left one is depressed.

Presence of this effect depends on X server, but I can 100%
reproduce it in Xnest ran on Matrox G450 under XFree86 4.0.3 (RH7.1,
AnotherLevel).  Interestingly, on the host server itself the effect seems
to be 100% unreproducible.  I can post a screenshot of this effect if
required.

BTW2: wouldn't it be wise to add an item 15.5.5.5 to todo-3.0,
stating Remove FvwmWharf (It's an FvwmButtons with trivial enhancements)?

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics



wharf.diff.gz
Description: Binary data


Re: Xinerama patch for Maximize

2001-08-19 Thread Dominik Vogt
On Sat, Aug 18, 2001 at 06:59:56PM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Fri, 17 Aug 2001, Dominik Vogt wrote:
 
  On Fri, Aug 17, 2001 at 11:46:45AM +0700, Dmitry Yu. Bolkhovityanov wrote:
   On Thu, 16 Aug 2001, Dominik Vogt wrote:
   
On Wed, Aug 15, 2001 at 08:30:20PM +0700, Dmitry Yu. Bolkhovityanov 
wrote:
 
   I've added an optional global switch, which means that
 maximization should be made on a global screen, otherwise it is made 
 on 
 the screen where the center of a window is.  grow* are also adjusted
 (that turned to be the easiest part of the task).

I have been thinking about an entirely different approach that
uses XGeometry specs:

  Maximize on [EMAIL PROTECTED]

The problem here is to specify the resize unit (screen % or
pixels) and where to place the grow option.  The same syntax
could be used for the Move, Resize and ResizeMove commands.
   
 IMHO these two approaches aren't contradictory
  
  That's true, but I don't think we would want to develop a
  second syntax.  My idea was to support maximizing/moving/resizing
  only with the new, X geometry like syntax and phase out the old
  one.
 
   Okay, but there are two issues.
 
   First, while the geometry syntax is mathematically okay, it is 
 just too complicated (messy?) for an ordinary user -- like a Perl program 
 for a person which knows only Pascal.  I don't want to say that users are
 silly, but 640pxgrow-5+0p is a bit too much.  

Well, the ordinary user would not use that syntax at all but stick
with

  Maximize on
  Maximize on 100 0
  Maximize on 0 100

Anyway, as nice as a common syntax for all the resizing/moving
commands would be, its not the proper time to do this.

   BTW, this syntax employs latin letters for three different uses:
 1) unit size (p); 2) keywords (grow); 3) times/multiplication operator
 (x); and all these go without any separators.  While this is definitely
 parseable, it isn't very fancy and is too error-prone.

Yes, and my X11 book says: If the [parse]string is not in Host
Portable Character Encoding, the result is
implementation-dependent.

   Anyway, can you please post a formal definition of new syntax,
 like a BNF? 

No, I can't.  I don't even know the correct definition of the
standard X11 geometry spec.

   Sorry for only criticizing, but I yet have to find out some
 reasonable suggestions.

Let's skip my idea for now and update the old syntax.

   Second, due to compatibility reasons, the old syntax should still
 be supported.

Of course.  I only though about not writing new features for the
old syntax.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Xinerama support for IconBox style?

2001-08-19 Thread Dominik Vogt
Dan, I looked at the icon box code in style.c because I wanted to
make it work with changes of the Xinerama state, but the matter is
too complex to write a patch in short time for me.

What I want to do:

 1) Default to using the primary screen for icon box specs
(already works for X geometry like specs and is easy to do for
the other syntax).
 2) Recalculate all icon boxes when the Xinerama layout of the
screen changes (switched on or off).

The difficult part is (2) because all the calculations are done
when the style is defined.  The precise spec string is thrown away
afterwards.  So doing this requires to remove the calculations
from style.c and do them somewhere is icons.c.  Can you take a
look at this, please?  I think this could wait until after 2.4.1.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Applied Xinerama patch for Maximize command but changed syntax to

2001-08-19 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/08/19 09:17:27

Modified files:
.  : ChangeLog NEWS todo-xinerama 
fvwm   : fvwm2.1 move_resize.c placement.c screen.h 
 update.c virtual.c 
libs   : XineramaSupport.c XineramaSupport.h 
modules/FvwmIconMan: x.c 
modules/FvwmTaskBar: FvwmTaskBar.c 
modules/FvwmWinList: FvwmWinList.c 

Log message:
* Applied Xinerama patch for Maximize command but changed syntax to
Maximize Screen screen-spec.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Xinerama patches complete

2001-08-19 Thread Dominik Vogt
With the latest commits, I think Xinerama support is complete.
It needs a bit polishing of the documentation, thoug.  Probably a
separate Xinerama section in the man page is a good idea.
Everybody is welcome to help testing the patches, specifically
Xinerama placement of modules, new module options and the changes
in fvwm's core.  All changes are listed in the NEWS file.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-19 Thread Dan Espen
Dominik Vogt [EMAIL PROTECTED] writes:
 Dan, I looked at the icon box code in style.c because I wanted to
 make it work with changes of the Xinerama state, but the matter is
 too complex to write a patch in short time for me.
 
 What I want to do:
 
  1) Default to using the primary screen for icon box specs
 (already works for X geometry like specs and is easy to do for
 the other syntax).
  2) Recalculate all icon boxes when the Xinerama layout of the
 screen changes (switched on or off).
 
 The difficult part is (2) because all the calculations are done
 when the style is defined.  The precise spec string is thrown away
 afterwards.  So doing this requires to remove the calculations
 from style.c and do them somewhere is icons.c.  Can you take a
 look at this, please?  I think this could wait until after 2.4.1.

It doesn't look too  hard, it just needs to  save the signs separately
(for -0) and apply screen dimensions later.

Is there a way to test screen size changes without Xinerama working?

I did a CVS update, now I have this:

Undefined   first referenced
 symbol in file
XineramaSupportGetNumberedScrRect   placement.o

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama support for IconBox style?

2001-08-19 Thread Dan Espen

Oops,  ignore that comment about 
XineramaSupportGetNumberedScrRect.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama patch for Maximize

2001-08-18 Thread Dmitry Yu. Bolkhovityanov
On Fri, 17 Aug 2001, Dominik Vogt wrote:

 On Fri, Aug 17, 2001 at 11:46:45AM +0700, Dmitry Yu. Bolkhovityanov wrote:
  On Thu, 16 Aug 2001, Dominik Vogt wrote:
  
   On Wed, Aug 15, 2001 at 08:30:20PM +0700, Dmitry Yu. Bolkhovityanov wrote:

I've added an optional global switch, which means that
maximization should be made on a global screen, otherwise it is made on 
the screen where the center of a window is.  grow* are also adjusted
(that turned to be the easiest part of the task).
   
   I have been thinking about an entirely different approach that
   uses XGeometry specs:
   
 Maximize on [EMAIL PROTECTED]
   
   The problem here is to specify the resize unit (screen % or
   pixels) and where to place the grow option.  The same syntax
   could be used for the Move, Resize and ResizeMove commands.
  
  IMHO these two approaches aren't contradictory
 
 That's true, but I don't think we would want to develop a
 second syntax.  My idea was to support maximizing/moving/resizing
 only with the new, X geometry like syntax and phase out the old
 one.

Okay, but there are two issues.

First, while the geometry syntax is mathematically okay, it is 
just too complicated (messy?) for an ordinary user -- like a Perl program 
for a person which knows only Pascal.  I don't want to say that users are
silly, but 640pxgrow-5+0p is a bit too much.  

BTW, this syntax employs latin letters for three different uses:
1) unit size (p); 2) keywords (grow); 3) times/multiplication operator
(x); and all these go without any separators.  While this is definitely
parseable, it isn't very fancy and is too error-prone.

Anyway, can you please post a formal definition of new syntax,
like a BNF? 

Sorry for only criticizing, but I yet have to find out some
reasonable suggestions.

Second, due to compatibility reasons, the old syntax should still
be supported.  Otherwise most users of =2.4 (especially those with 1
monitor) will live with old versions, and in some cases even
fvwmNN_convert wouldn't be able to help them (think about AnotherLevel and
alikes).

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama patch for Maximize

2001-08-17 Thread Dmitry Yu. Bolkhovityanov
On Thu, 16 Aug 2001, Dominik Vogt wrote:

 On Wed, Aug 15, 2001 at 08:30:20PM +0700, Dmitry Yu. Bolkhovityanov wrote:
  
  I've added an optional global switch, which means that
  maximization should be made on a global screen, otherwise it is made on 
  the screen where the center of a window is.  grow* are also adjusted
  (that turned to be the easiest part of the task).
 
 I have been thinking about an entirely different approach that
 uses XGeometry specs:
 
   Maximize on [EMAIL PROTECTED]
 
 The problem here is to specify the resize unit (screen % or
 pixels) and where to place the grow option.  The same syntax
 could be used for the Move, Resize and ResizeMove commands.

IMHO these two approaches aren't contradictory -- yours allows
more flexibility, while the logic im my patch is required in case when no
parameters are specified (i.e. just Maximize) or the old syntax is used
(incl. e.g. grow).  But, of course, with some efforts old syntax parser
can be changed to generate an appropriate on geometry spec.

There's a pitfall in geometry syntax for Maximize: what would
mean Maximize [EMAIL PROTECTED] if applied to a window on different page/desk?
Would it be current screen where the *pointer* is, or the screen, where
that *window* is (more precisely, where it *would* be when Focus
applied)?  And what to do in case when current page doesn't start on a 
page boundary?

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama patch for Maximize

2001-08-17 Thread Dominik Vogt
On Fri, Aug 17, 2001 at 11:46:45AM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Thu, 16 Aug 2001, Dominik Vogt wrote:
 
  On Wed, Aug 15, 2001 at 08:30:20PM +0700, Dmitry Yu. Bolkhovityanov wrote:
   
 I've added an optional global switch, which means that
   maximization should be made on a global screen, otherwise it is made on 
   the screen where the center of a window is.  grow* are also adjusted
   (that turned to be the easiest part of the task).
  
  I have been thinking about an entirely different approach that
  uses XGeometry specs:
  
Maximize on [EMAIL PROTECTED]
  
  The problem here is to specify the resize unit (screen % or
  pixels) and where to place the grow option.  The same syntax
  could be used for the Move, Resize and ResizeMove commands.
 
   IMHO these two approaches aren't contradictory

That's true, but I don't think we would want to develop a
second syntax.  My idea was to support maximizing/moving/resizing
only with the new, X geometry like syntax and phase out the old
one.

 -- yours allows
 more flexibility, while the logic im my patch is required in case when no
 parameters are specified (i.e. just Maximize) or the old syntax is used
 (incl. e.g. grow).  But, of course, with some efforts old syntax parser
 can be changed to generate an appropriate on geometry spec.

Basically, the parser would have to do the same as the non
geometry based dimension/position parsers we have.  For each bit
of the geometry spec it should optionally accept a suffix to the
number, e.g. 100px100p+0m+0m, and possibly a list of key words.
This way it would finally possible to have something like this:

  Maximize 640pxgrow-5+0p

(maximized window is placed 5% of the screen width off the right
border and ant the top of the screen with a width of 640 pixels
and whatever height fits).  Of course this requires a pre parsing
pass over the geometry string that filters out all the fancy
suffices and key words before calling ...ParseGeometry.

  int FancyParseGeometry(
char *geom, int *ret_x, int *ret_y, int *ret_w, int *ret_h,
char *xy_suffix_array, int *xy_units_array, char **xy_keywords,
int *ret_x_unit, int *ret_y_unit,
char *wh_suffix_array, int *wh_units_array, char **wy_keywords,
int *ret_w_unit, int *ret_h_unit, 
int *ret_w_keyword, int *ret_h_keyword);

Pretty complex I guess, but very useful.

   There's a pitfall in geometry syntax for Maximize: what would
 mean Maximize [EMAIL PROTECTED] if applied to a window on different 
 page/desk?
 Would it be current screen where the *pointer* is, or the screen, where
 that *window* is (more precisely, where it *would* be when Focus
 applied)?  And what to do in case when current page doesn't start on a 
 page boundary?

As usual, @c would address the screen that contains the pointer,
possibly projected to other pages or desks.  To force the window
into the current viewport, the MoveToDesk/Page/Screen commands can
be used.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: Xinerama patch for Maximize

2001-08-16 Thread Dominik Vogt
On Wed, Aug 15, 2001 at 08:30:20PM +0700, Dmitry Yu. Bolkhovityanov wrote:
   Hi!
 
   This patch touches solely the move_resize.c.  I've tried to modify
 fvwm2.1, but my roff skills seem to be below what required to keep
 Maximize description in the same style (the latter seems a bit wrong BTW
 -- too many spaces).
 
   I've added an optional global switch, which means that
 maximization should be made on a global screen, otherwise it is made on 
 the screen where the center of a window is.  grow* are also adjusted
 (that turned to be the easiest part of the task).

I have been thinking about an entirely different approach that
uses XGeometry specs:

  Maximize on [EMAIL PROTECTED]

The problem here is to specify the resize unit (screen % or
pixels) and where to place the grow option.  The same syntax
could be used for the Move, Resize and ResizeMove commands.

   There are some problems with maximizing windows that aren't on the
 current page when the page itself doesn't start on a page boundary, but
 that effect existed before anyway.  

I see.  Consider it fixed :)

   And there is a comment maximize on visible page after
 IsRectangleOnThisPage() check, which doesn't seem to be correct -- somehow
 it happens that windows are maximized on visible page even if they are by
 some part (not entirely) on it. 

The comment should better read:

  maximize on the page where the center of the window is, but if
  any part of the window is on the current page, maximize it
  there.

 BTW, Dominik, was it done intentionally that in Xinerama emulation mode
  the vertical separator doesn't separate, but in fact overlaps two
  left pixels of the second pseudo-screen?  The result seems a bit
  confusing ;-)

You would have to ask Olivier.  He wrote that stuff.  Anyway, I
don't really care about this.  It is only meant as visible
feedback for testing and debugging.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Xinerama patch for Maximize

2001-08-15 Thread Dmitry Yu. Bolkhovityanov
Hi!

This patch touches solely the move_resize.c.  I've tried to modify
fvwm2.1, but my roff skills seem to be below what required to keep
Maximize description in the same style (the latter seems a bit wrong BTW
-- too many spaces).

I've added an optional global switch, which means that
maximization should be made on a global screen, otherwise it is made on 
the screen where the center of a window is.  grow* are also adjusted
(that turned to be the easiest part of the task).

There are some problems with maximizing windows that aren't on the
current page when the page itself doesn't start on a page boundary, but
that effect existed before anyway.  

And there is a comment maximize on visible page after
IsRectangleOnThisPage() check, which doesn't seem to be correct -- somehow
it happens that windows are maximized on visible page even if they are by
some part (not entirely) on it. 

BTW, Dominik, was it done intentionally that in Xinerama emulation mode
 the vertical separator doesn't separate, but in fact overlaps two
 left pixels of the second pseudo-screen?  The result seems a bit
 confusing ;-)

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics



maximize.diff.gz
Description: Binary data


Re: A naive Xinerama question

2001-08-13 Thread Dan Espen
Dominik Vogt fvwm-workers@fvwm.org writes:
 On Tue, Aug 07, 2001 at 01:05:22PM +0200, Olivier Chapuis wrote:
  BTW, I think that the change Xinerama{Enable,Disable} - Xinerama
  is not very good: it is difficult to a configuration tool or a user
  new to Xinerama to know if Xinerama is enabled or not.
 
 Er, what is the big difference between
 
   XineramaEnable
   XineramaDisable
 
 and
 
   Xinerama on
   Xinerama off
 
 ?  It just saves the additional commands.  And I can't think of
 any fvwm command that has an off and an on version.

Iconify on
Iconify off

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214   E-mail: [EMAIL PROTECTED]
Piscataway, NJ 08854 Phone: (732) 699-5570
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: A naive Xinerama question

2001-08-13 Thread Dominik Vogt
On Mon, Aug 13, 2001 at 10:27:12AM -0400, Dan Espen wrote:
 Dominik Vogt fvwm-workers@fvwm.org writes:
  On Tue, Aug 07, 2001 at 01:05:22PM +0200, Olivier Chapuis wrote:
   BTW, I think that the change Xinerama{Enable,Disable} - Xinerama
   is not very good: it is difficult to a configuration tool or a user
   new to Xinerama to know if Xinerama is enabled or not.
  
  Er, what is the big difference between
  
XineramaEnable
XineramaDisable
  
  and
  
Xinerama on
Xinerama off
  
  ?  It just saves the additional commands.  And I can't think of
  any fvwm command that has an off and an on version.
 
 Iconify on
 Iconify off

That's what I said.  You have one command with an on and an
off option instead of Iconify and Deiconify.  This makes
toggling these settings possible in the first place.  My wording
was a bit unfortunate, perhaps.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt fvwm-web: * Updated Xinerama module interface description.

2001-08-11 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm-web
Changes by: domivogt01/08/11 03:28:36

Modified files:
.  : ChangeLog mod_f2m_communication.html 

Log message:
* Updated Xinerama module interface description.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Finished Xinerama support for modules.

2001-08-11 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/08/11 16:28:18

Modified files:
.  : todo-xinerama 
libs   : XineramaSupport.c 
modules: ChangeLog 
modules/FvwmButtons: FvwmButtons.c 
modules/FvwmIconMan: FvwmIconMan.1 FvwmIconMan.c FvwmIconMan.h 
 fvwm.c globals.c readconfig.c x.c 
modules/FvwmIdent: FvwmIdent.c 
modules/FvwmPager: FvwmPager.c x_pager.c 
modules/FvwmWinList: FvwmWinList.c FvwmWinList.h 

Log message:
* Finished Xinerama support for modules.
* Fixedtransient option of FvwmPager.
* Allow Transient as well as -Transient in various modules.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-10 Thread Matthias Clasen
 By the way, Matthias, is there anything that has to be done to
 make FvwmGtk Xinerama compatible?

Well, its been a long time since I last looked at that code...

compatible is perhaps not the right term here. Any X application
should be Xinerama compatible, since after all its just an extension
that can be ignored.

If you ask for Xinerama-aware, then the answer would probably
be: make gtk+ Xinerama-aware. Which won't happen before
gtk+ is extended for multiple screens/displays. Which won't happen
before gtk+ 2.2.

Matthias

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-09 Thread Olivier Chapuis
On Wed, Aug 08, 2001 at 07:47:03PM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Wed, 8 Aug 2001, Matthias Clasen wrote:
 
   On Tue, 7 Aug 2001, Olivier Chapuis wrote:
   
Hello,

I have a very naive Xinerama question:
Is it possible to send to modules a M_NEW_SCREEN message
when the mouse pointer change of screen?
   
   Technicaly it isn't possible -- X server wouldn't generate
   EnterScreenNotify events, since Xinerama screens look like a single
   large screen.  
  
  But it would certainly be a useful addition to the Xinerama extension to
  send EnterXineramaHead and LeaveXineramaHead events  - IIRC X 
  extensions can introduce new events.  If these events contain the a
  head number, interested applications can then easily maintain information
  about the set of heads the pointer is in (even for the pathological case
  of overlapping heads).
 
   Well, this *can* be a useful addition if we find a real case when
 it is needed.  Than we can try to persuade Mark Vojkovich to add this
 functionality to X (BTW, what is interesting -- he also uses fvwm).  But
 there must be some real, hard arguments, otherwise this definitely
 wouldn't pass the X Xinerama group.


Well,

Some users may want to have an application which is always on the
current screen. Typically, if I get a double head I would like to
have my FvwmPager and my WLM (TaskBar, WinList, IconMan or IconBox)
always in the current screen. The solution is to run two such modules
(it is the reason I added aliases support in TaskBar, WinList and
IconBox recently). But a solution which seems better is that the
application follows the pointer. Moreover, for some applications,
running as many sticky copies of an application than screens will be
not a solution to get it always on the current screen: for example
with an xterm we lost the historic.

So I think that an EnterScreenNotify event will be a good thing for
a window manager: it will be able to manage a new/strong sticky mode
for any applications.

Olivier
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-09 Thread Dmitry Yu. Bolkhovityanov
On Thu, 9 Aug 2001, Olivier Chapuis wrote:

 Well,
 
 Some users may want to have an application which is always on the
 current screen. Typically, if I get a double head I would like to
 have my FvwmPager and my WLM (TaskBar, WinList, IconMan or IconBox)
 always in the current screen. The solution is to run two such modules
 (it is the reason I added aliases support in TaskBar, WinList and
 IconBox recently). But a solution which seems better is that the
 application follows the pointer. Moreover, for some applications,
 running as many sticky copies of an application than screens will be
 not a solution to get it always on the current screen: for example
 with an xterm we lost the historic.
 
 So I think that an EnterScreenNotify event will be a good thing for
 a window manager: it will be able to manage a new/strong sticky mode
 for any applications.

Well, that sounds very reasonable (now I understand my mistake --
I was thinking about something similar to FvwmBacker, but for Xinerama
screens, which is a nonsense ;-).

We have an option to add such functionality right now, but with
fvwm tracking screens itself (this is needed anyway for emulated
Xinerama), and later check for real EnterScreenNotify availability in
configure script.

IMHO currently the best way to go is collecting various reasons
for such an event, and later discuss it with X people.  Looking at Xserver
and libXinerama sources, I can easily work out a patch for this thingie
(the server internally has a ChangeScreen event, since it has to move
cursor between screens).

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-09 Thread Dominik Vogt
On Thu, Aug 09, 2001 at 09:37:50PM +0700, Dmitry Yu. Bolkhovityanov wrote:
 On Thu, 9 Aug 2001, Olivier Chapuis wrote:
 
  Well,
  
  Some users may want to have an application which is always on the
  current screen. Typically, if I get a double head I would like to
  have my FvwmPager and my WLM (TaskBar, WinList, IconMan or IconBox)
  always in the current screen. The solution is to run two such modules
  (it is the reason I added aliases support in TaskBar, WinList and
  IconBox recently). But a solution which seems better is that the
  application follows the pointer. Moreover, for some applications,
  running as many sticky copies of an application than screens will be
  not a solution to get it always on the current screen: for example
  with an xterm we lost the historic.
  
  So I think that an EnterScreenNotify event will be a good thing for
  a window manager: it will be able to manage a new/strong sticky mode
  for any applications.
 
   Well, that sounds very reasonable (now I understand my mistake --
 I was thinking about something similar to FvwmBacker, but for Xinerama
 screens, which is a nonsense ;-).
 
   We have an option to add such functionality right now, but with
 fvwm tracking screens itself (this is needed anyway for emulated
 Xinerama), and later check for real EnterScreenNotify availability in
 configure script.

I don't think this can be solved inside fvwm to our satisfaction.
Polling the mouse pointer wastes lots of CPU and tracking the
pointer via MotionNotify events does not work when the pointer is
grabbed.

   IMHO currently the best way to go is collecting various reasons
 for such an event, and later discuss it with X people.  Looking at Xserver
 and libXinerama sources, I can easily work out a patch for this thingie
 (the server internally has a ChangeScreen event, since it has to move
 cursor between screens).

That would be the right place to implement this functionality.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-09 Thread Matthias Clasen
  But it would certainly be a useful addition to the Xinerama extension to
  send EnterXineramaHead and LeaveXineramaHead events  - IIRC X
  extensions can introduce new events.  If these events contain the a
  head number, interested applications can then easily maintain
information
  about the set of heads the pointer is in (even for the pathological case
  of overlapping heads).

 Well, this *can* be a useful addition if we find a real case when
 it is needed.  Than we can try to persuade Mark Vojkovich to add this
 functionality to X (BTW, what is interesting -- he also uses fvwm).  But
 there must be some real, hard arguments, otherwise this definitely
 wouldn't pass the X Xinerama group.

All the same reasons why you want to get enter and leave events on the root
window
in multi-screen scenarios, I guess. Of course, the application with the
strongest interest
in such information is the window manager, but toolkits could also use it as
a low-overhead
way to find the necessary information for e.g. restricting menus to be
completely onscreen
(or rather onxineramascreen).

In fact, I would thing that enter/leave notification would be a very natural
feature
and I can't think of any possible reasons for the  X Xinerama group to not
accept it.

Matthias



--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: A naive Xinerama question

2001-08-08 Thread Dmitry Yu. Bolkhovityanov
On Tue, 7 Aug 2001, Olivier Chapuis wrote:

 Hello,
 
 I have a very naive Xinerama question:
 Is it possible to send to modules a M_NEW_SCREEN message
 when the mouse pointer change of screen?

Technicaly it isn't possible -- X server wouldn't generate
EnterScreenNotify events, since Xinerama screens look like a single
large screen.  

If this behaviour is really needed, fvwm itself should always
check if XineramaScreen(curx,cury)!=XineramaScreen(oldx,oldy), which can
be time consuming.  And there's another pitfall -- screens may overlap, so
that screen where the pointer on concept becomes somewhat dubious (but
that's a pathological case, and we use this concept anyway for determining
a rectangle to clip menus etc. to).

BTW, Olivier, can you please tell where this behaviour can be
useful?  I tried to imagine such situations with no results, but something
tells me they *must* exist.

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: A naive Xinerama question

2001-08-08 Thread Dominik Vogt
On Tue, Aug 07, 2001 at 01:05:22PM +0200, Olivier Chapuis wrote:
 BTW, I think that the change Xinerama{Enable,Disable} - Xinerama
 is not very good: it is difficult to a configuration tool or a user
 new to Xinerama to know if Xinerama is enabled or not.

Er, what is the big difference between

  XineramaEnable
  XineramaDisable

and

  Xinerama on
  Xinerama off

?  It just saves the additional commands.  And I can't think of
any fvwm command that has an off and an on version.  On the
other hand it makes module configuration a lot easier.  Fvwm can
simply send the whole string after Xinerama to the module which
in turn passes it to a Xinerama library function to configure
itself.  Also, many commands already use the boolean argument
type, so why not this one?

 With
 Xinerama{Enable,Disable} we know where we go as with the Xinerama
 command even an experimented user should try a command or an action
 to see if Xinerama is enabled or not and predict the effect of this
 command.

It almost never makes sense to turn off Xinerama anyway.  If there
is only one screen it is a no-op.  If you have more than one
screen, not using Xinerama support is a pain.  The only situation
I can think of where this is not desirable is with a very big,
tiled screen composed of many monitors, e.g. on a trade fair.  In
this case we can expect that the tech people are able to read the
man page.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Re: a naive Xinerama question

2001-08-08 Thread Dmitry Yu. Bolkhovityanov
On Wed, 8 Aug 2001, Matthias Clasen wrote:

  On Tue, 7 Aug 2001, Olivier Chapuis wrote:
  
   Hello,
   
   I have a very naive Xinerama question:
   Is it possible to send to modules a M_NEW_SCREEN message
   when the mouse pointer change of screen?
  
Technicaly it isn't possible -- X server wouldn't generate
  EnterScreenNotify events, since Xinerama screens look like a single
  large screen.  
 
 But it would certainly be a useful addition to the Xinerama extension to
 send EnterXineramaHead and LeaveXineramaHead events  - IIRC X 
 extensions can introduce new events.  If these events contain the a
 head number, interested applications can then easily maintain information
 about the set of heads the pointer is in (even for the pathological case
 of overlapping heads).

Well, this *can* be a useful addition if we find a real case when
it is needed.  Than we can try to persuade Mark Vojkovich to add this
functionality to X (BTW, what is interesting -- he also uses fvwm).  But
there must be some real, hard arguments, otherwise this definitely
wouldn't pass the X Xinerama group.

_
  Dmitry Yu. Bolkhovityanov
  [EMAIL PROTECTED]
  The Budker Institute of Nuclear Physics


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


CVS domivogt: * Added Xinerama support in FvwmRearrange, FvwmIdent and FvwmScroll.

2001-08-06 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt01/08/06 17:50:22

Modified files:
.  : todo-xinerama 
fvwm   : placement.c 
modules: ChangeLog 
modules/FvwmIdent: FvwmIdent.c Makefile.am 
modules/FvwmRearrange: FvwmRearrange.c Makefile.am 
modules/FvwmScript: FvwmScript.c Makefile.am 
modules/FvwmScroll: FvwmScroll.c GrabWindow.c 

Log message:
* Added Xinerama support in FvwmRearrange, FvwmIdent and FvwmScroll.

--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


  1   2   >