Re: Notification: incoming/847

2002-01-22 Thread Mikhael Goikhman
On 22 Jan 2002 21:25:38 +0100, Olivier Chapuis wrote:
> 
> Any way I do not understand why xterm considers
> iso-8859-15 string as multibyte string if the string
> contains non ascii characters (with an iso-8859-15 locale).

Someone said previously that this is not multibyte for one-byte non
iso8859-1 charsets, but escape sequences containing charset as a hint.

Maybe we should just write a filter that strips these escape sequences
with --disable-multibyte, if we don't use this charset info anyway?

> I do not know if we should close this bug report. I think
> that we can put it in confirmed, do so that --enable-multibyte
> can be the default and then close it.
> 
> BTW, Mikhael, what about distributing i18n rpms?

I would not double the number of rpms.

Are --enable-multibyte problems easily solvable for it to be a default?
If not, stripping escape sequences would be a good solution.

Regards,
MIkhael.
--
Visit the official FVWM web page at 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: Notification: incoming/847

2002-01-22 Thread Olivier Chapuis
On Tue, Jan 22, 2002 at 04:46:24PM +0100, Olivier Chapuis wrote:
> On Tue, Jan 22, 2002 at 03:55:48AM -0600, [EMAIL PROTECTED] wrote:
> > FVWM Bug Tracking notification
> > 
> > new message incoming/847
> > 
> > Message summary for PR#847
> > From: [EMAIL PROTECTED]
> > Subject: Bug in window Title with iso8859-15
> > Date: Tue, 22 Jan 2002 03:55:43 -0600
> > 0 replies   0 followups
> > 
> > > ORIGINAL MESSAGE FOLLOWS <
> >
> > Date: Tue, 22 Jan 2002 03:55:43 -0600
> > 
> > Full_Name: Nicolas CRoiset
> > Version: 2.4.4
> > CVS_Date: 
> > OS: linux RH 7.2
> > X_Server: XFree86-4.1.0
> > Submission from: (NULL) (80.65.226.85)
> > 
> > 
> > When you have a title with accents on characters, the Title is not display
> > correctly.
> > 
> > For example "Mise à jour de l'heure".
> > 
> > we installed fvwm with fvwm-2.4.4-2.rh7.i386.rpm
> >
> 
> Hello,
> 
> Do this happen with all applications?
> 
> What happen with
> 
> xterm -T "¤éèàç"
> 
> and 
> 
> env LC_CTYPE=fr_FR xterm -T "¤éèàç"
> 
> (the first characters is the EuroSign). If you have rxvt can
> you try with it too.
> 
> This seems strange but you may have to compile fvwm yourself
> with --enable-multibyte as option to ./configure
> (I need to do that so that xterm works properly with fvwm
> and an "@euro" locale).
>

I've got some feedback from Nicolas Croiset. Compiling
fvwm with --enable-multibyte fix the problems.

Any way I do not understand why xterm considers
iso-8859-15 string as multibyte string if the string
contains non ascii characters (with an iso-8859-15 locale).

I do not know if we should close this bug report. I think
that we can put it in confirmed, do so that --enable-multibyte
can be the default and then close it.

BTW, Mikhael, what about distributing i18n rpms?

Olivier
--
Visit the official FVWM web page at 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: Remaining issues in Transparency

2002-01-22 Thread Dominik Vogt
On Tue, Jan 22, 2002 at 04:14:14PM +0100, Olivier Chapuis wrote:
> On Tue, Jan 22, 2002 at 10:44:42AM +0100, Dominik Vogt wrote:
> > On Tue, Jan 22, 2002 at 09:03:16AM +0100, Olivier Chapuis wrote:
> > > On Mon, Jan 21, 2002 at 04:14:17PM +0100, Dominik Vogt wrote:
> > > > On Mon, Jan 21, 2002 at 03:07:55PM +0100, Olivier Chapuis wrote:
> > > > > Hello,
> > > > > 
> > [snip]
> > > > > An other problem is transparent modules swallowed into
> > > > > a transparent or not FvwmButtons, there are currently
> > > > > some problems when the colorsets of the FvwmButtons change.
> > > 
> > > A solution here, is again a new command similar to Colorset.
> > > When a FvwmButton change the background of a swallowed window
> > > with X-id ID (and if the swallowed app is an Fvwm module, see
> > > the next paragraph) it can send the command "BackgroundChange".
> > 
> > Whoa, don't overestimate the usefulness of that FvwmButtons hack.
> > Setting the background of swallowed applications
> > 
> >  - is *evil*
> >  - rarely works
> >  - may screw up or even crash the application
> > 
> > You can't even find out which window to set the background to.
> > Personally, I'd not even consider making transparency of swallowed
> > windows in a transparent button bar working :-)
> >
> 
> Yes agree. But It will be fine that if a FvwmButton button swallow
> a _Fvwm Module_ with a transparent background (typically a FvwmPager
> or an IconMan), the things work in the following sens:
> 1 - Disabled the evil hack for Fvwm Module
> 2 - If the background of the button change inform the swallowed modules
> (by using module to fvwm2 to module communication).

Yes, I agree.  That's a good thing to do.

> > > Then fvwm2 will send the string "ROOT_BG_CHANGE_STRING ID"
> > > to modules and the module with X-id ID may be able to update
> > > its background if it is transparent (fvwm2 already send
> > > "ROOT_BG_CHANGE_STRING" when fvwm2 detects that the root
> > > background change). BTW, it will be maybe better to send
> > > a MX_ROOT_BG_CHANGE message as we have now some places?
> > 
> > If the message makes sense I have no objections.  To prevent that
> > we run out of messages again too soon one might consider to write
> > a generic message like 'MX_PROPERTY_CHANGE' with an argument like
> > BG_CHANGE, FOO_CHANGE, BAR_CHANGE etc.
> 
> Yes, good idea I will use it.
> 
> > > Also it will be useful for FvwmButtons to know if the
> > > swallowed window is a FVWM Module or a normal X application.
> > > The only solution I see is to claim in the FvwmButtons
> > > man page that if the swallow command begin with Fvwm or
> > > Module then FvwmButtons will consider that it will
> > > swallow a Fvwm module.
> > 
> > I guess it would be acceptable if the user has to put this
> > information in the Swallow command, e.g.
> > 
> >   *FvwmButtons(Swallow (fvwmmodule) foo "exec foo")
> > 
> > > So if a complex function is used to launch a swallowed app the
> > > name of this complex function have some importance.
> > 
> > I don't understand what you mean.
> 
> What I mean is that with a line of the form:
> 
> *FvwmButtons(Swallow "foo" "Module foo [xyz]")
> or
> *FvwmButtons(Swallow "foo" "Fvwmfoo [xyz]")
> 
> then FvwmButtons consider that it swallow a Fvwm Module
> and with a line of the form
> 
> *FvwmButtons(Swallow "foo" "Complexfunc")
> or
> *FvwmButtons(Swallow "Foo" "Exec exec foo")
> 
> then FvwmButtons consider that it swallow classical
> X app.
> 
> But of course Complexfunc can run a module and Fvwmfoo
> maybe a complex function which runs a classical X app. 
> 
> In the place of the "fvwmmodule" flags for Swallow I
> will prefer that FvwmButtons consider that it swallows
> a Fvwm Module if the swallow command begin with "Module"
> (no space at the end, no case of course). No?

Okay.  In addition the option I proposed won't hurt for the cases
in which the module has another name (some old setups may do this
with aliases) or a normal application has such a name.

> But we may imagine a more complex protocol: FvwmButtons
> send a message to all modules when it swallows an
> application with the x-id of the swallowed window and
> with the x-id the FvwmButtons, if a module recognize
> itself it sends back a message with the x-id of the
> FvwmButtons.
> 
> > > Is this acceptable?
> > 
> > > Maybe, in the place of "BackgroundChange" we may use a command
> > > as "SwallowedConfigure id [bg_ch ...other options in the future]",
> > > which will force fvwm to send a MX_SWALLOWED_CONFIGURE message.
> > 
> > Fvwm does not manage swallowed windows.  The window structure is
> > destroyed when the window is reparented to FvwmButtons.
> 
> Yes I know. But, of course fvwm2 still sends messages to a sawllowed
> modules.

Ah, yes, right.

> So, it is possible that a FvwmButtons says to a module
> that it is swallowed and it can send a message to this module via
> fvwm2 (E.g., a MX_PROPERTY_CHANGE with SWALLOWED as argument).

Bye

Dominik ^_^  ^_^

-- 
Dominik Vog

Re: Notification: incoming/847

2002-01-22 Thread Olivier Chapuis
On Tue, Jan 22, 2002 at 03:55:48AM -0600, [EMAIL PROTECTED] wrote:
> FVWM Bug Tracking notification
> 
> new message incoming/847
> 
> Message summary for PR#847
>   From: [EMAIL PROTECTED]
>   Subject: Bug in window Title with iso8859-15
>   Date: Tue, 22 Jan 2002 03:55:43 -0600
>   0 replies   0 followups
> 
> > ORIGINAL MESSAGE FOLLOWS <
>
> Date: Tue, 22 Jan 2002 03:55:43 -0600
> 
> Full_Name: Nicolas CRoiset
> Version: 2.4.4
> CVS_Date: 
> OS: linux RH 7.2
> X_Server: XFree86-4.1.0
> Submission from: (NULL) (80.65.226.85)
> 
> 
> When you have a title with accents on characters, the Title is not display
> correctly.
> 
> For example "Mise à jour de l'heure".
> 
> we installed fvwm with fvwm-2.4.4-2.rh7.i386.rpm
>

Hello,

Do this happen with all applications?

What happen with

xterm -T "¤éèàç"

and 

env LC_CTYPE=fr_FR xterm -T "¤éèàç"

(the first characters is the EuroSign). If you have rxvt can
you try with it too.

This seems strange but you may have to compile fvwm yourself
with --enable-multibyte as option to ./configure
(I need to do that so that xterm works properly with fvwm
and an "@euro" locale).

Regards, Olivier
--
Visit the official FVWM web page at 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: * New nice commands ResizeMaximize and ResizeMoveMaximize. These allow

2002-01-22 Thread Dominik Vogt
On Tue, Jan 22, 2002 at 03:16:37PM +, Mikhael Goikhman wrote:
> On 17 Jan 2002 16:24:00 -0600, FVWM CVS wrote:
> > 
> > CVSROOT:/home/cvs/fvwm
> > Module name:fvwm
> > Changes by: domivogt02/01/17 16:24:00
> > 
> > Modified files:
> > .  : ChangeLog NEWS 
> > fvwm   : commands.h decorations.c functions.c 
> >  functions.h fvwm2.1 move_resize.c 
> > 
> > Log message:
> > * New nice commands ResizeMaximize and ResizeMoveMaximize.  These allow
> > a) To resize a window interactively and maximize it in one operation so that
> > you can switch back to the original geometry.
> > b) To exactly control the geometry of a maximized window.
> 
> Try to interactively ResizeMaximize a window not on page (0, 0).
> The window disappears (gets incorrect position).
> 
> I can reproduce this consistently, hope you can too.

Yes, fixed.  There may still be a problem if you interactively
resize the window over a page boundary (with paging).

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 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 ResizeMaximize and ResizeMoveMaximize on pages other than 0 0.

2002-01-22 Thread FVWM CVS
CVSROOT:/home/cvs/fvwm
Module name:fvwm
Changes by: domivogt02/01/22 09:38:08

Modified files:
.  : ChangeLog 
fvwm   : move_resize.c 

Log message:
* Fixed ResizeMaximize and ResizeMoveMaximize on pages other than 0 0.

--
Visit the official FVWM web page at 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: icons, ewmh icons and information hiding

2002-01-22 Thread Dominik Vogt
On Tue, Jan 22, 2002 at 03:11:28PM +0100, Olivier Chapuis wrote:
> On Tue, Jan 22, 2002 at 11:04:24AM +0100, Dominik Vogt wrote:
> > I'm trying to clean up that unholy mess with icons in fvwm.  In
> > other words:  I'm trying to give all (okay: most) icon related
> > information a clear interface in icons.h and use that everywhere.
> > 
> > I started with the functions in icons.c that find out the window
> > or pixmap to use at the icons.  These are currently modifying the
> > window structure directly.  Unfortunately, GetIconPicture() is
> > called from ewmh_icons.c recursively which makes this a whole lot
> > more difficult.  
> 
> Yes, this is done because if the window is not iconified (or the
> style is NoIcon), then the FvwmWindow structure does not contain
> information on the icon which will be displayed by fvwm2 (also
> there is some problems to create the ewmh icon from the info
> given by the FvwmWindow structure if the icon info are set in
> the structure). So, ewmh_SetWmIconFromPixmap() save the info
> concerning the icon of the FvwmWindow structure, create it (possibly
> again if the window is iconified), create the ewmh icon and set it on
> the application, destroy the created data and restore the original
> info in the  FvwmWindow structure.
> What about, having a FvwmIconPicture structure:
> 
> typedef struct FvwmIconPicture
> {
>   int iconDepth;  /* Drawable depth for the icon */
>   Window icon_pixmap_w/* icon picture window */
>   Pixmap iconPixmap;  /* pixmap for the icon */
>   Pixmap icon_maskPixmap; /* pixmap for the icon mask */
>   rectangle g /* geometry of the icon picture window */   
> } FvwmIconPicture;
> 
> Then, GetIconPicture can be split into two pieces: 
> 
> (1) GetIconPicture(order_rules, *icon_file, window, ...)
>which only return an FvwmIconPicture structure (passed
>to GetIconBitmap, GetIconWindow, ...EWMH_SetIconFromWMIcon etc)
> (2) SetIconPicture(FvwmWindow)
>which set the FvwmIconPicture structure of the FvwmWindow structure
>via GetIconPicture.

That would help a lot.

> With this ewmh_SetWmIconFromPixmap() will not modify the FvwmWindow
> structure by a call to GetIconPicture.

Not?  Then why is it called at all?  I'm puzzled.

> Moreover, GetIconPicture (and
> GetIconBitmap, GetIconWindow, ...etc) may be moved into the library
> and used by FvwmIconBox.

Also a good idea.  There is way too much code duplication in
FvwmIconBox.

> > Unfortunately, GetIconPicture() is
> > called from ewmh_icons.c recursively which makes this a whole lot
> > more difficult.  
> > Also, ewmh_SetWmIconFromPixmap() is called from
> > several places in fvwm.  This should only be done from
> > GetIconPicture().  For example, when fvwm wants to donate its icon
> > to the ewmh hints, EWMH_DoUpdateWmIcon() (shouldn't this be called
> > EWMH_DonateWmIcon?) which in turn calls ewmh_SetWmIconFromPixmap()
> > again which modifies the window structure and then even calls
> > GetIconPicture().
> >
> 
> I do not think that ewmh_SetWmIconFromPixmap() is called recursively.

With 'recursively' I mean that GetIconPicture() calls
ewmh_SetWmIconFromPixmap() which again calls GetIconPicture().  It
won't call ewmh_SetWmIconFromPixmap() again.  That link makes it
difficult to separate icons.c and ewmh_icons.c in the proposed
way (i.e. make icons.c become a se4rvice "library" for all icon
functionality).  Of course it would have been much easier if fvwm
had been designed in a modular way from the start.

> ewmh_SetWmIconFromPixmap() is called when:
> 1) the window map (iconified or not) 
> 2) a style changes modify the icons which should be donated to
> the application as an ewmh icon.
> 3) the app change its icon via the hints and styles tell fvwm2
> to use the window icon.
> 
> ewmh_SetWmIconFromPixmap() is never called from GetIconPicture()
> it is EWMH_SetIconFromWMIcon() which is called from GetIconPicture()
> which is the reversed operation.

Um, really?  Doh.  Forget my comments above.

> Of course one may be afraid that
> something like this happen: the window map with an ewmh icons (a true
> one set by the app), fvwm2 EWMH_SetIconFromWMIcon() and then
> fvwm2 ewmh_SetWmIconFromPixmap() !! But this never happen as
> there is a flag in the FvwmWindow structure which forbid such
> operation.
> 
> > Olivier, can this be rewritten so that:
> > 
> >  1) There is a function that just donates the icon without
> > modifying the FvwmWindow (BTW, what happens if fvwm deletes
> > the pixmap used in the hint?)
> >  2) ewmh_SetWmIconFromPixmap() does not modify the window
> > structure but instead just returns what it found through
> > pointers.
> 
> This is not a problem. Indeed ewmh_SetWmIconFromPixmap should work
> like this. ((But a few elements in the FvwmWindow structure must
> be set by ewmh_SetWmIconFromPixmap (as ewmh_icon_height and
> ewmh_icon_width) but these elements concerns only
> ewmh_SetWmIconFromPixmap))
>

Re: Remaining issues in Transparency

2002-01-22 Thread Olivier Chapuis
On Tue, Jan 22, 2002 at 10:44:42AM +0100, Dominik Vogt wrote:
> On Tue, Jan 22, 2002 at 09:03:16AM +0100, Olivier Chapuis wrote:
> > On Mon, Jan 21, 2002 at 04:14:17PM +0100, Dominik Vogt wrote:
> > > On Mon, Jan 21, 2002 at 03:07:55PM +0100, Olivier Chapuis wrote:
> > > > Hello,
> > > > 
> [snip]
> > > > An other problem is transparent modules swallowed into
> > > > a transparent or not FvwmButtons, there are currently
> > > > some problems when the colorsets of the FvwmButtons change.
> > 
> > A solution here, is again a new command similar to Colorset.
> > When a FvwmButton change the background of a swallowed window
> > with X-id ID (and if the swallowed app is an Fvwm module, see
> > the next paragraph) it can send the command "BackgroundChange".
> 
> Whoa, don't overestimate the usefulness of that FvwmButtons hack.
> Setting the background of swallowed applications
> 
>  - is *evil*
>  - rarely works
>  - may screw up or even crash the application
> 
> You can't even find out which window to set the background to.
> Personally, I'd not even consider making transparency of swallowed
> windows in a transparent button bar working :-)
>

Yes agree. But It will be fine that if a FvwmButton button swallow
a _Fvwm Module_ with a transparent background (typically a FvwmPager
or an IconMan), the things work in the following sens:
1 - Disabled the evil hack for Fvwm Module
2 - If the background of the button change inform the swallowed modules
(by using module to fvwm2 to module communication).
 
> > Then fvwm2 will send the string "ROOT_BG_CHANGE_STRING ID"
> > to modules and the module with X-id ID may be able to update
> > its background if it is transparent (fvwm2 already send
> > "ROOT_BG_CHANGE_STRING" when fvwm2 detects that the root
> > background change). BTW, it will be maybe better to send
> > a MX_ROOT_BG_CHANGE message as we have now some places?
> 
> If the message makes sense I have no objections.  To prevent that
> we run out of messages again too soon one might consider to write
> a generic message like 'MX_PROPERTY_CHANGE' with an argument like
> BG_CHANGE, FOO_CHANGE, BAR_CHANGE etc.
>

Yes, good idea I will use it.

> > Also it will be useful for FvwmButtons to know if the
> > swallowed window is a FVWM Module or a normal X application.
> > The only solution I see is to claim in the FvwmButtons
> > man page that if the swallow command begin with Fvwm or
> > Module then FvwmButtons will consider that it will
> > swallow a Fvwm module.
> 
> I guess it would be acceptable if the user has to put this
> information in the Swallow command, e.g.
> 
>   *FvwmButtons(Swallow (fvwmmodule) foo "exec foo")
> 
> > So if a complex function is used to launch a swallowed app the
> > name of this complex function have some importance.
> 
> I don't understand what you mean.
> 

What I mean is that with a line of the form:

*FvwmButtons(Swallow "foo" "Module foo [xyz]")
or
*FvwmButtons(Swallow "foo" "Fvwmfoo [xyz]")

then FvwmButtons consider that it swallow a Fvwm Module
and with a line of the form

*FvwmButtons(Swallow "foo" "Complexfunc")
or
*FvwmButtons(Swallow "Foo" "Exec exec foo")

then FvwmButtons consider that it swallow classical
X app.

But of course Complexfunc can run a module and Fvwmfoo
maybe a complex function which runs a classical X app. 

In the place of the "fvwmmodule" flags for Swallow I
will prefer that FvwmButtons consider that it swallows
a Fvwm Module if the swallow command begin with "Module"
(no space at the end, no case of course). No?

But we may imagine a more complex protocol: FvwmButtons
send a message to all modules when it swallows an
application with the x-id of the swallowed window and
with the x-id the FvwmButtons, if a module recognize
itself it sends back a message with the x-id of the
FvwmButtons.

> > Is this acceptable?
> 
> > Maybe, in the place of "BackgroundChange" we may use a command
> > as "SwallowedConfigure id [bg_ch ...other options in the future]",
> > which will force fvwm to send a MX_SWALLOWED_CONFIGURE message.
> 
> Fvwm does not manage swallowed windows.  The window structure is
> destroyed when the window is reparented to FvwmButtons.
>

Yes I know. But, of course fvwm2 still sends messages to a sawllowed
modules. So, it is possible that a FvwmButtons says to a module
that it is swallowed and it can send a message to this module via
fvwm2 (E.g., a MX_PROPERTY_CHANGE with SWALLOWED as argument).

Olivier
--
Visit the official FVWM web page at 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: * New nice commands ResizeMaximize and ResizeMoveMaximize. These allow

2002-01-22 Thread Mikhael Goikhman
On 17 Jan 2002 16:24:00 -0600, FVWM CVS wrote:
> 
> CVSROOT:  /home/cvs/fvwm
> Module name:  fvwm
> Changes by:   domivogt02/01/17 16:24:00
> 
> Modified files:
>   .  : ChangeLog NEWS 
>   fvwm   : commands.h decorations.c functions.c 
>functions.h fvwm2.1 move_resize.c 
> 
> Log message:
> * New nice commands ResizeMaximize and ResizeMoveMaximize.  These allow
> a) To resize a window interactively and maximize it in one operation so that
> you can switch back to the original geometry.
> b) To exactly control the geometry of a maximized window.

Try to interactively ResizeMaximize a window not on page (0, 0).
The window disappears (gets incorrect position).

I can reproduce this consistently, hope you can too.

Regards,
Mikhael.
--
Visit the official FVWM web page at 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]


Notification: incoming/847

2002-01-22 Thread fvwm-bug
FVWM Bug Tracking notification

new message incoming/847

Message summary for PR#847
From: [EMAIL PROTECTED]
Subject: Bug in window Title with iso8859-15
Date: Tue, 22 Jan 2002 03:55:43 -0600
0 replies   0 followups

> ORIGINAL MESSAGE FOLLOWS <

>From [EMAIL PROTECTED] Tue Jan 22 03:55:48 2002
Received: from karazm.math.uh.edu ([129.7.128.1])
by malifon.math.uh.edu with esmtp (Exim 3.20 #1)
id 16Sxed-0003gs-00
for [EMAIL PROTECTED]; Tue, 22 Jan 2002 03:55:47 -0600
Received: from malifon.math.uh.edu (IDENT:[EMAIL PROTECTED] [129.7.128.13])
by karazm.math.uh.edu (8.9.3/8.9.3) with ESMTP id DAA08011
for <[EMAIL PROTECTED]>; Tue, 22 Jan 2002 03:55:43 -0600 (CST)
From: [EMAIL PROTECTED]
Received: from localhost ([127.0.0.1] ident=65534)
by malifon.math.uh.edu with esmtp (Exim 3.20 #1)
id 16SxeZ-0003go-00
for [EMAIL PROTECTED]; Tue, 22 Jan 2002 03:55:43 -0600
To: [EMAIL PROTECTED]
Subject: Bug in window Title with iso8859-15
Message-Id: <[EMAIL PROTECTED]>
Date: Tue, 22 Jan 2002 03:55:43 -0600

Full_Name: Nicolas CRoiset
Version: 2.4.4
CVS_Date: 
OS: linux RH 7.2
X_Server: XFree86-4.1.0
Submission from: (NULL) (80.65.226.85)


When you have a title with accents on characters, the Title is not display
correctly.

For example "Mise à jour de l'heure".

we installed fvwm with fvwm-2.4.4-2.rh7.i386.rpm




--
Visit the official FVWM web page at 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: icons, ewmh icons and information hiding

2002-01-22 Thread Olivier Chapuis
On Tue, Jan 22, 2002 at 11:04:24AM +0100, Dominik Vogt wrote:
> I'm trying to clean up that unholy mess with icons in fvwm.  In
> other words:  I'm trying to give all (okay: most) icon related
> information a clear interface in icons.h and use that everywhere.
> 
> I started with the functions in icons.c that find out the window
> or pixmap to use at the icons.  These are currently modifying the
> window structure directly.  Unfortunately, GetIconPicture() is
> called from ewmh_icons.c recursively which makes this a whole lot
> more difficult.  

Yes, this is done because if the window is not iconified (or the
style is NoIcon), then the FvwmWindow structure does not contain
information on the icon which will be displayed by fvwm2 (also
there is some problems to create the ewmh icon from the info
given by the FvwmWindow structure if the icon info are set in
the structure). So, ewmh_SetWmIconFromPixmap() save the info
concerning the icon of the FvwmWindow structure, create it (possibly
again if the window is iconified), create the ewmh icon and set it on
the application, destroy the created data and restore the original
info in the  FvwmWindow structure.
What about, having a FvwmIconPicture structure:

typedef struct FvwmIconPicture
{
  int iconDepth;  /* Drawable depth for the icon */
  Window icon_pixmap_w/* icon picture window */
  Pixmap iconPixmap;  /* pixmap for the icon */
  Pixmap icon_maskPixmap; /* pixmap for the icon mask */
  rectangle g /* geometry of the icon picture window */ 
} FvwmIconPicture;

Then, GetIconPicture can be split into two pieces: 

(1) GetIconPicture(order_rules, *icon_file, window, ...)
   which only return an FvwmIconPicture structure (passed
   to GetIconBitmap, GetIconWindow, ...EWMH_SetIconFromWMIcon etc)
(2) SetIconPicture(FvwmWindow)
   which set the FvwmIconPicture structure of the FvwmWindow structure
   via GetIconPicture.

With this ewmh_SetWmIconFromPixmap() will not modify the FvwmWindow
structure by a call to GetIconPicture. Moreover, GetIconPicture (and
GetIconBitmap, GetIconWindow, ...etc) may be moved into the library
and used by FvwmIconBox.

> Unfortunately, GetIconPicture() is
> called from ewmh_icons.c recursively which makes this a whole lot
> more difficult.  
> Also, ewmh_SetWmIconFromPixmap() is called from
> several places in fvwm.  This should only be done from
> GetIconPicture().  For example, when fvwm wants to donate its icon
> to the ewmh hints, EWMH_DoUpdateWmIcon() (shouldn't this be called
> EWMH_DonateWmIcon?) which in turn calls ewmh_SetWmIconFromPixmap()
> again which modifies the window structure and then even calls
> GetIconPicture().
>

I do not think that ewmh_SetWmIconFromPixmap() is called recursively.
ewmh_SetWmIconFromPixmap() is called when:
1) the window map (iconified or not) 
2) a style changes modify the icons which should be donated to
the application as an ewmh icon.
3) the app change its icon via the hints and styles tell fvwm2
to use the window icon.

ewmh_SetWmIconFromPixmap() is never called from GetIconPicture()
it is EWMH_SetIconFromWMIcon() which is called from GetIconPicture()
which is the reversed operation. Of course one may be afraid that
something like this happen: the window map with an ewmh icons (a true
one set by the app), fvwm2 EWMH_SetIconFromWMIcon() and then
fvwm2 ewmh_SetWmIconFromPixmap() !! But this never happen as
there is a flag in the FvwmWindow structure which forbid such
operation.

> Olivier, can this be rewritten so that:
> 
>  1) There is a function that just donates the icon without
> modifying the FvwmWindow (BTW, what happens if fvwm deletes
> the pixmap used in the hint?)
>  2) ewmh_SetWmIconFromPixmap() does not modify the window
> structure but instead just returns what it found through
> pointers.

This is not a problem. Indeed ewmh_SetWmIconFromPixmap should work
like this. ((But a few elements in the FvwmWindow structure must
be set by ewmh_SetWmIconFromPixmap (as ewmh_icon_height and
ewmh_icon_width) but these elements concerns only
ewmh_SetWmIconFromPixmap))

>  3) Make all icon setup run through icons.c.  I think update.c
> should not call EWMH_SetIconFromWMIcon() but some more generic
> function in icons.c that knows what to do and that makes the
> call to ewmh_icons.c if necessary.  The knowledge about ewmh
> icons should be limited to as few files as possible.
>

EWMH_SetIconFromWMIcon() is not called in update.c for icon (it is
called in update.c for mini-icons only). On the other hands
ewmh_SetWmIconFromPixmap() is called in update.c, but in a certain
sense this does not concern the fvwm2 icon code.
I am not sure but some times it seems that you inverse

  * EWMH_SetIconFromWMIcon
  make fvwm2 using the ewmh icon as icon, this function should
  work as GetIconBitmap, GetIconWindow, ...etc

and

  * ewmh_SetWmIconFromPixmap
  set an ewmh icon hint on the application from the icon that

icons, ewmh icons and information hiding

2002-01-22 Thread Dominik Vogt
I'm trying to clean up that unholy mess with icons in fvwm.  In
other words:  I'm trying to give all (okay: most) icon related
information a clear interface in icons.h and use that everywhere.

I started with the functions in icons.c that find out the window
or pixmap to use at the icons.  These are currently modifying the
window structure directly.  Unfortunately, GetIconPicture() is
called from ewmh_icons.c recursively which makes this a whole lot
more difficult.  Also, ewmh_SetWmIconFromPixmap() is called from
several places in fvwm.  This should only be done from
GetIconPicture().  For example, when fvwm wants to donate its icon
to the ewmh hints, EWMH_DoUpdateWmIcon() (shouldn't this be called
EWMH_DonateWmIcon?) which in turn calls ewmh_SetWmIconFromPixmap()
again which modifies the window structure and then even calls
GetIconPicture().

Olivier, can this be rewritten so that:

 1) There is a function that just donates the icon without
modifying the FvwmWindow (BTW, what happens if fvwm deletes
the pixmap used in the hint?)
 2) ewmh_SetWmIconFromPixmap() does not modify the window
structure but instead just returns what it found through
pointers.
 3) Make all icon setup run through icons.c.  I think update.c
should not call EWMH_SetIconFromWMIcon() but some more generic
function in icons.c that knows what to do and that makes the
call to ewmh_icons.c if necessary.  The knowledge about ewmh
icons should be limited to as few files as possible.

And then there are setup_icon() and change_icon() in add_window.c.
In theory, when the icon changes for some reason it should be
possible to simply call change_icon() and that takes care of
anything else. (?)

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 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: Remaining issues in Transparency

2002-01-22 Thread Dominik Vogt
On Tue, Jan 22, 2002 at 09:03:16AM +0100, Olivier Chapuis wrote:
> On Mon, Jan 21, 2002 at 04:14:17PM +0100, Dominik Vogt wrote:
> > On Mon, Jan 21, 2002 at 03:07:55PM +0100, Olivier Chapuis wrote:
> > > Hello,
> > > 
> > > I hope that the Transparent colorset for top level background
> > > work fine now for all modules but for FvwmWharf (a lot of
> > > changes is needed here and there is FvwmButtons if one want
> > > transparency).
> > > 
> > > Of course so that Transparency works the module must have the
> > > ParentalRelativity Style. I think it will be good that if
> > > a module has a Transparent colorset background then fvwm2
> > > sets automatically this style to the module and unset this
> > > style if the colorset is no more transparent (the
> > > WindowShadeShrinks style may be toggled too). This is more
> > > in the spirit of FvwmThemes than using a Style command
> > > after a colorset change.
> > > One solution is to add an FVWM extension to the wm-spec:
> > > we can add a new state FVWM_NET_WM_STATE_PARENT_RELATIVE.
> > > Monitoring this state will allow to automatically sets
> > > the good styles. Is there any objection for this method?
> > 
> > Wouldn't it be better to keep that functionality inside fvwm for
> > now and not export properties to the world?  This could be done
> > with a style:
> > 
> >   SendToModule FvwmTheme ...
> >   Style FvwmButtons ParentRelativeFrameBackground
> > 
> 
> I am afraid to do not understand. what I would like to
> implement is automatic configuration. An alternative to
> atom is a new (undocumented) _command_, say, ParentRelative.
> If a module has a transparent background then it send to
> fvwm2 "ParentRelative On" to force the ParentalRelativity and
> WindowShadeShrinks styles. If the colorset change and the
> background become non transparent the modules then send
> "ParentRelative Off".

Okay, a (module) command then.  I didn't give it too much though.
I just don't like the idea of exporting such information to the
world that anybody might use and then complain if we change it
some day.

> > > An other problem is transparent modules swallowed into
> > > a transparent or not FvwmButtons, there are currently
> > > some problems when the colorsets of the FvwmButtons change.
> 
> A solution here, is again a new command similar to Colorset.
> When a FvwmButton change the background of a swallowed window
> with X-id ID (and if the swallowed app is an Fvwm module, see
> the next paragraph) it can send the command "BackgroundChange".

Whoa, don't overestimate the usefulness of that FvwmButtons hack.
Setting the background of swallowed applications

 - is *evil*
 - rarely works
 - may screw up or even crash the application

You can't even find out which window to set the background to.
Personally, I'd not even consider making transparency of swallowed
windows in a transparent button bar working :-)

> Then fvwm2 will send the string "ROOT_BG_CHANGE_STRING ID"
> to modules and the module with X-id ID may be able to update
> its background if it is transparent (fvwm2 already send
> "ROOT_BG_CHANGE_STRING" when fvwm2 detects that the root
> background change). BTW, it will be maybe better to send
> a MX_ROOT_BG_CHANGE message as we have now some places?

If the message makes sense I have no objections.  To prevent that
we run out of messages again too soon one might consider to write
a generic message like 'MX_PROPERTY_CHANGE' with an argument like
BG_CHANGE, FOO_CHANGE, BAR_CHANGE etc.
 
> Also it will be useful for FvwmButtons to know if the
> swallowed window is a FVWM Module or a normal X application.
> The only solution I see is to claim in the FvwmButtons
> man page that if the swallow command begin with Fvwm or
> Module then FvwmButtons will consider that it will
> swallow a Fvwm module.

I guess it would be acceptable if the user has to put this
information in the Swallow command, e.g.

  *FvwmButtons(Swallow (fvwmmodule) foo "exec foo")

> So if a complex function is used to launch a swallowed app the
> name of this complex function have some importance.

I don't understand what you mean.

> Is this acceptable?

> Maybe, in the place of "BackgroundChange" we may use a command
> as "SwallowedConfigure id [bg_ch ...other options in the future]",
> which will force fvwm to send a MX_SWALLOWED_CONFIGURE message.

Fvwm does not manage swallowed windows.  The window structure is
destroyed when the window is reparented to FvwmButtons.

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 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: Remaining issues in Transparency

2002-01-22 Thread Olivier Chapuis
On Mon, Jan 21, 2002 at 04:14:17PM +0100, Dominik Vogt wrote:
> On Mon, Jan 21, 2002 at 03:07:55PM +0100, Olivier Chapuis wrote:
> > Hello,
> > 
> > I hope that the Transparent colorset for top level background
> > work fine now for all modules but for FvwmWharf (a lot of
> > changes is needed here and there is FvwmButtons if one want
> > transparency).
> > 
> > Of course so that Transparency works the module must have the
> > ParentalRelativity Style. I think it will be good that if
> > a module has a Transparent colorset background then fvwm2
> > sets automatically this style to the module and unset this
> > style if the colorset is no more transparent (the
> > WindowShadeShrinks style may be toggled too). This is more
> > in the spirit of FvwmThemes than using a Style command
> > after a colorset change.
> > One solution is to add an FVWM extension to the wm-spec:
> > we can add a new state FVWM_NET_WM_STATE_PARENT_RELATIVE.
> > Monitoring this state will allow to automatically sets
> > the good styles. Is there any objection for this method?
> 
> Wouldn't it be better to keep that functionality inside fvwm for
> now and not export properties to the world?  This could be done
> with a style:
> 
>   SendToModule FvwmTheme ...
>   Style FvwmButtons ParentRelativeFrameBackground
> 

I am afraid to do not understand. what I would like to
implement is automatic configuration. An alternative to
atom is a new (undocumented) _command_, say, ParentRelative.
If a module has a transparent background then it send to
fvwm2 "ParentRelative On" to force the ParentalRelativity and
WindowShadeShrinks styles. If the colorset change and the
background become non transparent the modules then send
"ParentRelative Off".

> > An other problem is transparent modules swallowed into
> > a transparent or not FvwmButtons, there are currently
> > some problems when the colorsets of the FvwmButtons change.

A solution here, is again a new command similar to Colorset.
When a FvwmButton change the background of a swallowed window
with X-id ID (and if the swallowed app is an Fvwm module, see
the next paragraph) it can send the command "BackgroundChange".
Then fvwm2 will send the string "ROOT_BG_CHANGE_STRING ID"
to modules and the module with X-id ID may be able to update
its background if it is transparent (fvwm2 already send
"ROOT_BG_CHANGE_STRING" when fvwm2 detects that the root
background change). BTW, it will be maybe better to send
a MX_ROOT_BG_CHANGE message as we have now some places?

Also it will be useful for FvwmButtons to know if the
swallowed window is a FVWM Module or a normal X application.
The only solution I see is to claim in the FvwmButtons
man page that if the swallow command begin with Fvwm or
Module then FvwmButtons will consider that it will
swallow a Fvwm module. So if a complex function is used
to launch a swallowed app the name of this complex function
have some importance. Is this acceptable?

Maybe, in the place of "BackgroundChange" we may use a command
as "SwallowedConfigure id [bg_ch ...other options in the future]",
which will force fvwm to send a MX_SWALLOWED_CONFIGURE message.

Olivier
--
Visit the official FVWM web page at 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]