Re: Removing gnome support from FvwmGtk

2006-07-12 Thread Olivier Chapuis

seventh guardian a écrit :

On 7/12/06, Thomas Adam [EMAIL PROTECTED] wrote:


On Wed, Jul 12, 2006 at 11:24:57PM +0100, seventh guardian wrote:
 Hello.

 Having looked at FvwmGtk code, I realise there's no need for gnome
 support, as no gnome specific functions are used. So, there's no
 advantage of calling gnome_init vs gtk_init. And from what I see, the
 gnome support has been several times mis-used by precompiled distros
 (forcing the instalation of gnome libs when they are not required at
 all).

 So, I ask if we can remove the gnome support from FvwmGtk.

I've been saying this for years -- yet no one would listen.   I am in
favour of it.



Humm..

After a bit more dig up, it seems that gnome support is not just
that.. It's also the gnome wm hints support.. it may be important, as
this allows fvwm to integrate with gnome desktop (pagers and stuff).



yes, but only for gnome 1, so ...


But in what refers to FvwmGtk, it works exactly the same without gnome
support. The final question is, is it worth remove gnome support from
FvwmGtk if the rest of fvwm still needs it...



Not exactly (bug report system, if I remember some discussions on this 
list). This known as, I am in favor of removing gnome support in FvwmGtk.


Olivier




Re: Grabbing and complex functions

2006-06-28 Thread Olivier Chapuis

Scott Smedley a écrit :

Hi Dominik et al,

This post follows on from the previous ModuleListenOnly command
which was getting a bit off-topic.



As a hack/compromise, maybe we could modify AddToFunc to keep track
of whether or not it uses a mouse modifier  only then grab the
X server, in execute_complex_function().


We discussed this a couple of years ago, and Olivier(?) suggested
to allow functions without grabbing.  The problem is that it is
generally unpredictable which functions need to grab and which do
not, and you can't do it on the fly because its too late then.



I see.



Well, there is at least 3 cases and not only 2 (grab / nograb).

- Try to grab hard (for a long period of time) and give up if the grab 
fail. Current fvwm behavior, one problem (beside non execution) is that 
fvwm can be locked for a non negligible period of time.


- Executing the function without trying to grab at all. You suggest to 
add such possibility.


- Try to grab just 2 times (this is really fast). If the grab succeed 
everything is ok. If it fails execute the function any way. This is 
maybe a bit stronger/better than the previous case. My fvwm do that for 
any totally immediate function. This is not a perfect solution (but 
never cause me problems). But at the time we get our first discussion on 
this topic there was no consensus about how this should be expressed in 
term of fvwm configuration (or not at all).


Of course you may want to have a 4th possibility: grab fast and do not 
execute if it fails.


Olivier



Re: Removing EWMH support?

2006-03-27 Thread Olivier Chapuis

Etan Reisner a écrit :
Before I comment specifically, I'll introduce myself. I am (at least 
one) of the other gaim folk Ethan referred to. I also understand the 
problems with the EWMH for window managers that don't exactly fit into 
the standard paradigm, I'm an ion3 user. I am also quite interested in 
getting this (and other similar issues) worked out appropriately. So 
with all that in mind, read on.




Sorry to answer only now.


On Fri, 24 Mar 2006, Olivier Chapuis wrote:


Ethan Blanton a écrit :


Olivier Chapuis spake unto us the following wisdom:


Now a note on _NET_CURRENT_DESKTOP (and _NET_DESKTOP_VIEW PORT), the
EWMH spec says that this property (as a client msg) is for a pager. 
Thus

if gtk_window_present() uses this property (and one may understand that
it uses it in the *view of the doc*), you may understand that you go
beyond what an application is espected to do at startup: is gaim a
Pager?




After some discussion with the Gaim folk who grok Gtk+, we have some
questions ... are you actually _seeing_ _NET_CURRENT_DESKTOP or
_NET_DESKTOP_VIEWPORT?



I do not know I do not use gaim (I use psi). But I read the
discussion on the forum and Dominik conclude that such msg was send by 
gaim. Moreover, my gtk_window_present() doc says:


Presents a window to the user. This may mean raising the window in 
the stacking order, deiconifying it, moving it to the current desktop, 
and/or giving it the keyboard focus, possibly dependent on the user's 
platform, window manager, and preferences.


So the doc says that  gtk_window_present() may send a 
_NET_CURRENT_DESKTOP client msg. Maybe this depends on the version of 
gtk ...



Not exactly, the documentation says that calling that function might 
cause the window to move to the current desktop. It doesn't say that it 
might switch the current desktop to the one the window is on. And as 
_NET_CURRENT_DESKTOP is the property indicating the current desktop I 
wouldn't assume sending that is what gtk_window_present does at all. 
Furthermore, I have looked at the gtk code for gtk_window_present and, 
at least in the cvs checkout I am looking at, all it does is call 
gdk_window_show and gdk_window_focus. gdk_window_show does a bunch of 
things, but the only part of note (as fas as I can tell) is call 
XMapWindow. gdk_window_focus checks that the wm lists support for 
_NET_ACTIVE_WINDOW and then it sends a _NET_ACTIVE_WINDOW message using 
XSendEvent.




So everything is ok :o)

So if someone is seeing gtk do something else I would very much like to 
know what and which gtk version they are using.




Maybe some old version of gtk do something stronger than a 
_NET_ACTIVE_WINDOW. It was my impression when I read some mails and forum.



As best we can tell, gtk_window_present()
calls gtk_window_show() when the window is not visible, and
gtk_window_focus() when it is.  We suspect that the gtk_window_focus
is the problem, as it raises _NET_ACTIVE_WINDOW.  Is it possible that
fvwm is actually seeing _NET_ACTIVE_WINDOW, this causes it to switch
desktops/pages?  If so, is this an inappropriate client message (I
don't believe it is.)  It is clearly causing a behavior that at least
some users are not pleased with.



I think that Dominik ask the user with the gaim problem to disable 
_NET_ACTIVE_WINDOW msg for fvwm and the switching was still there. 
Dominik?



I am also quite interested in the response to this.

I do not think that _NET_ACTIVE_WINDOW is an inappropriate msg if the 
source indication is set to 2 (indicating a normal application msg). 
gtk does that with gtk_window_show() I think. I will add: a normal 
application can set the source indication to 1 (taskbar/pager) or send 
a _NET_CURRENT_DESKTOP msg if and only if this depends on a direct 
user action or if this is a (non default) option of the app (e.g., 
maybe some user like to have focus problems and want that an IM msg 
force the focus to the discussion window :o).



The source indication for a pager is 2, for application is 1. Which gtk 
does correctly for gdk_window_focus (which as I explained is what 
gtk_window_present calls). gdk_window_focus doesn't set data.l[2] (since 
that would require more information than they have), nor do I really 
know how much help that would be here (or even in general).


I do not think that an application that is not a pager should ever set 
source indication to 2, if any does I would claim that application is 
broken. I also think that (ab)using _NET_ACTIVE_WINDOW is a problem. 
Using it to present any existing (and even some new) windows is not the 
problem, the problem is when this is unavoidable and is used for no reason.




I will say that this is out off topic ... any way I start the discussion 
on this. My logic is that the user may be able to decide what behavior 
he wants. Users are stronger than specification. So if a widely used 
wm (e.g., metacity) decides to never show a window after a 
_NET_ACTIVE_WINDOW send by an application (e.g

Re: Removing EWMH support?

2006-03-24 Thread Olivier Chapuis

Ethan Blanton a écrit :

Olivier Chapuis spake unto us the following wisdom:


Now a note on _NET_CURRENT_DESKTOP (and _NET_DESKTOP_VIEW PORT), the
EWMH spec says that this property (as a client msg) is for a pager. Thus
if gtk_window_present() uses this property (and one may understand that
it uses it in the *view of the doc*), you may understand that you go
beyond what an application is espected to do at startup: is gaim a
Pager?



After some discussion with the Gaim folk who grok Gtk+, we have some
questions ... are you actually _seeing_ _NET_CURRENT_DESKTOP or
_NET_DESKTOP_VIEWPORT?


I do not know I do not use gaim (I use psi). But I read the
discussion on the forum and Dominik conclude that such msg was send by 
gaim. Moreover, my gtk_window_present() doc says:


Presents a window to the user. This may mean raising the window in the 
stacking order, deiconifying it, moving it to the current desktop, 
and/or giving it the keyboard focus, possibly dependent on the user's 
platform, window manager, and preferences.


So the doc says that  gtk_window_present() may send a 
_NET_CURRENT_DESKTOP client msg. Maybe this depends on the version of 
gtk ...




As best we can tell, gtk_window_present()
calls gtk_window_show() when the window is not visible, and
gtk_window_focus() when it is.  We suspect that the gtk_window_focus
is the problem, as it raises _NET_ACTIVE_WINDOW.  Is it possible that
fvwm is actually seeing _NET_ACTIVE_WINDOW, this causes it to switch
desktops/pages?  If so, is this an inappropriate client message (I
don't believe it is.)  It is clearly causing a behavior that at least
some users are not pleased with.



I think that Dominik ask the user with the gaim problem to disable 
_NET_ACTIVE_WINDOW msg for fvwm and the switching was still there. Dominik?


I do not think that _NET_ACTIVE_WINDOW is an inappropriate msg if the 
source indication is set to 2 (indicating a normal application msg). gtk 
does that with gtk_window_show() I think. I will add: a normal 
application can set the source indication to 1 (taskbar/pager) or send a 
_NET_CURRENT_DESKTOP msg if and only if this depends on a direct user 
action or if this is a (non default) option of the app (e.g., maybe some 
user like to have focus problems and want that an IM msg force the focus 
to the discussion window :o).


Olivier





Re: Removing EWMH support?

2006-03-22 Thread Olivier Chapuis

Dominik Vogt a écrit :

On Sun, Mar 12, 2006 at 11:41:54PM +0100, Dominik Vogt wrote:


A current discussion with the gaim developers about some gaim
mis-feature has made me think about abandoning EWMH support
completely.  In my eyes, the only usefull message it has is the
FULLSCREEN stuff.  Everything else is just causing trouble.

Reasoning:

* Most of the EWMH features are intended to mix applications
  written for the different desktop environments (DE), e.g. a KDE
  pager with a GNOME taskbar.
* If fvwm is not running under a DE, these features are utterly
  useless.
* If running under a DE, using the DE's pager, taskbar, etc. is
  not necessary as fvwm has a rich set of these modules.
* An increasing number of applications mis-uses the EWMH hints to
  do funny things.
* Most users have *no* chance to control such appications.  For
  example, the problem with SkipMapping and gaim that led to the
  discussion on the gaim list.  It took the user several days to
  figure out the problem and had to ask the fvwm developers for
  help.

All this leads me to the conclusion that the EWMH spec (at least
the client message part) offers very little benefits but causes a
huge amount of trouble.  It is simply not worth the effort.

I vote for abandoning EWMH support (at least the client messages).

Opinions?



There have been so many interesting responses that I can't reply
to them individually.

To summarize what I understood:

 * Some people want EWMH support for third party pagers, taskbars,
   panels, etc.
 * Fullscreen is a useful feature.
 * Nobody(?) cares about *client messages* (other than
   fullscreen) that are not sent by pagers, etc.
 * EMWH *hints* are generally considered useful.

So, I suggest the following defaults:

 * Hints are fully supported.
 * Fullscreen messages are honoured for all windows by default.
 * Client messages with source indication class 2 (pagers, ...)
   are honoured by default.
 * Client messages with source indication class 1 (other apps)
   are disabled by default.
 * Client messages with source indication class 0 (not set) are
   disabled by default.
 * Client messages without source indication are honoured by
   default.  Unfortunately, if an application uses them, there is
   no way to disable them selectively.



Yes, this seems reasonable. Regarding _NET_ACTIVATE_WINDOW we may
have 3 functions:

EWMHActivateWindowFunc   # the one we have, for class 2
EWMHActivateClientWindowFunc # class 1
EWMHActivateLegacyWindowFunc # class 0

in addtion with some styles which enable/disbale the
_NET_ACTIVATE_WINDOW client msg (I've these functions here but not the
styles).

Rational: what I've recently prototyped is an implementation of a
demands attention state (which, in particular, implement the
_NET_WM_STATE_DEMANDS_ATTENTION EWMH STATE). This state can be set by a
fvwm command DemandsAttention and is set in the window flags structure.
It is unset automatically when the window is activated. For now I've:

AddToFunc   EWMHActivateClientWindowFunc
+ I DemandsAttention On

AddToFunc UrgencyFunc
+ I DemandsAttention On

and I've added some colorsets/button state in FvwmIconMan for buttons
which represent a window with the demands attention state (Moreover,
such buttons are always shown in IconMan). This way if an application
want to be activated (using _NET_ACTIVATE_WINDOW or the Urgency hint)
the window is not activate but a red button appear in my IconMan.
Also, the DemandsAttention state is set when a
_NET_WM_STATE_DEMANDS_ATTENTION EWMH STATE client msg is received and
when a window is mapped not visible (useful for my IM windows which are
on page 1 1 with the SkipMapping style). All this is not very original
(some wm and taskbars have already all this), but I think this is useful
for preventing focus grabing which is really a big problem. Now the next
step is to detect when an application use XSetInputFocus, and then
reject the Focus and set the demands attention state (this is surley not
so easy but I think we can do something in the most important cases).

Olivier



Re: Removing EWMH support?

2006-03-13 Thread Olivier Chapuis

Dominik Vogt a écrit :

A current discussion with the gaim developers about some gaim
mis-feature has made me think about abandoning EWMH support
completely.  In my eyes, the only usefull message it has is the
FULLSCREEN stuff.  Everything else is just causing trouble.

Reasoning:

 * Most of the EWMH features are intended to mix applications
   written for the different desktop environments (DE), e.g. a KDE
   pager with a GNOME taskbar.


Some users use fvwm with kicker, gnome-panel, kdesktop or nautilus.


 * If fvwm is not running under a DE, these features are utterly
   useless.


Not all: strut, icons and mini-icons, fullscreen, resizing by the
bottom-right of the client, automatic stacking (yes some users like
this). It will be good to implement the Killing Hung Processes process
and maybe the _NET_WM_STATE_DEMANDS_ATTENTION _NET_WM_STATE.


 * If running under a DE, using the DE's pager, taskbar, etc. is
   not necessary as fvwm has a rich set of these modules.


FvwmButtons is not GUI configurable, has poor systray support and in
general distributions  does not ship fvwm with their Distribution
Menu. Kicker and gnome-panel have all these. Also, FVWM as no desktop
application (some users like such app ... I do not know why :o)

Also, I use it to monitor user window management activity (for my work).


 * An increasing number of applications mis-uses the EWMH hints to
   do funny things.


Yes. But some application use it properly and if you remove EWMH support
you will have some complaints.


 * Most users have *no* chance to control such appications.  For
   example, the problem with SkipMapping and gaim that led to the
   discussion on the gaim list.  It took the user several days to
   figure out the problem and had to ask the fvwm developers for
   help.

All this leads me to the conclusion that the EWMH spec (at least
the client message part) offers very little benefits but causes a
huge amount of trouble.  It is simply not worth the effort.



I suggest to make the EWMH support more configurable (if needed). You
can already almost totally disable EWMH support by fvwm config.

One point is that there is now source indication for client msg. Maybe
we can fix the gaim problem with this.

Also, we do not implement the _NET_WM_STATE_DEMANDS_ATTENTION
_NET_WM_STATE.  Some gaim like problem may be fixed by a proper
implementation of this state I think (gaim may ask for
_NET_WM_STATE_DEMANDS_ATTENTION and we can add a colorset to FvwmIconMan
for this state. Maybe if gtk++ see that _NET_WM_STATE_DEMANDS_ATTENTION
is not implemented it does funny thing like switching to the current
page and desktop)

I may work on these.


I vote for abandoning EWMH support (at least the client messages).

Opinions?



I vote against.

Some applications miss-use the ICCCM spec, do you want to remove ICCCM
support in fvwm?

Olivier



Re: EWMH Window Types

2005-11-10 Thread Olivier Chapuis
On Thu, Nov 10, 2005 at 11:21:47PM +0100, Viktor Griph wrote:
 The way fvwm handles the _NET_WM_WINDOW_TYPE hint is very 
 non-configurable currently. You can't even set other style options on the 
 windows yourself.
 

Yes. Moreover, in the case of the TOOLBAR type the interpretation
follows the interpretation given by some old version of KDE (e.g.,
kpager had this type in version 3.0, it will be interesting to know if
this is still the case with more recent versions). I did this because
at the time I implemented the EWMH spec KDE was the only place where
the TOOLBAR type was used. Now, others use this type and I think
we should follow the spec and not the old(?) KDE interpretation.

 There are several ways to improve this. In short term a style 
 EWMHIgnoreWindowType would allow for users to set their own style on 
 windows having a specific windowtype without being foced to also have the 
 default options of that window type. While this is an easy-to-make 
 solution, I think there is room for more improvment. It would be good with 
 configurable styles on a window type level, also for the window types 
 currently ignored by fvwm. A command EWMHWindowTypeStyle could be added, 
 and when the Style command is changed according to the 3.0 todo Type 
 could be made a option to match on.
 
 I already got an implementation of the EWMHIgnoreWindowType which is ready 
 for commit if agreed that such a style woud be useful (there might be 
 other better solutions to the problem). I'd like to take a look at the 
 implementation of an EWMHWindowTypeStyle command once I get a little more 
 spare time.
 

I've no objection. It will be also interesting to have the types as
conditions for the conditionnal commands.

Olivier



Re: MenuStyle

2005-10-20 Thread Olivier Chapuis
On Thu, Oct 20, 2005 at 11:06:36AM +0200, Dominik Vogt wrote:
 On Thu, Oct 20, 2005 at 07:42:36AM +0200, Viktor Griph wrote:
  Hi
  
  I am looking into the MenuStyle code trying to understand how some things 
  are done. I plan to enable negation of all on/off menu styles by prefixing 
  ! to them. However looking at the code raise some questions:
  
  First of all what exactly does FreeColors free up?
 
 In certain modes, X colours are managed in so called colour cells.
 There may be a limited number of available cells.  They are
 reserved with XAllocColor and freed with XFreeColor.  Because
 colours are used in many places inside fvwm (colour sets!), fvwm
 keeps a reference counter for the allocated colours.  The
 corresponding code may be a bit difficult to understand
 (libs/PictureUtils.c).
 
 FreeColors eventually decreases the reference counters and frees
 the cells if the reference count drops to 0.  Actually the process
 is more complicated.  I think Olivier has written most of the
 code.


Yes, the code is complex. It allows, in particular, to save in a
fast way the allocated pixels for an image or a gradient with
minimal memory usage. Before that, colours leak was systematic with
gradients and images. Any way, colours management (sharing) at depth 8
is a mess in the X world, I discourage any one to try to understand
the problems :o)

Note that we do not receive complaint anymore on colours at depth 8 on
fvwm-users. Maybe, no body have to use anymore these applications
which need depth 8 to work properly.

Olivier



IconAndSelect buttons in IconMan

2005-01-17 Thread Olivier Chapuis
Hello,

If there is no objection I will add to IconMan an IconAndSelectButton
option and an IconAndSelectColorset option. These options will
respect backward compatibility: the buttons which represent an
iconified and selected window will respect the SelectButton and
SelectColorset options if the new options are not used.

Regards, 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: FVWM: FvwmButtons and fullscreenmodes in recent fvwm broken?

2005-01-16 Thread Olivier Chapuis
On Fri, Jan 14, 2005 at 06:02:08PM +0100, Trilobit wrote:
 Hi,
 
 I recently updated my Debian Linux Box.
 And so I got version 2.5.12 of fvwm installed.
 After starting X11 with the new fvwm and my old working configuration
 for 2.5.x FvwmButtons hangs using 99percent of CPU time.
 And, after moving a window (in not opaque style), seems to freeze fvwm
 for some seconds. And so, giving after the freeze following error message
  (the only on in the whole .xsession-errors file):
 
 FVWM][FlushMessageQueue]: ERROR Failed to write descriptor to 
 'FvwmButtons':
 - select rc=0
 - terminate signal=N
 ---
 So I installed, just for testing, version 2.5.8 from www.fvwm.org, the problem
 had gone.
 

Here I switch to the workers list (fvwm-workers@fvwm.org).

Can you post your FvwmButtons config (with the related functions/styles
...etc config).

Regards, 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]


FlushMessageQueue

2005-01-16 Thread Olivier Chapuis
Hello,

It is easy to write some fvwm code to reproduce a

   [FVWM][FlushMessageQueue]: ERROR Failed to write descriptor

error.

Just do so that:

- fvwm grab the server
- fvwm FlushMessageQueue
- a module is locked at some place (server is grabbed)
-- The error

So, fine, we should not FlushMessageQueue when we grab the server
(e.g., in a non opaque move).

Unfortunately, it seems that we can have a FlushMessageQueue errors
with a fastly reapeted sequence:

- fvwm grab the server
- fvwm do somting
- fvwm ungrab the server
- fvwm FlushMessageQueue

I will be interested by any comments on the following (non conservative)
solution:

In FlushMessageQueue (module_interface.c), do not select with
moduleTimeout but with a very short timeout, if select fail
do not kill the module, just return (the msg queue will be flushed later!).

Patch attached. Maybe this should be allowed only in certain
condition. Also, the module may be killed if FlushMessageQueue
*always* fail for a long time.

Regards, Olivier
--- module_interface.c.orig 2005-01-16 07:09:38.0 +0100
+++ module_interface.c  2005-01-16 07:10:34.0 +0100
@@ -1651,7 +1651,6 @@
 
 void FlushMessageQueue(int module)
 {
-   extern int moduleTimeout;
mqueue_object_type *obj;
char *dptr;
int a;
@@ -1689,8 +1688,8 @@
{
/* Wait until the pipe accepts further
 * input */
-   timeout.tv_sec = moduleTimeout;
-   timeout.tv_usec = 0;
+   timeout.tv_sec = 0;
+   timeout.tv_usec = 10;
FD_ZERO(writeSet);
FD_SET(channel, writeSet);
rc = fvwmSelect(
@@ -1707,6 +1706,7 @@
}
if (!FD_ISSET(channel, writeSet))
{
+#if 0
char *name;
 
name = get_pipe_name(module);
@@ -1721,6 +1721,7 @@
name, rc, isTerminated ?
'Y' : 'N');
KillModule(module);
+#endif
return;
}
 


Re: Notification: incoming/1550

2005-01-07 Thread Olivier Chapuis
On Fri, Jan 07, 2005 at 11:10:41AM -0600, [EMAIL PROTECTED] wrote:
 FVWM Bug Tracking notification
 
 new message incoming/1550
 
 Message summary for PR#1550
   From: [EMAIL PROTECTED]
   Subject: Working Area breaks with GNOME  Xinerama
   Date: Fri, 7 Jan 2005 11:10:09 -0600
   0 replies   0 followups
 
  ORIGINAL MESSAGE FOLLOWS 
 
 From [EMAIL PROTECTED] Fri Jan 07 11:10:20 2005

 SNIP 
 
 I use FVWM as the GNOME window manager. Crazy, I know, but it works great.

This is not so crazy, we have work a lot so that can be possible.

 When I switched to Xinerama (actually NVIDIA TwinView, but it looks like
 Xinerama to X clients) the GNOME panel started getting covered by new
 windows. I believe this is because the Working Area is not being adjusted
 properly according to the _NET_WM_STRUT hints. 
 
 SNIP
 
 $ xprop | grep STRUT # top panel
 _KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0
 _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 34, 0, 0, 0, 0, 0, 1280, 2559, 0,
 0
 _NET_WM_STRUT(CARDINAL) = 0, 0, 34, 0

 SNIP 
 
 Again, things worked fine with only one screen. If I use EwmhBaseStruts 0
 0 34 34 behavior is as before but because the panels only span one screen,
 I lose 68 pixels of useful mapping space on the left screen.
 

Yes, fvwm does not support _NET_WM_STRUT_PARTIAL. So your report is a valid
bug (or a miss feature). I do not know when we will have the time to fix it.

Thanks, 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: Patch: FvwmScript - add ReliefDepth parameter to H/VDipSticks

2005-01-06 Thread Olivier Chapuis
On Fri, Dec 24, 2004 at 07:42:18PM -0500, Lev Babiev wrote:
 
 Hello all,
 
 I recently started using FvwmScript as part of my setup. One of the 
 functions performed by the script is displaying CPU load, memory usage and 
 swap utilization. The output is displayed using small VDipSticks on my 
 panel. Since these VDipSticks are rather small (11x56), having them sunk 
 and raised by 2 pixels results in a rather cluttered look (8 of 11 pixels 
 by width are taken up by relief).


Can you post your Script?
 
 I created a patch to address this issue. The patch adds a new option for 
 VDipSticks and HDipSticks called ReliefDepth. This option allows setting 
 a number of pixels to raise/sink the dipstick by. The default value is 2, 
 so omitting the option would result in normal behavior and existing 
 scripts would not be affected.
 

This option it interesting. I will just call it ReliefThickness
(to be consistent with, for example, FvwmIconMan).
What about extending this patch to all the widgets? And supporting
the ReliefThickness option at the head of the script for setting
the default? 
 
 The patch is fairly large due to the changes in files generated by 
 lex/yacc, the actual changes are fairly small. The patch file is located 
 here: http://crion.no-ip.org/fvwmscript-nrdip2.patch
 

If there is no objection I will apply the patch. If you do an other
one you do not need to put the files generated by lex/yacc in it
(I can generate it).

Regards, 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: EWMH and Maximize growonwindowlayer patch

2005-01-06 Thread Olivier Chapuis
On Tue, Dec 14, 2004 at 01:19:27AM +0100, Arnaud Vrac wrote:
 In my config i have:
 
 EwmhBaseStruts 0 0 20 0
 Style * EWMHUseStrutHints, EWMHPlacementUseWorkingArea
 
 Mouse   1   4   A   Maximize growonwindowlayer grow grow
 
 However when i maximize a window the EWMH area is covered. That should 
 only happen if ewmhiwa is set on Maximize. Correct me if this is not 
 true, anyway i attached a patch that applies against cvs.


Applied, Thanks

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: CVS olicha: * Added a set of functions for implementing tool tips

2004-12-11 Thread Olivier Chapuis
On Wed, Dec 08, 2004 at 10:26:27PM -0500, Dan Espen wrote:
 Olivier Chapuis [EMAIL PROTECTED] writes:
  On Sun, Dec 05, 2004 at 07:44:40PM -0500, Dan Espen wrote:
   FVWM CVS fvwm-workers@fvwm.org writes:
 
   For FvwmIconMan, I adjusted the first  paragraph, but got stuck on the
   second:
  
  ManWidth is the width of the full FvwmIconMan. For example if the
  width of the FvwmIconMan manager is 1024, MaxButtonWidthByColumns 4
  is equivalent to MaxButtonWidth 256. This is useful when you do not
  know, at config time, the width of the manager (e.g., for swallowed
  IconMan). In a certain sense you will never have less than 4 columns.
  So maybe, MinColumns is good. I used MaxButtonWidthByColumns to say
  that the MaxButtonWidth is expressed in terms of columns (or computed
  from a number of columns. I like the idea to use something like
  MaxButtonWidth_something_good to express the fact that this option
  is just an other way to set the MaxButtonWidth option.
 
 I think I have it now.  Please check and see.


Yep, Thanks.
 
 In another part of the same man page, I don't follow
 part of the TipsJustification description.  The part
 between the lang_check markers (which I did modify a little):
 
 .IP *FvwmIconMan: [id] TipsJustification \fIvalue\fP
 where \fIvalue\fP can be leftup, rightdown or center.
 Specifies
 the justification (direction) of the tips window relative to its button after
 the tips window has been placed.
 \.#needs_lang_check
 Default is leftup which means that if a tip is placed above or below
 (respectively, on the left or on the right of)
 its button, 
 then the left
 (respectively, the top)
 border of the tip 
 and of the button are aligned.
 \.#end_needs_lang_check
 The alignment is adjusted by the TipsOffset option.
 See next option.
 
 
 The way you use respectively is very hard to read
 in english.
 Just describe leftup then
 start a new sentence and say
 rightdown and center work like leftup but in different directions.
 
 I tried to read it ignoring the repectively stuff and
 still couldn't follow it.
 If you just expand on it or give an example like you
 did above that would help.


I Followed your suggestion. Can you check?

Thanks, 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: CVS olicha: * Added a set of functions for implementing tool tips

2004-12-06 Thread Olivier Chapuis
On Sun, Dec 05, 2004 at 07:44:40PM -0500, Dan Espen wrote:
 FVWM CVS fvwm-workers@fvwm.org writes:
  CVSROOT:/home/cvs/fvwm
  Module name:fvwm
  Changes by: olicha  04/12/03 02:47:49
  
  Modified files:
  .  : ChangeLog NEWS 
  libs   : Makefile.am defaults.h 
  modules: ChangeLog 
  modules/FvwmIconMan: FvwmIconMan.1.in FvwmIconMan.c 
   FvwmIconMan.h fvwm.c globals.c readconfig.c 
   x.c xmanager.c xmanager.h 
  Added files:
  libs   : FTips.c FTips.h 
  
  Log message:
  * Added a set of functions for implementing tool tips
  * Implemented tips in IconMan
  * New options IconMan MaxButtonWidth and MaxButtonWidthByColumns
  * Fixed bug #1480 by updating EWMHUseStackingOrderHints documentation
  * One needs_lang_check in fvwm.1.in and one in FvwmIconMan.1.in
 
 fvwm.1.in is not checked in.  Did you really change it?
 

Yes, but I probably forget to save the file before the commit
I will commit again soon.

 For FvwmIconMan, I adjusted the first  paragraph, but got stuck on the
 second:
 
 .IP *FvwmIconMan: [id] MaxButtonWidth \fIwidth\fP
 Defines a maximum for the width of a button (in pixels). By default there
 is no maximum. A value of 0 resets the default. The maximum is only used
 with a non growing manager (the ManagerGeometry option
 specifies non zero width and height).
 
 .IP *FvwmIconMan: [id] MaxButtonWidthByColumns \fIcol\fP
 This is equivalent to MaxButtonWidth ManWidth/col where ManWidth is
 the width of the Manager. 
 
 
 What is ManWidth?

 Should this be MaxWidthInColumns, or just MaxColumns?
 

ManWidth is the width of the full FvwmIconMan. For example if the
width of the FvwmIconMan manager is 1024, MaxButtonWidthByColumns 4
is equivalent to MaxButtonWidth 256. This is useful when you do not
know, at config time, the width of the manager (e.g., for swallowed
IconMan). In a certain sense you will never have less than 4 columns.
So maybe, MinColumns is good. I used MaxButtonWidthByColumns to say
that the MaxButtonWidth is expressed in terms of columns (or computed
from a number of columns. I like the idea to use something like
MaxButtonWidth_something_good to express the fact that this option
is just an other way to set the MaxButtonWidth option.

I will follow any suggestion.

Thanks Dan, 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: fvwm: Fullscreen should not require EWMHUseStackingOrderHints style

2004-10-27 Thread Olivier Chapuis
On Wed, Oct 27, 2004 at 11:06:27AM +0200, Per von Zweigbergk wrote:
 On Tue, 26 Oct 2004, Olivier Chapuis wrote:
  On Tue, Oct 26, 2004 at 01:26:38PM -0500, Manoj Srivastava wrote:
 
If the EWMHUseStackingOrderHints style is off, fullscren works, but
pager is not hidden. But, EWMH always-on-top modes such as the one
found in tvtime still works.
  
  
  Maybe  tvtime use the old GNOME hints? What happen if you use
  Style * IgnoreGnomeHints ?
 
 No. According to Billy Biggs (main developer of tvtime), he says that he's
 pretty sure that he uses EWMH hints only for this case. I haven't looked
 closely at the source code himself, though, but I could unless you know 
 another way to check what tvtime uses.
 

I've just tried tvtime version 0.9.12. I can confirm that it uses the
EWMH fullscreen hint and no GNOME hints. However, If I've a stay on
top window (EWMHUseStackingOrderHints not enabled) this window is
*not* covered by tvtime.

What version of tvtime do you use?

I take fast look at the 0.9.13 source code. What *may* happen is that
after tvtime is mapped it ask to be above with the _NET_WM_STATE_ABOVE
hints (if a window want to be above it should set this state before
mapping). So, FVWM interprets this has a user query (e.g., the user
has used the kicker taskbar menu on the tvtime icon) and not as a
program query and respect the user query (ignoring !EWMHUseStackingOrderHints).
If tvtime do effectively this, in my opinion, it tries to override
the wm stacking policy and this is not regular (and I will be not happy
with such application).

There is a plan to extend the EWMH spec so that the wm can know
who send a _NET_WM_STATE_FOO query (so if the app developers do
not cheat we will be able to handle the situation below).

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: fvwm: Fullscreen should not require EWMHUseStackingOrderHints style

2004-10-26 Thread Olivier Chapuis
On Tue, Oct 26, 2004 at 01:26:38PM -0500, Manoj Srivastava wrote:
 Hi,
 
 [Please retain the CC to [EMAIL PROTECTED]
  so that the Debian BTS has a record of your input]
 
   This was reported by a Debian user.
 
  Fvwm2 seems to have some trouble with the EWMH fullscreen mode.
 
  My configuration includes a stay-on-top FvwmPager.  When putting EWMH
  compliant applications, such as tvtime, the pager is not obscured by
  the fullscreen window, so I get a TV window with a pager floating on
  top, which is less than desirable.
 
  The bug can also be reproduced with the fullscreen modes in Mozilla
  Firefox and OpenOffice.org, but I have not tested using this
  extensively as I have with tvtime.
 
  The bug can be worked around by setting:
 
  Style *   EWMHUseStackingOrderHints

  in the .fvwm2rc file.
 

So, everything is fine. No? You use a stay on top pager (i.e., you use
stacking), so you should use this style. I've no time to explain why,
but I do like stay on top windows at all. Maybe, this
EWMHUseStackingOrderHints should be on by default. I do not know (and
I do not care). 

  After investigating the problem, my analysis of the problem is that
  it seems (according to the excellent fvwm manual page) that the
  EWMHUseStackingOrderHints was intended to disable/enable some
  KDE-specific extentions.
 

For me the bug is in the man page.

  Unfortunately, the slightly misleading option name lead a programmer to
  misinterpret the meaning of the flag when programming the fullscreen
  code, and made that disable the stacking code in that when it was
  enabled.
 
  The fact that the option is not intended to disable *all* stacking
  hints is further supported by the fact that tvtime also has an (AFAIK)
  EWMH-compliant Always-on-top mode, which does manage to obscure the
  pager properly, even when EWMHUseStackingOrderHints unset.
 
  From 
 http://www.freedesktop.org/standards/wm-spec/1.3/ar01s07.html#STACKINGORDER
 
  # Stacking order
  #
  # To obtain good interoperability between different Desktop Environments,
  # the following layered stacking order is recommended, from the bottom:
  #
  # * windows of type _NET_WM_TYPE_DESKTOP
  # * windows having state _NET_WM_STATE_BELOW
  # * windows not belonging in any other layer
  # * windows of type _NET_WM_TYPE_DOCK (unless they have state
  #   _NET_WM_TYPE_BELOW) and windows having state _NET_WM_STATE_ABOVE
  # * focused windows having state _NET_WM_STATE_FULLSCREEN
  #
  # Windows that are transient for another window should be kept above this
  # window.
  #
  # The window manager may choose to put some windows in different stacking
  # positions, for example to allow the user to bring currently a active
  # window to the top and return it back when the window looses focus.
 


FVWM try to follow the spec but surely do not follow this
*recommendation* without an user intervention (or if
EWMHUseStackingOrderHints was a default, without the possibility to
break such a recommendation). For me, the only acceptable stacking
rule is the one concerning _NET_WM_TYPE_DESKTOP.
 
   Let me summarize:
 
  If the EWMHUseStackingOrderHints style is on, fullscreen works. Pager
  is hidden as it should be.
 

Fine.

  If the EWMHUseStackingOrderHints style is off, fullscren works, but
  pager is not hidden. But, EWMH always-on-top modes such as the one
  found in tvtime still works.


Maybe  tvtime use the old GNOME hints? What happen if you use
Style * IgnoreGnomeHints ?

  According to the documentation, EWMHUseStackingOrderHints affects
  KDE-specific extentions. The extentions mentioned aren't KDE
  extentions, they are a part of the EWMH standard 1.3 from
  freedesktop.org. So either the documentation is wrong or the code is
  wrong.
 

The documentation is wrong. The EWMHUseStackingOrderHints code and doc
was written before _NET_WM_STATE_BELOW, _NET_WM_STATE_ABOVE and
_NET_WM_STATE_FULLSCREEN was introduced in the ewmh spec.  Even, I
think that at some point in the spec elaboration it was decided that
no stacking rules should appear in the spec (Dominik?), but one day 
someone decided that all wm should work like kwin and metacity ...

The code follows the EWMHUseStackingOrderHints style but not the
doc :o/ This happen even with FVWM!

  And still, you shouldn't have to activate a special option in order
  for FVWM to fully comply with the recommendation in the standard.


Not agree (but I do not care if we can disable these stacking
dictatorial rules via a style).
 
  So, I see two possibilities:
 
  - The option is intended to tell EWMH never to dictate stacking.

Yes!

In that case it's broken since tvtime's EWMH always-on-top stacking
still works when that option is disabled, and the documentation is
wrong.
 

Maybe there is a bug somewhere. I've not tvtime here; but as I said
maybe the old GNOME hints are used. Try to disable the GNOME hints
and see if tvtime is still stay on top.

  - And what I think is more 

Re: Some new FVWM features from metisse

2004-09-07 Thread Olivier Chapuis
On Fri, Sep 03, 2004 at 10:54:55AM +, Mikhael Goikhman wrote:
 On 03 Sep 2004 10:03:19 +0200, Dominik Vogt wrote:
  
  On Fri, Sep 03, 2004 at 07:20:59AM +0200, Olivier Chapuis wrote:
   * Support for _NET_SHOW_DESKTOP via a new command ShowDesktop bool: this
   command, if bool is on, iconify all window not in the window skip list.
   If bool is off the command uniconify all window iconified by a
   ShowDesktop On. This can be simulated by a fvwm function (by using
   State) modulo stacking order problems. FVWM GNOME/KDE users will be
   happy with the support of _NET_SHOW_DESKTOP. My vote: yes.
  
  _NET_SHOW_DESKTOP support: yes; implementation with icons: no.  I
  am almost sure using icons for this purpose will make more trouble
  than it saves.  Instead, all windows should just be unmapped like
  when they are on a different desk.  The checks for the current
  desk are strewn all over the place, so this is no simple patch.
 

I do not see which kind of problem we can have, but Animate like 
problem. Moreover, you can build a fvwm function which almost
do the show desktop feature, so it seems to me that if we get
problems by using icons for show desktop we will have to
fix it any way.

 Yes, if FvwmAnimate is on, mass-iconify may be problematic. This is why
 I added pause, push and pop messages to FvwmAnimate some time ago.
 

Indeed, I used these in the code.

 I can't say yet whether iconifying without iconified windows is good.


No opinion too and I have not the time to implement the show desktop
feature using an other method than simple iconification. 

   * New option -transient-window to the FvwmPager which causes FvwmPager
   to be transient and to execute Silent Current MoveToPage x y or
   Silent Current MoveToDesk d or Silent Current MoveToDeskAndPage d x
   y in the place of the GotoPage, GotoDesk and GotoDeskAndPage usual
   cmd. Optionally the usual GotoPage, GotoDesk and GotoDeskAndPage are
   also executed. My vote: yes.
  
  What is that good for?
 
 I suggest to rename the option to -transient-move, or -transient -move,
 where -move is only relevant with -transient.
 
 FvwmPager -transient-move is supposed to be bound to a window operation
 menu, it nicely shows all pages and moves the window to the chosen page.


Yes, very user friendly, contextual menu.

Regards, 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]


Some new FVWM features from metisse

2004-09-03 Thread Olivier Chapuis
Hello,

When working on metisse (http://insitu.lri.fr/~chapuis/metisse) and
related projects I added a few new features to FVWM. Maybe some can go
into the official 2.5.x tree as it does not seem that the tree is
really feature freezed. Just vote!

Here a full list of the difference between 2.5.x and the fvwm included
in metisse 0.3.4 (not yet released).

* New command SaveWindowPointerPosition: this command save the pointer
position relatively to the current window. You can restore this
position with a new option to the WarpToWindow cmd: UseSavedPosition.
WarpToWindow UseSavedPosition 50 50 will either restore the pointer
position if saved or put the pointer in the middle of the window. 
My vote: I do not care.

* New command ShowCursor: draw a flashing circle around the cursor
during a fraction of time. I use this with some new options to
WarpToWindow: ShowCursor and ShowCursorOnSavedPosition.
My vote: I do not care. 

Example of use of these two cmd and these options to WarpToWindow: 

DestroyFunc FuncFvwmSaveWindowPointerPosition
AddToFunc   FuncFvwmSaveWindowPointerPosition
+ I Silent All (HasPointer Focused) SaveWindowPointerPosition On
+ I TestRc (Match) Break 1
+ I Silent All (HasPointer) SaveWindowPointerPosition On
+ I TestRc (Match) Break 1
+ I Silent Current SaveWindowPointerPosition On

DestroyFunc WindowListFunc
AddToFunc   WindowListFunc
+ I Iconify false
+ I FlipFocus
+ I Raise
+ I WarpToWindow UseSavedPosition ShowCursorOnSavedPosition 10p 10p

DestroyFunc MyAltTabFunc
AddToFunc   MyAltTabFunc
+ I FuncFvwmSaveWindowPointerPosition
+ I WindowList Root c c NoDeskSort, SelectOnRelease Meta_L

Key Tab A   MMyAltTabFunc


* Support for _NET_SHOW_DESKTOP via a new command ShowDesktop bool: this
command, if bool is on, iconify all window not in the window skip list.
If bool is off the command uniconify all window iconified by a
ShowDesktop On. This can be simulated by a fvwm function (by using
State) modulo stacking order problems. FVWM GNOME/KDE users will be
happy with the support of _NET_SHOW_DESKTOP. My vote: yes.

* A library FTips for implementing tips in modules. I used this
library to add tips to IconMan with a lot of options (I've even write
down the man page I can poste it). I used this library in the Pager
and I plan to use it to implement (multiline) tips in FvwmButtons.
My vote: yes (a step toward removing the FvwmTaskBar).

* New option MaxButtonWidth to FvwmIconman. My vote: yes
(an other step toward removing the FvwmTaskBar).

* New option -transient-window to the FvwmPager which causes FvwmPager
to be transient and to execute Silent Current MoveToPage x y or
Silent Current MoveToDesk d or Silent Current MoveToDeskAndPage d x
y in the place of the GotoPage, GotoDesk and GotoDeskAndPage usual
cmd. Optionally the usual GotoPage, GotoDesk and GotoDeskAndPage are
also executed. My vote: yes.

* The execute totally immediate complex function even if we
cannot grab the pointer patch. Should not be disputed here :o)

* There are others stuffs which are not stable enough.  Some new complex
stacking/focus policy related to text selection and dnd (these use
XRecord). TaskBar Launch buttons used all the rows. My vote: no.

* Some metisse specific stuff. New module msg MX_STARTSTOP_OPERATION,
MX_MODULE_INTERACTIVE_MOVE and MX_CLICK_MOTION mainly for non standard
operation and interactive move in FvwmAmetista. New msg for syncing
desk switching are incoming.  A new BugOpts option MetisseWorkaround
for small things. My vote: obviously no.

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 new FVWM features from metisse

2004-09-03 Thread Olivier Chapuis
On Fri, Sep 03, 2004 at 06:44:49AM +0100, Thomas Adam wrote:
 On Fri, Sep 03, 2004 at 07:20:59AM +0200, Olivier Chapuis wrote:
 
 
  * Support for _NET_SHOW_DESKTOP via a new command ShowDesktop bool: this
  command, if bool is on, iconify all window not in the window skip list.
  If bool is off the command uniconify all window iconified by a
  ShowDesktop On. This can be simulated by a fvwm function (by using
  State) modulo stacking order problems. FVWM GNOME/KDE users will be
  happy with the support of _NET_SHOW_DESKTOP. My vote: yes.
 
 Of course, this is easily scripted by a FvwmFunction, I can see nothing wrong
 in making it in-line Fvwm. An (odd) side-effect of this can also be achieved
 using the command 'vdesk', as well.


I do not see how to make a ShowDesktop complex function which respects
the stacking order. The All (condition) command loop over the windows
following the normal list and not the stacking list. Maybe a stack
option should be added to certain conditional commands.
 
  * A library FTips for implementing tips in modules. I used this
  library to add tips to IconMan with a lot of options (I've even write
  down the man page I can poste it). I used this library in the Pager
  and I plan to use it to implement (multiline) tips in FvwmButtons.
  My vote: yes (a step toward removing the FvwmTaskBar).
  
  * New option MaxButtonWidth to FvwmIconman. My vote: yes
  (an other step toward removing the FvwmTaskBar).
 
 I had no idea we were thinking of removing FvwmTaskBar -- indeed, I don't
 think it should be removed, it is used by quite a lot of people.
 

FvwmtaskBar is not so easy to maintain and if one day we can exactly
simulate the FvwmTaskBar with FvwmButtons + FvwmIconMan we may _discuss_
the removal of the FvwmTaskBar.

Regards, 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]


A 3D X Desktop

2004-06-29 Thread Olivier Chapuis
Hello,

Maybe some people can be interested by this experimental software:

http://insitu.lri.fr/~chapuis/metisse

It is a 3D X desktop based on Xvnc, XDarwin, FVWM and Ametista.
There is a special version of FVWM included in it.

Regards, 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: CVS write access for Scott?

2004-06-03 Thread Olivier Chapuis
On Thu, Jun 03, 2004 at 08:44:52AM -0400, Dan Espen wrote:
 Dominik Vogt [EMAIL PROTECTED] writes:
  I think we should give CVS write access to Scott.  Anybody to
  second that opinion?
 
 Mikhael proposed this on 31-May so you've just seconded it.


And I second it too ... now.

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: FvwmTaskBar FvwmButtons crash when managing remote display

2004-05-30 Thread Olivier Chapuis
On Sat, May 29, 2004 at 01:41:02AM +0200, BUCHMULLER Norbert wrote:
 Hi,
 
 I posted a bug report a week ago (incoming/1284). Since then I
 investigated the problem a bit more, and found it to be MIT-SHM related
 (and independent of any configuration file; does the same with a zero
 conffile, ie. fvwm -f /dev/null).
 
 I managed to hunt down the bug (at least I hope so:-), here's a patch. (I
 can't say that I fully understand the intent of that if statement in
 line 127. So there may be an other - cleaner - solution.)


Without the if statement, if you compile without shm support you get
a warnning. Note that there are no ifdef in the code, however the
compilation is conditional.

I've applied the patch, Thanks!

Regards, 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: Pixmaps, icons, etc. don't work in remote fvwm

2004-05-01 Thread Olivier Chapuis
On Sat, May 01, 2004 at 12:15:15AM +0100, Piotr Zielinski wrote:
 Piotr When I use fvwm remotely, none of the image-based stuff (icons,
 Piotr pixmap, etc.) work.
 
 Olivier I've recently commited a fix to this problem. At present time
 Olivier I cannot test this fix. Can you try
 
 Olivier ftp://ftp.fvwm.org/pub/fvwm/devel/snapshots/fvwm-snap-20040430.tar.gz
 
 Thanks for a prompt reply.  I've tried the cvs version of fvwm and
 everything works ok with the exception of a single image, which is
 still displayed as a random bitmap.  This image (a small png file) is
 the first image mentioned in my .fvwm2rc; if I change the order then
 the new first image doesn't work.  Moreover, if I type the same line 
 
 TitleStyle AllActive   TiledPixmap decor/title-active.png -- Flat 
 
 again (in FvwmConsole), then everything works fine.


Yes, I see. Fixed (I hope) in the current cvs.

Regards, 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: Pixmaps, icons, etc. don't work in remote fvwm

2004-04-30 Thread Olivier Chapuis
Piotr Zielinski wrote:
 
 When I use fvwm remotely, none of the image-based stuff (icons, pixmap,
 etc.) work. I see a random image of the same size instead and fvwm reports
 the following error (many times)
 
 [FVWM][FvwmErrorHandler]: ERROR *** internal error ***
 [FVWM][FvwmErrorHandler]: ERROR Request 145, Error 168, EventType: 4
 
 from time to time also
 
 [FVWM][FvwmErrorHandler]: ERROR Request 145, Error 168, EventType: 12
 
 and
 
 [FVWM][FvwmErrorHandler]: ERROR Request 145, Error 10, EventType: 4
 
 This problem appears even if fvwm is started without a configuration file
 
 fvwm -f /dev/null
 
 Finally, when fvwm works without any problems if used locally on either of
 the two machines.


Hello,

I've recently commited a fix to this problem. At present time I cannot
test this fix. Can you try

ftp://ftp.fvwm.org/pub/fvwm/devel/snapshots/fvwm-snap-20040430.tar.gz

and report again by answering this mail?

Thanks, 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: Fvwm shm and remote X sessions

2004-04-29 Thread Olivier Chapuis
On Tue, Apr 13, 2004 at 01:38:36AM +0530, Kingsly John wrote:
 When you try to run fvwm in a remote X session(ie., Xserver runs on one
 machine.. and fvwm on another.) it's trying to use shared memory and it
 causes a lots of issues with images..
 
 1) all my FvwmButtons which use images coredump(the ones which don't use
 images and just swallow other apps work fine)
 2) My minimized app icons look like this ..
   http://kingsly.net/tmp/fvwm-shm-bug.png
 
 3) There is also similiar corruption in the mini-icons used in windowlists 
 etc.
 
 
 I rebuilt fvwm with the --disable-shm option... and everything works fine
 now.
 
 Would be nice if fvwm could detect if shared memory is usable before it tries
 to use it... mplayer seems to be able to do it.
 

Hello Kingsly,

I've committed a fix to the cvs. Can you try the next snapshot:

ftp://ftp.fvwm.org/pub/fvwm/devel/snapshots/fvwm-snap-20040430.tar.gz

which should pop up soon.

Regards, 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: Fvwm shm and remote X sessions

2004-04-13 Thread Olivier Chapuis
On Tue, Apr 13, 2004 at 01:38:36AM +0530, Kingsly John wrote:
 When you try to run fvwm in a remote X session(ie., Xserver runs on one
 machine.. and fvwm on another.) it's trying to use shared memory and it
 causes a lots of issues with images..


Yes I known this problem, I will fix it soon.

Thanks for the report, 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: EWMHIgnore... styles incomplete?

2004-04-01 Thread Olivier Chapuis
On Wed, Mar 31, 2004 at 10:55:18AM +0200, Dominik Vogt wrote:
 Olivier, it looks like the EWMHIgnore...Hints styles only handle
 the initial hints of a window.  For example, with
 EWMHIgnoreStateHints, applications can not specify an initial
 layer, but can change their layer via a client message.

Yes. The problem is that it is not possible to know if it is the
application itself or an ewmh TaskBar/Pager which send the client
msg. I.e., after the initial stage we cannot detemine if it is the
application allone or the user (via an interaction with an ewmh
TaskBar/Pager) which send the client msg. So, the EWMHIgnore...Hints
styles only handle the initial hints of a window.

 Should
 this be included in these styles?  

So ... No.

 Alternatively we could add
 EWMHIgnore...Request to block client messages.


Yes, we may.

Regards, 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: Solaris 8 and Iconv

2004-03-28 Thread Olivier Chapuis
On Mon, Mar 08, 2004 at 08:29:27PM +0100, Marcus Lundblad wrote:
 
 
 On Mon, 8 Mar 2004, Dan Espen wrote:
 
  Marcus Lundblad [EMAIL PROTECTED] writes:
Markus can you check that all the new (vs 2.5.7) text conversion
stuff are not used too often?
   
  
   I removed some redundant calls.
   Actually for example when drawing underlines, the width (in pixels) of one
   character is computed. In this case, if the character consists of one byte
   (ISO-8859-x) I make the assumption that the width is equal to the raw
   character corresponding to that byte. This will work exept for ISO-8859-6
   (8-bit Arabic) which we don't support anyway (this would need joining
   characters using UTF-8 internally).
   I also included a check in the drawing routine so that character positions
   is only computed when combining characters are actually present in the
   string (redundant otherwise).
  
   Could somebody try this out in Solaris 8?
 
  It's definitely faster.
  The menus come up blank and the text appears 1/4 second later.
  On larger menus, I can see the text appear in blocks.
 
 
 How about using UTF-8 locale on Solaris 8?
 Is that implementation smart enough to just return imediatly when
 converting UTF-8 to UTF-8 (like in glibc, the pointer is just return back,
 the code in Flocale.c checks this)?
 

I do not think that the Solaris 8 libc supports an UTF-8 locale.

 I don't see much more to do (the combining code uses 16-bit charcters
 internally, so converting to UTF-8 and then to 16-bit is needed).
 One alternative as a last emergency could be to write special code as
 fallback for at least ISO-8859-x to/from UTF-8, but this seems close to
 reimplementing Iconv.
 

Hum, for which charset we need to combine characters? Do we need
to combine for iso8859 1 or 15 charset for example? If yes can you give
a concrete example.

With bidi conversion are performed only for UTF-8, ISIRI-3342,
ISO8859-6, ISO8859-9, CP1255 or CP1256. I suggest we do something
like that for combining.

 Actually I find it amazing that implementation can be so slow.
 On my system, PII 400 MHz, I don't notice any abnormal delay even using
 the version before my last fix (though I use UTF-8 locale, so maybe that's
 the reason).


The problem is not the CPU. It seems that on Solaris 8 iconv is
dramatically slow.

Regards, 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: fvwm-2.4.18 and fvwm-2.5.10 have been released

2004-03-23 Thread Olivier Chapuis
On Fri, Mar 19, 2004 at 05:42:54PM +0100, Dominik Vogt wrote:
 Tarballs and announcements are in the usual place.


It seems that the fvwm-2.4.18 release has not been announced
(fvwm users list and freshmeat).

Regards, 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: fvwm-2.4.18 and fvwm-2.5.10 have been released

2004-03-23 Thread Olivier Chapuis
On Tue, Mar 23, 2004 at 08:35:51AM -0600, Jason L Tibbitts III wrote:
  OC == Olivier Chapuis [EMAIL PROTECTED] writes:
 
 OC It seems that the fvwm-2.4.18 release has not been announced (fvwm
 OC users list and freshmeat).
 
 A message was sent to fvwm-announce on March 19 at 10:55AM CST.  The
 message ID was [EMAIL PROTECTED].  The subject
 was fvwm 2.4.18.  I received it back from the list.  fvwm 2.5.10 was
 announced in the same manner at essentially the same time.


Ooops Yes. An error in my mail filters.

Sorry Jason, 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]


Solaris 8 and Iconv

2004-03-03 Thread Olivier Chapuis
Hello,

So it seems that Solaris 8 + Iconv and 2.5.7 has no problem with text
rendering performance (at least with an iso8859-1 locale). But 2.5.8
and better has some important problem (fixed by --disable-iconv).

In a certain sense text rendering performance with Solaris 8 + Iconv is
not surprising. Solaris 8 has a poor iconv implementation.  E.g., sun
ask to use gnu libiconv on Solaris 8 for GNOME2.

About 2.5.7 vs 2.5.8 or better, I see two possibility, either there is
a configure bug in 2.5.7 which disable iconv or some change in
Flocale*.c force to use utf-8 conversion to often. The only thing I
can remember is that when I wrote the locale support I take care to
use utf-8 conversion only when this is really needed.

Markus can you check that all the new (vs 2.5.7) text conversion
stuff are not used too often?

In any case even if we can found workarounds for an iso8859-1 locale +
Solaris 8 we may still have some problem as any other software which
uses iconv (e.g., any i18n soft which use the glib!).

So it will be fine if we can detect during configuration that the libc
implementation of iconv is ok and disable iconv if not (note that if
gnu libiconv if found fvwm will use it and I do not think that we will
have problem with it).

Unfortunately, I do not see a simple generic way to test if a libc
iconv implementation is ok. But, maybe we just have to check that the
libc is the Solaris 8 libc (Is this possible?).  Maybe other system
either have a good libc iconv implementation or use gnu libiconv (This
is the case of the BSD* I think).

Regards, 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: fvwm-root failure

2004-02-28 Thread Olivier Chapuis
On Wed, Feb 25, 2004 at 02:16:15PM -0500, Chris Ross wrote:
 Olivier Chapuis wrote:
 On Fri, Feb 20, 2004 at 11:38:34AM -0500, Chris Ross wrote:
 [ limits on shm usage cause fvwm-root to fail ]
 
 
 I will fix this bug this week-end. Normaly, if shm fail fvwm-root use
 normal XImage, but it seems that there is miss-print somewhere (a cast
 problem I think).
 
   Thank you very much!  Would much appriciate it.
 

I've just commited a fix. Can you try it?

Thanks, 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: fvwm-root failure

2004-02-25 Thread Olivier Chapuis
On Fri, Feb 20, 2004 at 11:38:34AM -0500, Chris Ross wrote:
 
   Hi.  I'm running a solaris 8 system, with the installed
 openwin X server, and fvwm-root is failing with a shared
 memory error on my machine.
 
   I looked into it, and it's a error returned from shmget()
 somewhere in the X libraries.  The X error being displayed
 is:
 
 X Error of failed request:  BadAccess (attempt to access private 
 resource denied)
   Major opcode of failed request:  131 (MIT-SHM)
   Minor opcode of failed request:  1 (X_ShmAttach)
   Serial number of failed request:  10
   Current serial number in output stream:  11
 
   Looking at the system calls, it appears that shmget()
 is returning EINVAL when it's being called to create
 a 5+ MB memory segment.  In reading documentation,
 I see that the system default maximum size for shared
 memory is 1MB.  I realize my fvwm-root is trying to ask for
 a little over 5MB, but, doing some math, even a 1024x768
 screen at 16-bit pixmap-depth will produce an X Pixmap that
 is 1.5MB in size.
 
   Perhaps there should be another way to load this?  Is
 this just a solaris bogosity?  Can we interact with the
 MIT-SHM extension directly to check on things?
 

I will fix this bug this week-end. Normaly, if shm fail fvwm-root use
normal XImage, but it seems that there is miss-print somewhere (a cast
problem I think).

Regards, 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]


The Schedule cmd does not execute complex functions

2004-01-25 Thread Olivier Chapuis
Hello,

Try this:

AddToFunc foo I Echo OK
Schedule 500 foo

it seems that foo is not executed via the Schedule cmd.

Regards, 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: Beep when opening menus

2004-01-19 Thread Olivier Chapuis
On Mon, Jan 19, 2004 at 10:00:16AM +0100, Dominik Vogt wrote:
 On Sat, Jan 17, 2004 at 12:36:43AM +0100, Olivier Chapuis wrote:
  On Fri, Jan 16, 2004 at 05:21:22PM +0100, Uwe Pross wrote:
   Hi there,
   
   On 16 Jan 2004 at 14:58:58 +0100, Olivier Chapuis wrote:
   
Use

fprintf(stderr,*** FVWM Bell: Abort function %s\n, action);
   
   I got:
   
   *** FVWM Bell: functions.c line 987 [MarkWindowAsActiveFunc] ***
   
   which comes from FvwmEvent. So I guess it is my fault :-\
  
  
  I do not think that it is your fault :o)
  
  If you use my version of FVWM you never get these beeps (and the
  function will be executed). But, for some reasons dominik does not
  want that your setup work.
 
 Would you *please* stop spreading these rumours?  I really don't
 understand why you have to provoke this argument again.

I do not understand your position on the subject!
Note that I am not alone. Simply re-read the last thread
on the subject.
 
  And it's
 useless too, since if we keep haggling over features that won't be
 implemented in 2.6 anyway, we will never get it done, and new
 features will never be written.  Instead of focusing on these
 discussions 


- which stop me from doing any fvwm work for one to
 two months every time - 

It seems the same happen to me ...

 how about doing some work towards the
 release together instead?
 

How can I work on FVWM as I *cannot* use the current cvs? Your are the
FVWM maintainer, one of the main developer (really I worked a lot on
the 2.5.x series) strongly think that we should do something about a
given subject. But you do not care and you reject any compromise. For
me there is a problem here.
 
Regards, 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: Beep when opening menus

2004-01-16 Thread Olivier Chapuis
On Fri, Jan 16, 2004 at 10:50:08AM +0100, Uwe Pross wrote:
 Hi there,
 
 A couple of weeks  ago  I  reported  an  nerving  beep  when
 opening  FvwmWindowList  or  menus  of some programs. In the
 last days I used FrameMaker which shows this behaviour quite
 often  when  a  submenu  is  opened and closed. I added some
 debug statement to 2.5.7 to see where the beep  comes  from.
 It says that the beep comes from functions.c [987]: 
 
   /* we have to grab buttons before executing immediate actions because
* these actions can move the window away from the pointer so that a
* button release would go to the application below. */
   if (!GrabEm(CRS_NONE, GRAB_NORMAL))
   {
   func-use_depth--;
   fprintf(stderr,*** FVWM Bell: %s line %d ***\n, __FILE__, 
 __LINE__);
   cf_cleanup(depth, arguments);
   return;
   }
 

Use

fprintf(stderr,*** FVWM Bell: Abort function %s\n, action);

in the place of

fprintf(stderr,*** FVWM Bell: %s line %d ***\n, __FILE__, __LINE__);

the you will know which function cause the beep (maybe a scheduled
function?).

Regards, 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: FVWM: Re: Mozilla/Firebird FullScreen issues

2004-01-05 Thread Olivier Chapuis
On Mon, Jan 05, 2004 at 12:24:38PM +0530, Kingsly John wrote:
 +++ Olivier Chapuis [2004-01-04 20:47:08]:
 
  Hello,
  
  First some clarifications. 2.5.8 support the ewmh way to go full screen
  (_NET_WM_STATE_FULLSCREEN) and 2.5.7 does not. I can reproduce the
  mozilla disappearing problem with 2.5.7, I cannot with 2.5.8.
  
  One point is that an application (here mozilla) can use different
  method to go full screen regardless the fact the wm support or not the
  _NET_WM_STATE_FULLSCREEN state. If you switch from 2.5.7 to 2.5.8 with
  a restart, mozilla can think that 2.5.8 does not support the
  _NET_WM_STATE_FULLSCREEN state.
 
 This is what I was doing until now... I now added fvwm2 to the last line of
 my .xinitrc and exited fvwm... and a new instance started up.
 
 Now Mozilla/Firebird disappear more frequently than before... and even when
 they do go full screen they still have the border and titlebar. 


Does someone else that is sure to run 2.5.8 and mozilla 1.4 or
a recent Firebird can reproduce this? 
 
  About layer. It will be good to have fullscreenLayer style, we have
  not. But you should try:
  
  Style * EWMHUseStackingOrderHints
  
  which puts (ewmh) full screen window at the default top layer.
 
 This helped fix the problems of gkrellm staying on top of other full screened
 applications.
 [ie., tvtime now runs on Layer 4 in windowed mode, and Layer 6 in full 
 screen.]
 
 But is it really necessary to add that line because everything was working
 fine on 2.5.7 even without that extra line. Since this is expected behavior
 wouldn't it be better if it was turned on by default ?(ie., not having to
 turn it on in the config.


It does not work fine with 2.5.7. For example, with gnome-terminal 2
and others gnome2 apps full screen does not work at all. Also, mozilla
some time disappeared :o/

I do not know what is the expected behavior about layer of
fullscreen window. I do not think that there is an expected behavior
at all about layer of windows regarding theirs type. This depends on
the apps and of your general setup. Here, everything is configured so
that every windows has layer 4. For example, when I use mozilla in
fullscreen mode I may want to take a look to my download manager or to
gkrellm. As everything as layer 4 I just have to raise/lower.  There
is also an interesting complaint from a gimp developer and gimp
fullscreen with some wm which use the expected behavior (moreover as
it is the/a non configurable wm you cannot fix the problem).

I am sure that you can configure fvwm to use layer and get a
functional desktop. Typically, one want to have certain app as the
TaskBar or gkrellm on top. This is fine for me.  However, I do not use
layers because I think that there is a more powerful method which is
conditional auto-raise:

DestroyModuleConfig FvwmEvent-AutoRaise: *
*FvwmEvent-AutoRaise: PassId
*FvwmEvent-AutoRaise: enter_window FuncFvwmEnterWindow
*FvwmEvent-AutoRaise: leave_window FuncFvwmLeaveWindow

DestroyFunc FuncFvwmEnterWindow
AddToFunc   FuncFvwmEnterWindow
+ I WindowId $0 (gkrellm) Raise
+ I WindowId $0 (FvwmTaskBar) Raise
+ I WindowId $0 (FvwmPager*) Raise
# ...etc

DestroyFunc FuncFvwmSpecialRaise
AddToFunc   FuncFvwmSpecialRaise
+ I All (gkrellm) Raise
+ I All (FvwmTaskBar) Raise
+ I All (FvwmPager*) Raise
# ...etc

# a key binding for FuncFvwmSpecialRaise

DestroyFunc FuncFvwmLeaveWindow
AddToFunc   FuncFvwmLeaveWindow
# one may want to auto lower certain app (or cancel scheduled
# cmd)

This is just the idea, one may use the schedule cmd to get a delay.

When you have no layer you have your full desktop to work with normal
applications. With conditional autoraise some special apps are easy to
access/view.

This is just the way *I* work with my computer. Again, one can prefer
layers. The good point is that I hope fvwm can be configured to fit
the needs of most users. Also, I think that using a non configurable
wm has some advantage for some users.

Regards, 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: Mozilla/Firebird FullScreen issues

2004-01-04 Thread Olivier Chapuis
Hello,

First some clarifications. 2.5.8 support the ewmh way to go full screen
(_NET_WM_STATE_FULLSCREEN) and 2.5.7 does not. I can reproduce the
mozilla disappearing problem with 2.5.7, I cannot with 2.5.8.

One point is that an application (here mozilla) can use different
method to go full screen regardless the fact the wm support or not the
_NET_WM_STATE_FULLSCREEN state. If you switch from 2.5.7 to 2.5.8 with
a restart, mozilla can think that 2.5.8 does not support the
_NET_WM_STATE_FULLSCREEN state.

About layer. It will be good to have fullscreenLayer style, we have
not. But you should try:

Style * EWMHUseStackingOrderHints

which puts (ewmh) full screen window at the default top layer.

On Sun, Jan 04, 2004 at 09:05:42PM +0530, Kingsly John wrote:
 +++ Mikhael Goikhman [2004-01-04 13:34:36]:
 
   
   Try hitting F11 multiple times... I have been unable to go past 6-7 hits 
   on
   Mozilla 1.4!
  
  Pressed F11 100 times in Mozilla 1.4, it does not disappear.
  
  Just a bad repositioning/jump to +0+0 on un-fullscreen.
 
 I notice that too (the titlebar gets placed outside the screen).
 

Yes, when I test this my conclusion was that this is a mozilla bug
(mozilla ask this, maybe there is a style workaround).

   This is what fullscreen looks like on my machine...
   
   http://kingsly.net/mozfull.png - 238KB
  

For me this is 2.5.7?

  Then we use either different fvwm or mozilla versions.
  
  Do you see empty output or a line with _NET_WM_STATE_FULLSCREEN when you
  run the following in xterm:
  
xprop | grep _NET_WM_STATE
  
  and select a full-screen mozilla?
 
 There is no output on both Mozilla and Firebird.
 

Again, for me this is 2.5.7.
 
   (and I just noticed that gkrellm remains on top of Mozilla too! ref. other
   thread.)
  
  It seems that currently a window in FULLSCREEN state is simply raised, I
  think it may be placed into layer 10 too, or this may be configurable.
 
 This functionality has changed between 2.5.7 and 2.5.8 .. in 2.5.7 both
 mozilla and tvtime go fullscreen and on top... but in 2.5.8 gkrellm stays on
 top of both the apps.


See the intro of this mail.

Regards, 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: Colorset usability issues

2003-10-12 Thread Olivier Chapuis
On Sun, Oct 12, 2003 at 03:36:51PM +0300, Mikhael Goikhman wrote:
 I suggest these colorset usability things:
 
 1) New colorset option Clear or NoEffects depending on what it does
 that removes all effects from a colorset, it may be aproximately
 equivalent to:
 
   Colorset N NoDither, \ # not sure about this one
 Tint, fgTint, bgTint, Alpha, fgAlpha, IconTint, IconAlpha, \
 Plain, NoShape, fg, bg   # not sure about these 4
 
 This is intended to be used in dynamical configurations as in:
 
   Colorset N Clear, fg .., bg .., VGradient ..  # set completely new colors
 
 I.e. it either resets all effects leaving only fg/bg/image/gradient or
 resets everything. Both are ok for me. Probably reseting everything is
 preferred. In this case Clear may work like CleanupColorsets just on a
 single colorset.
 
 2) It seems to me that whenever I do Tint color percent I always want
 to do bgTint color percent too, otherwise the sh/hi colors look
 incorrectly. So I think, Tint should also set bgTint. If someone
 really wants the current behaviour (doubtly), he may always reset
 bgTint, i.e. Tint cyan 20, bgTint. For most of cases bgTint will be
 redundant with this proposal.


What about using fvwm functions

AddToFunc SetClearColorset
+ I Colorset $0 ... clearing ...
+ I Colorset $*
 
AddToFunc SetColorsetTint
+ I Colorset $0 Tint $1, bgTint $1

The colorset code is delicate. As we are in feature freeze I am not
very motivated to change some code which seems bug free (for some
minor feature).
 
 3) It seems to me that whenever I do Transparent or RootTransparent
 I always want to do bg average after that. I remember the last time we
 discussed this it was rejected, since it takes time to evaluate average.
 However most of users will need to do it anyway, just explicitely.
 I think bg average should be implicetely set after every background
 image/gradient/transparent change.
 
 I think this may be solved nicely in this way. Initially or after Clear
 or after bg average, bg is set to be average-ed on every background
 change, hovewer after explicit bg setting, the auto-averaging is off.
 

I disagree. bg average can be very slow and can use a lot of
(dynamical) memory. It can also reduce fvwm usability under certain
situation, e.g., FvwmBacker big bgs = 2 secs or more for switching
between desks (colorset FvwmBacker bg can solve this but you should
have all your bg in memory ...). I think that it is better that the
user set bg average itself (there is a warning in the man page, he
takes his responsibility).

By the way, I think we should fix this problem: when the bg is big
the average bg colour can be computed on a random subset of points
of the bg.

Regards, 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: Status of logo voting?

2003-09-30 Thread Olivier Chapuis
On Mon, Sep 29, 2003 at 12:59:05PM +0200, Uwe Pross wrote:
 Hi there,
 
 On 29 Sep 2003 at 10:22:19 +0200, Dominik Vogt wrote:
 
  I think we need to start the voting process soon before
  the logo artits get angry :-)
 
 I got hardly feedback for the actual voting page. You
 reported one problem I could not reproduce. Using the actual
 voting page voting should be possible. Could you please
 check if you can vote with the actual page?
 
 I don't think we should state any voting results during the
 voting time.
 

I tried it, it seems to work fine.

Regards, 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: Notification: incoming/1076

2003-09-11 Thread Olivier Chapuis
On Wed, Sep 10, 2003 at 11:08:25AM -0500, [EMAIL PROTECTED] wrote:
 FVWM Bug Tracking notification
 
 new message incoming/1076
 
 Message summary for PR#1076
   From: [EMAIL PROTECTED]
   Subject: Mouse strokes
   Date: Wed, 10 Sep 2003 11:08:24 -0500
   0 replies   0 followups
 
  ORIGINAL MESSAGE FOLLOWS 
 Subject: Mouse strokes
 
 Full_Name: Kornel Szabo
 Version: 2.5.7
 CVS_Date: 
 OS: Gentoo Linux 2.4.22
 X_Server: 4.3.1
 Submission from: (NULL) (132.231.54.1)
 
 
 Ok, here's the problem:
 I typed FvwmCommand 'Module FvwmConsole' in a terminal. After that i
 tried to configure some mouse strokes to see, if it works and this is
 what i got:
 [FVWM][__execute_function]: ERROR No such command 'Stroke'
 
 When i try to configure it in the configfile, the strokes won't work.
 bye


Maybe your fvwm is compiled without stroke support?
Try:

[EMAIL PROTECTED] fvwm]$ fvwm --version
fvwm 2.5.8 (from cvs) compiled on Sep  2 2003 at 10:36:16
with support for: ReadLine, Stroke, XPM, PNG, Shape, XShm, SM, Bidi text, 
Xinerama, XRender, XFT, NLS

Does Stroke appear?

Regards, 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: Using Unicode's Private Use Are for additional presentation forms

2003-09-10 Thread Olivier Chapuis
On Sun, Sep 07, 2003 at 09:23:12PM +0200, Marcus Lundblad wrote:
 I was looking through some documentation on the web.
 The program Mutt has assigned some part of the private use area for
 contextual presentation forms and ligatures not present in
 normal Unicode.
 For example U+E600 to U+E6FF contains Arabic presentation forms not
 defined in the Unicode standard (as compatibility characters).
 This is mostly (as far as I can see) for charaters used in languages
 normally written in other scripts (Khazak,Uzbek etc.) and unusual forms.
 This range could easily be supported in FVWM by exending some lookup
 tables.
 I would also like to add support for Indic scripts (Mutt has defined some
 ligature ranges for those scripts also), but this will require some more
 research.
 
 So, what do you think, is it a good or bad idea to add the U+E600 range?
 This assumes the user has a font with the correct characters in this range
 (such as Mutt's clearlyu). Maybe this is an acceptable assumption (after
 all these Arabic characters is probably quite rare).


I do not know. I will prefer that fvwm respects the standard and it
seems strange to me to add support for one font (there is a lot of ttf
fonts which cover various part of the unicode).

Not also that we are in feature freeze. I will be very happy to see a
test/purify/text_rendering.fvwmrc. Say a big menu which may look like
(very informal): 

CopyMenuStyle * fooxyz
MenuStyle fooxyz Font a_fooxyz_font
...

AddToMenu TestTextRendering Test Text Rendering Title
+ Test Arabic font:foo, enc:xyz  Popup ArabicTestfooxyz
...

AddToMenu ArabicTestfooxyz ArabicTestfooxyz Title
+ some more or less random string
+ some more or less random string
+ ...

CopyMenuStyle * fooxyz
ChangeMenuStyle fooxyz ArabicTestfooxyz
...

Of course some part of this big menu may works only with
the good locale (and this may appear on the label of the menus).


Finally, I've noted the following problem with hot key:

My locale is fr_FR and I want to display a menu with UTF-8
labels: I used

CopyMenuStyle * xdg
MenuStyle xdg Font StringEncoding=UTF-8:xft:piselsize=10
MenuStyle xdg AutomaticHotkeys

AddToMenu test Test Title
+ Ãconomiseur d'écran Exec xscreensaver-demo --crapplet

ChangeMenuStyle xdg test

So the label in iso-8859-15 is Économiseur d'écran.
The Hot-key underline is too big: it is under  Écon.

Regards, 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: [PATCH] fix missing font charsets

2003-08-31 Thread Olivier Chapuis
On Sat, Aug 30, 2003 at 11:07:13PM -0600, S. Anderson wrote:
 Hello everyone,
 
 While using a utf-8 locale I get this message in my ~/.xsession-errors:
 
 [FVWM][FlocaleGetFontSet]: 
 (-*-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-*-*,-*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*,-*-*-medium-r-normal-*-16-*-*-*-*-*-*-*-*)
  Missing font charsets:
 KSC5601.1987-0, GB2312.1980-0
 
 This patch will fix it:
 
 diff -urN fvwm.0/libs/defaults.h fvwm/libs/defaults.h
 --- fvwm.0/libs/defaults.h  2003-08-30 22:55:58.0 -0600
 +++ fvwm/libs/defaults.h2003-08-30 22:56:22.0 -0600
 @@ -125,7 +125,7 @@
  #define FLOCALE_MB_FALLBACK_FONT \
 -*-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-*-*, \
 -*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*, \
 -   -*-*-medium-r-normal-*-16-*-*-*-*-*-*-*-*
 +   -*-*-medium-r-normal-*-16-*-*-*-*-*-*-*
  /* rationale: -*-fixed-medium-r-semicondensed-*-13-* should gives fixed in
 most non multibyte charset (?).
 -*-fixed-medium-r-normal-*-14-* is ok for jsx
 
 Hopefully someone can apply this patch.
 

Applied, Thanks, 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: fvwm crash

2003-08-25 Thread Olivier Chapuis
On Mon, Aug 25, 2003 at 02:47:43AM +0200, Jochen Klenner wrote:
 Hello,
 
 noticed this with the recent CVS version. To reproduce, start fvwm with
 the attached config file, touch the taskbar with the mouse to shade it,
 iconify a window by clicking the only titlebar button. Fvwm freezes,
 using 100% CPU power (top shows 1/3 going to fvwm, 2/3 to the X server).
 The only way out is stopping X via ctrl-meta-backspace.
 This crash occurs since a few days (can't reconstruct the exact date).
 

Fixed (I hope) in current cvs. Can you try it?

This is not directly related but when animation occur when the TaskBar
is shaded and an animation occur the TaskBar is unshaded and reshaded.
This may break your config (Style FvwmTaskBar TitleAtBottom should fix
it). However, I will change this TaskBar behavior soon (by animate
on the shaded frame).

Thanks, 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: CVS olicha: * Fixed _NET_WM_STATE_FULLSCREEN: set correctly _NET_WM_STATE

2003-08-15 Thread Olivier Chapuis
On Thu, Aug 14, 2003 at 02:25:43PM +0200, Dominik Vogt wrote:
 On Thu, Aug 14, 2003 at 01:17:29PM +0200, Olivier Chapuis wrote:
  On Thu, Aug 14, 2003 at 03:48:20AM -0500, FVWM CVS wrote:
   snip
   * Removed the decor for EWMH fullscreen windows,
 
   forbid shading
 
 Why?


If you shade a window without decoration, then you have a 1 pixel
line. This is problematic, but why not. Now in the case of a
fullscreen window the 1 pixel line is on the top of the monitor and
often the offscreen top part of the monitor is black, also there is
(maybe) the panframe. So it is extremely difficult to unshade the
window.  This may happen with some non fullscreen window, but here I
get a criterion (fullscreen). However, if you think that we should
allow shading this is really not a problem for me. 

Regards, 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: Problems with the new detection of IOCCC/Traditional move method

2003-08-10 Thread Olivier Chapuis
On Sat, Aug 09, 2003 at 11:28:43PM +0300, Mikhael Goikhman wrote:
 Here I demonstrate some bad problems with the current move/placement
 methods. I use TiledCascadePlacement, but this should not matter here.
 I know that xv was always problematic, but I see this with some other
 programs too. (And there were good workarounds for xv previously.)
 
 1) Run:
 
   xv -geo 1500x1500 pictures/fvwm-logo-steelblue.gif
 
 Part of the image is out of the screen, because the title is fully
 visible, previously the image was fully visible and the title was
 out of the screen. Additionally, click right mouse and double click
 the file name, the window walks to the right (can't go down here).
 
 Press n several times to see it walking right-down.
 

Note first that I have not xv on my machine (xv has disappeared from
some distributions as Redhat and Mandrake). You should try:

  Style match_xv MoveByProgramMethod IgnoreGravity
or
  Style match_xv MoveByProgramMethod UseGravity

However, maybe the ICCCM/Traditional move method can be improved: Do
not make any conclusion for window which are larger than the screen.
 
 [snip]
 
 4) Run display from ImageMagick:
 
   display
 
 Then press right mouse and choose Image Info, this window is placed
 partially out of the screen.


It does not seems that this is related to the new ICCCM/Traditional
move stuff. For me this depends on the position of the main display
window (if it is at top left then the transient image info pop up on
my screen).  I think it is a Transient Windows placement problem (or
miss-feature).

Regards, 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: Gnome 2 and FVWM

2003-08-07 Thread Olivier Chapuis
On Mon, Jul 14, 2003 at 06:53:33PM -0400, Paul Smith wrote:
 
 snip
 
 If we could get this working it would be nice to have an entry for Gnome
 2 in the FAQ, because the current info there for Gnome is all Gnome 1.x
 based (there is no Window Manager option under the control panel
 etc. anymore, that I can find...)
 

Done: Q/A 2.8, maybe someone can proof read this new entries.

Regards, 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: Session management and Swallowed apps

2003-08-06 Thread Olivier Chapuis
On Thu, Jul 31, 2003 at 10:05:47AM +0300, Mikhael Goikhman wrote:
 On 30 Jul 2003 15:11:27 +0200, Olivier Chapuis wrote:
  
  In fact there is a solution. From the XSMP spec:
  
Some clients may wish to manage  the  programs  they  start.
For  example,  a  mail program could start a text editor for
editing the text of a mail message.  A client that does this
is a session manager itself; it should supply the clients it
starts with the appropriate  connection  information  (i.e.,
the  SESSION_MANAGER  environment variable) that specifies a
connection to itself instead of to  the  top  level  session
manager. [end of section 3]
  
  So, the solution is to make FvwmButtons (and FvwmScript which may
  swallow some applications too) a simple session manager.
  
  I've writing down in libs/ a fsm library which allows FvwmButtons
  to be a simple _dummy_ session manager. When a XSMP award application
  is started by FvwmButtons it contact FvwmButtons and not the top level
  session manager and so this application is not restarted by the
  session manager (we may even improve window swallowing by using sm,
  but this is for the future).
  
  Unfortunately, there is two problems (with solutions I hope).
  Any advice/comments is welcome.
  
  - As a session manager FvwmButtons should start applications with its
  own SESSION_MANGER env variable (network address). As it is fvwm which
  execute the swallow action a workaround should be found. What I do:
  FvwmButtons defines a function:
   
  DestroyFunc xxxFvwmButtonsExecuteSwallowActionXYZ
  AddToFunc   xxxFvwmButtonsExecuteSwallowActionXYZ
  + I SetEnv SESSION_MANAGER FvwmButtons_SESSION_MANAGER
  + I $.
  + I SetEnv SESSION_MANAGER SESSION_MANAGER_orig
  
  where SESSION_MANAGER_orig is the value of $SESSION_MANAGER for
  fvwm (FvwmButtons has it because it is the value of $SESSION_MANAGER
  at FvwmButtons startup before its become a session manager).
  Then, a swallow button action is executed by sending to fvwm:
  
  xxxFvwmButtonsExecuteFunctionxxx action
  
  Can this cause problem? Should we have only one such function in
  the default fvwm config (for Buttons, Script and any module which
  can swallow window)?
 
 I don't think the global function is the way to go. We have commands for
 this. So you mat add a command RunWithSM sm-value fvwm-command 

Yes why not, but I do not like to much to add (and write) an internal
only cmd that can be easily simulated by a complex function (why we
have complex function?).  So, I think that first I will use a complex
function in ConfigFvwmDefdault.  I you want and there are no objection
you may add a RunWithSM cmd. 

 or a more generic:
 
   RunEnv [var=value ...] fvwm-command
 
 that works like /usr/bin/env; sets variables, runs the supplied command
 as is (without expansion) and restores modified variables.
 

Outch, I do not want to write the necessary parsing ...

Regards, 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: Notification: incoming/1000 (KDE Kicker system tray)

2003-08-06 Thread Olivier Chapuis
On Thu, Mar 20, 2003 at 07:15:51AM -0600, [EMAIL PROTECTED] wrote:
 FVWM Bug Tracking notification
 
 new message incoming/1000
 
 Message summary for PR#1000
   From: [EMAIL PROTECTED]
   Subject: KDE Kicker system tray
   Date: Thu, 20 Mar 2003 07:15:50 -0600
   0 replies   0 followups
 
 Date: Thu, 20 Mar 2003 07:15:50 -0600
 
 Full_Name: Robby Pählig
 Version: 2.5.6
 CVS_Date: 
 OS: Linux 2.4.19
 X_Server: XFree86 4.3
 Submission from: (NULL) (212.202.167.112)
 
 
 fvwm doesn't handle the KDE Kicker system tray properly. Often the icons
 are misplaced. The KAlarm system tray icon doesn't show up at all. If I
 kill fvwm and start the native KDE window manager, the Kicker tray works
 properly.
 
 

Fixed in current cvs. You may try the next snapshot.

Regards, 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]


Session management and Swallowed apps

2003-07-30 Thread Olivier Chapuis
Hello,

Note first that this subject has been already discussed in the pass
(Subject: session management problems, Date ~ 2001-03-15; fvwm
running under a session manager):

 * There is an old known problem with swallowed windows, they multiply
 on every start (started by e.g., FvwmButtons and the session manager.
 The solution is not to use swallowing button bars,
 or, maybe, to use session aware programs (xload and xclock are not)
 and mark them Restart never if possible.
 
 Teoretically using Swallow(UseOld,NoClose) should help, but it does not
 (probably because FvwmButtons starts before old xload/xclock).
 It even produces walking windows before reswalowing on restart,
 see other entries. They appear for 5 seconds and then are swallowed.
 
 I thought about a new Swallow(AllowOnlyOne) option especially for SM,
 which kills all application instances except for one.

No solution was found and this bug was postponned.

In fact there is a solution. From the XSMP spec:

  Some clients may wish to manage  the  programs  they  start.
  For  example,  a  mail program could start a text editor for
  editing the text of a mail message.  A client that does this
  is a session manager itself; it should supply the clients it
  starts with the appropriate  connection  information  (i.e.,
  the  SESSION_MANAGER  environment variable) that specifies a
  connection to itself instead of to  the  top  level  session
  manager. [end of section 3]

So, the solution is to make FvwmButtons (and FvwmScript which may
swallow some applications too) a simple session manager.

I've writing down in libs/ a fsm library which allows FvwmButtons
to be a simple _dummy_ session manager. When a XSMP award application
is started by FvwmButtons it contact FvwmButtons and not the top level
session manager and so this application is not restarted by the
session manager (we may even improve window swallowing by using sm,
but this is for the future).

Unfortunately, there is two problems (with solutions I hope).
Any advice/comments is welcome.

- As a session manager FvwmButtons should start applications with its
own SESSION_MANGER env variable (network address). As it is fvwm which
execute the swallow action a workaround should be found. What I do:
FvwmButtons defines a function:
 
DestroyFunc xxxFvwmButtonsExecuteSwallowActionXYZ
AddToFunc   xxxFvwmButtonsExecuteSwallowActionXYZ
+ I SetEnv SESSION_MANAGER FvwmButtons_SESSION_MANAGER
+ I $.
+ I SetEnv SESSION_MANAGER SESSION_MANAGER_orig

where SESSION_MANAGER_orig is the value of $SESSION_MANAGER for
fvwm (FvwmButtons has it because it is the value of $SESSION_MANAGER
at FvwmButtons startup before its become a session manager).
Then, a swallow button action is executed by sending to fvwm:

xxxFvwmButtonsExecuteFunctionxxx action

Can this cause problem? Should we have only one such function in
the default fvwm config (for Buttons, Script and any module which
can swallow window)?
 
- smproxy and gnome-smproxy (a modified version of smproxy) break the
XSMP protocol: they always contact the session manager which start it
(most often the top level session manager).  When a top level window
is mapped the a proxies should compute the value of the
SESSION_MANAGER ev on the application which maps the window and should
either ignore this window if this value is not equal to the proxy
SESSION_MANAGER ev (a one sm proxy only) or should contact the session
manager identified by $SESSION_MANAGER.  smproxy and gnome-smproxy
do not do that and this is *not* impossible to do.

So with the current version of smproxy and gnome-smproxy applications
which use the old session management protocol (e.g., xload but not
xclock) are started by the session manager and FvwmButtons.

One obvious solution is to do not run a sm proxy ... however I will try
to convince XFree and GNOME developers to fix their sm proxies (yes
I know I am optimist ...):

  A session manager (master or not) can set on a leader window
  (which use the old session manager protocol) a property
  SESSION_MANAGER(STRING) to the value of its network address
  (i.e., the value of its SESSION_MANAGER environment variable).
  A sm proxy should use this property to contact the correct session
  manager or to ignore this window if it works for only one sm
  (e.g., the master one) and the value of this property is not the
  network address of its session manager.
  The proxy should monitor the SESSION_MANAGER property and update
  its connection(s) accordingly (typically a window will map without
  the SESSION_MANAGER property set, if SM_CLIENT_ID is not set a
  concerned sm can then set the SESSION_MANAGER property).
  [We can do a more safe stuff: add a SESSION_MANGER_CHECK_WINDOW(Window)
  property that should be also set by the sm on the top level window
  and gives the id of a window which belong to the sm and have the
  property SESSION_MANGER_CHECK(STRING) set to the value of the
  SESSION_MANAGER property. This can be used by a sm to answer the
 

Session and display

2003-07-22 Thread Olivier Chapuis
Hello,

Current bug: Start a session manager on display 1 with fvwm and save
your session. The restart commands will look like:

fvwm -d :0.0 -s -clientId clien_id0 -restore restore_file0

(with two screens an other fvwm is restarted:

fvwm -d :0.1 -s -clientId clien_id1 -restore restore_file1)

Then later you start X on display 1 with the session manager, fvwm
will not start at all (if there is no X running on display 0 or if a
window manager run on display 0.*) or fvwm starts on the screen(s) 0.*
(if there is an X connection on display 0 and no window manager
running on screen 0.*).  So, we get a session with no window manager
on display 1.

Solution: Add an argument to -s which gives the screen on which fvwm
should run (the display will be found either with $DISPLAY or the arg
of the -d option or with a dummy XOpenDisplay). The Restart command
will look like:

  fvwm -s screen_number -clientId clien_id -restore restore_file

and will restart fvwm on the display good_display.screen_number.

Do I miss something? Any comments?

Regards, 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: Gnome 2 and FVWM

2003-07-21 Thread Olivier Chapuis
On Sat, Jul 19, 2003 at 08:01:12AM -0400, Paul Smith wrote:
 %% Olivier Chapuis [EMAIL PROTECTED] writes:
 
   oc Ok, I've found the problem: the gnome-session editor wants
   oc the SmCloneCommand. I will commit a fix soon.
 
 Excellent; thanks Olivier.


Current cvs contains the fix.

Regards, 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: Gnome 2 and FVWM

2003-07-19 Thread Olivier Chapuis
On Thu, Jul 17, 2003 at 10:40:50PM +0200, Olivier Chapuis wrote:
 On Wed, Jul 16, 2003 at 04:29:26PM -0400, Paul Smith wrote:
  All the rest of my problems seem solved, except this one: anyone have
  any idea whether the Gnome 2.2 session manager is sufficiently different
  that it doesn't grok FVWM?
 
 
 I work hard on this today but do not found the trick :o/ I guess that
 the problem is a _simple_ thing that fvwm do not do or do.


Ok, I've found the problem: the gnome-session editor wants
the SmCloneCommand. I will commit a fix soon.

Regards, 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: FVWM: GNOME2/fvwm integration

2003-07-17 Thread Olivier Chapuis
On Thu, Jul 17, 2003 at 12:47:28AM +0300, Mikhael Goikhman wrote:
 On 16 Jul 2003 21:53:37 +0200, Olivier Chapuis wrote:
  
  On Wed, Jul 16, 2003 at 09:21:06PM +0200, Olivier Chapuis wrote:
   On Wed, Jul 16, 2003 at 06:08:41PM +0200, Olivier Chapuis wrote:

The problem is simple: all gnome panels have the same name, icon name,
res name and class name! So when we restore the window state 
fvwm/session.c
is unable to make the distinction between all the gnome panels.

Any idea for a fix?
   
   The obvious idea after reading the SM spec (and the ICCCM2) is to use
   the SM_CLIENT_ID property (on a possible WM_CLIENT_LEADER window) But,
   at first view the gnome panels have no SM_CLIENT_ID set!!
 
 I did not notice these additional messages before writing my previous
 reply.
 
 I think this bug (gnome-panel does not support XSMP and does not set
 SM_CLIENT_ID) should be reported to gnome-panel developers.
 

see below.

   I think
   that sawfish, metacity, icewm and kwin simply ignore window without
   the SM_CLIENT_ID property set (on the client leader) regarding session
   management.
   
   I think we should add the SM_CLIENT_ID as the main identifier in
   the session code and either:
  
  Ok sorry it is already the case.
  
- do not reset session state for windows with an identifier
  (sm client id, name ...etc) with two matching identifiers in the
  session window list.
   or
- simply do not save/restore state for window without SM_CLIENT_ID.
 
 Old application do not support XSMP (I think xterm already supports
 XSMP, but probably rxvt does not).
 

my rxvt support XSMP.

 After name comparision there is a command line comparision. So if 2
 windows have the same command lines (say xterm -ls -g 80x40) it is
 really not important if we replace them, since they are just indentical.


Agree.
 
 I can't explain how 2 gnome-panel use the same command lines and open
 different panels (one at top and one at bottom). I guess one gnome-panel
 process opens 2 windows, at top and at bottom.
 
 I would really fix this in gnome-panel, because the current fix makes
 old applications (like 2 rxvt with the same parameters) to lose all
 fvwm properties/flags on the next session. This is only my understanding.


I do not think there is a gnome-panel bug here: SM_CLIENT_ID and
WM_COMMAND are not set on the managed gnome-panel windows (no leader too).
I think that gnome-panel developer does not want that the gnome-panel state
be restored by the window manager. By the way there is an unmanaged
gnome-panel window with SM_CLIENT_ID set.

I think that the correct fix is that session.c totally ignore windows
which do not set SM_CLIENT_ID neither WM_COMMAND. There is no way
for a session manager to start such application at session startup.

Other problems I see with the session code:

- Some session manager now only consider window with XSMP support.
  So an app which use WM_COMMAND will not be started by the session
  manager. So maybe the user will start the app after session startup
  and can be troubled by the fact that fvwm restore the windows app
  state.
  Solution? Detect the session manager and support only XSMP app if this
  session manager support only XSMP app.

- Some app with XSMP support may use the RestartNever style hint.
  The session manager will not start such app at session startup.
  If the user start this app later, again fvwm will restore the state.
  Solution? Can we query the restart style hint or only the session
  manager can do that?

The only general solution I see is a way for the session manager to
say to the wm which apps it will restart at session init.

Regards, 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: Gnome 2 and FVWM

2003-07-17 Thread Olivier Chapuis
On Wed, Jul 16, 2003 at 04:29:26PM -0400, Paul Smith wrote:
 All the rest of my problems seem solved, except this one: anyone have
 any idea whether the Gnome 2.2 session manager is sufficiently different
 that it doesn't grok FVWM?


I work hard on this today but do not found the trick :o/ I guess that
the problem is a _simple_ thing that fvwm do not do or do.

Regards, 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: Gnome 2 and FVWM

2003-07-16 Thread Olivier Chapuis
On Tue, Jul 15, 2003 at 10:33:42AM -0400, Paul Smith wrote:
 
 Another thing is that the fonts don't look so hot anymore: I'm using
 Microsoft's Arial TrueType font for window titles, menus, etc. and they
 used to look excellent, but now they look blocky and uneven.  They still
 look great in some parts of the desktop (stuff that's rebuilt
 specifically for Gnome 2?), but not others.  Anyone have any ideas?  I
 think it's because I'm using a different font server/rendering engine
 (freetype2?) but I don't know the details.


What are your exact fvwm configuration lines for loading font?  Do you
use Xft or core fonts rendering?

About FreeType2 lib, a compile time option (off by default for licence
reseon) can lead to a better font rendering.

Using a font server (as xfs) or not can also change fonts rendering
(for core fonts rendering).

Regards, 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: FVWM: GNOME2/fvwm integration

2003-07-16 Thread Olivier Chapuis
On Wed, Jul 16, 2003 at 06:08:41PM +0200, Olivier Chapuis wrote:
 On Sat, Jul 05, 2003 at 10:06:34AM -0400, Tessa Lau wrote:
  I'm installing Debian unstable and the latest GNOME2 desktop on a
  friend's system, and I'm trying to convince him to see the light and
  switch from sawfish to fvwm2.  However I'm running into a few bugs with
  the GNOME2 integration.  I'm using a freshly built fvwm 2.5.7.
  
  I switch to fvwm by killing sawfish and running fvwm2, then saving my
  session.  The first time after I log out and log back in with fvwm, the
  GNOME menu panel, which is always at the top of the screen, has been
  relocated to the bottom of the screen.  The bottom edge panel has been
  relocated to the top of the screen.  The menu panel cannot be moved.  If
  I move the bottom edge panel down to the bottom of the screen where it
  belongs, it gets hidden behind the menu panel, and is lost forever.
 
 
 It is a fvwm bug. I hope that we will be able to fix it soon.
 
 I switch to the fvwm-workers list.
 
 The problem is simple: all gnome panels have the same name, icon name,
 res name and class name! So when we restore the window state fvwm/session.c
 is unable to make the distinction between all the gnome panels.
 
 Any idea for a fix?


The obvious idea after reading the SM spec (and the ICCCM2) is to use
the SM_CLIENT_ID property (on a possible WM_CLIENT_LEADER window) But,
at first view the gnome panels have no SM_CLIENT_ID set!!  I think
that sawfish, metacity, icewm and kwin simply ignore window without
the SM_CLIENT_ID property set (on the client leader) regarding session
management.

I think we should add the SM_CLIENT_ID as the main identifier in
the session code and either:
 - do not reset session state for windows with an identifier
   (sm client id, name ...etc) with two matching identifiers in the
   session window list.
or
 - simply do not save/restore state for window without SM_CLIENT_ID.


Regards, 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: FVWM: GNOME2/fvwm integration

2003-07-16 Thread Olivier Chapuis
On Wed, Jul 16, 2003 at 09:21:06PM +0200, Olivier Chapuis wrote:
 On Wed, Jul 16, 2003 at 06:08:41PM +0200, Olivier Chapuis wrote:
  On Sat, Jul 05, 2003 at 10:06:34AM -0400, Tessa Lau wrote:
   I'm installing Debian unstable and the latest GNOME2 desktop on a
   friend's system, and I'm trying to convince him to see the light and
   switch from sawfish to fvwm2.  However I'm running into a few bugs with
   the GNOME2 integration.  I'm using a freshly built fvwm 2.5.7.
   
   I switch to fvwm by killing sawfish and running fvwm2, then saving my
   session.  The first time after I log out and log back in with fvwm, the
   GNOME menu panel, which is always at the top of the screen, has been
   relocated to the bottom of the screen.  The bottom edge panel has been
   relocated to the top of the screen.  The menu panel cannot be moved.  If
   I move the bottom edge panel down to the bottom of the screen where it
   belongs, it gets hidden behind the menu panel, and is lost forever.
  
  
  It is a fvwm bug. I hope that we will be able to fix it soon.
  
  I switch to the fvwm-workers list.
  
  The problem is simple: all gnome panels have the same name, icon name,
  res name and class name! So when we restore the window state fvwm/session.c
  is unable to make the distinction between all the gnome panels.
  
  Any idea for a fix?
 
 
 The obvious idea after reading the SM spec (and the ICCCM2) is to use
 the SM_CLIENT_ID property (on a possible WM_CLIENT_LEADER window) But,
 at first view the gnome panels have no SM_CLIENT_ID set!!  I think
 that sawfish, metacity, icewm and kwin simply ignore window without
 the SM_CLIENT_ID property set (on the client leader) regarding session
 management.
 
 I think we should add the SM_CLIENT_ID as the main identifier in
 the session code and either:

Ok sorry it is already the case.

  - do not reset session state for windows with an identifier
(sm client id, name ...etc) with two matching identifiers in the
session window list.
 or
  - simply do not save/restore state for window without SM_CLIENT_ID.


Regards, 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: FVWM: GNOME2/fvwm integration

2003-07-16 Thread Olivier Chapuis
On Sat, Jul 05, 2003 at 10:06:34AM -0400, Tessa Lau wrote:
 I'm installing Debian unstable and the latest GNOME2 desktop on a
 friend's system, and I'm trying to convince him to see the light and
 switch from sawfish to fvwm2.  However I'm running into a few bugs with
 the GNOME2 integration.  I'm using a freshly built fvwm 2.5.7.
 
 I switch to fvwm by killing sawfish and running fvwm2, then saving my
 session.  The first time after I log out and log back in with fvwm, the
 GNOME menu panel, which is always at the top of the screen, has been
 relocated to the bottom of the screen.  The bottom edge panel has been
 relocated to the top of the screen.  The menu panel cannot be moved.  If
 I move the bottom edge panel down to the bottom of the screen where it
 belongs, it gets hidden behind the menu panel, and is lost forever.


It is a fvwm bug. I hope that we will be able to fix it soon.

I switch to the fvwm-workers list.

The problem is simple: all gnome panels have the same name, icon name,
res name and class name! So when we restore the window state fvwm/session.c
is unable to make the distinction between all the gnome panels.

Any idea for a fix?

Regards, 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: Move/Resize ConfigureRequest

2003-07-09 Thread Olivier Chapuis
On Tue, Jul 08, 2003 at 08:55:37AM +0200, Dominik Vogt wrote:
 On Tue, Jul 08, 2003 at 08:12:18AM +0200, Olivier Chapuis wrote:
  On Mon, Jul 07, 2003 at 09:37:54AM +0200, Dominik Vogt wrote:
   On Mon, Jul 07, 2003 at 09:09:42AM +0200, Olivier Chapuis wrote:
On Sun, Jul 06, 2003 at 02:12:54PM +0200, [EMAIL PROTECTED] wrote:
 On Sun, Jul 06, 2003 at 07:24:33AM +0200, Olivier Chapuis wrote:
  On Sat, Jul 05, 2003 at 10:15:25PM +0200, [EMAIL PROTECTED] wrote:
   
It seems to work as mozilla set it and the good algo is choosen.
(All KDE = 2 and GNOME2 apps set this prop).

  By the way, should we implement _NET_WM_STATE_FULLSCREEN?
 
 Yes.  I'd like to do it myself to gather some experience with the
 ewmh code.
 

It seems that this start to work. But what about a FullScreen command
which removes the decoration, MoveResize the window to the size
of the screen and possibly put the window in a given layer:

FullScreen [bool] [StayOnTop|layer x y] [size_hint_override]

then we define defaults fvwm func:

AddToFunc EWMHFullScreenOn I FullScreen On
AddToFunc EWMHFullScreenOff I FullScreen Off

which are called when needed by the ewmh code. 
   
   I'd prefer doing this via a function.  We have way too many move/
   resize/maximize functions already.  The new ewmh code calls the
   ResizeMoveMaximize command.
  
  
  Yes. But I do not see how to restore the initial window state
  without a designed command (or an new Maximize flags) for fullscreen:
  
  AddToFunc EWMHFullScreenOn
  + I WindowStyle !Borders, !Title
  + I WindowStyle StaysOnTop
  + I Maximize ewmhiwa 100 100
  
  AddToFunc EWMHFullScreenOff
  + I WindowStyle Borders, Title
  + I WindowStyle StaysPut
  + I Maximize off
  
  works well only on decorated stays put window. 
 
 A more detailed reply.  I should have read more carefully.
 
  1) I think fiddling with the window's decorations and layer is a
 bad idea.  If the application wants the window on a specific
 layer it can use the layer protocol.


From the ewmh spec:

_NET_WM_STATE_FULLSCREEN indicate that the window should fill the entire
screen and have no window decoration.

Also there are stacking order recommendation in the ewmh spec. At present
time fvwm respect this recommendation only if the EWMHUseStackingOrderHints
style is used (off by default). The recommendation is:

- window with _NET_WM_STATE_BELOW
- normal window
- panel/dock apps (_NET_WM_TYPE_DOCK) without  _NET_WM_STATE_BELOW
- FULLSCREEN window with the _focus_

Regarding this there is two types of user. Those who want its
panel (or main Buttons or TaskBar) on top and those who want
its panel put (like me and you dominik I think). The first type
of users will want fullscreen window on top, the others will want
fullscreen window put.
I do not want to consider the _focus_ condition (but this can be
implemented with WindowStyle + FvwmEvent and a FullScreen condition).
So a reasonable alternative is to use the same layer than the panel
for fullscreen window.

So my suggestion is to add a new fvwm command

--
FullScreen [flags] [bool]

Without its optional arguments (or if the bool bit has the value
toggle)  FullScreen causes the window to alternately switch  from
a  full-screen size without decoration to its normal size with its
normal decoration.  To force a window into full-screen (normal) state
you can use a True or  False  value for the bool argument.

The optional flags argument is a space separated list containing the
following key words: ewmh, layer x, ontop, decoration,
size_override. These options are useful only when the window switch to
full-screen and the possible effect caused by these options are
discarded when the window switch back to its normal size. layer x put
the fullscreen window into layer x, ontop put the fullscreen window
into the StaysOnTop layer, ewmh put the fullscreen window into the
StaysOnTop layer only if the window has the EWMHUseStackingOrderHints
style, decoration forces to do not remove the window decoration.  A
full-screen window may not be resized to the full size of the screen,
because a window may require some specific sizes.  The size_override
key word forces screen full size.
-- 

Of course as we are in feature freeze it is may be not reasonable
to add this command??

Then, we add default functions

EWMHFullScreenOn I FullScreen ewmh True

EWMHFullScreenOff I FullScreen False

that the user can redefine.

If we do not add such a command I think we should leave the code
at is now (decoration off screen!?) or we need to add new variables
as explained in 3) to be able to define EWMHFullScreen{On,Off}.

By the way, Dominik if I well understand your last mail in
the StyleById patch voting thread thread, the addition of the
WindowStyle command will not have grave consequence?

  3) And finally, I noticed that certain information about the
 window is not accessible from functions.  To allow

Re: Move/Resize ConfigureRequest

2003-07-08 Thread Olivier Chapuis
On Mon, Jul 07, 2003 at 09:37:54AM +0200, Dominik Vogt wrote:
 On Mon, Jul 07, 2003 at 09:09:42AM +0200, Olivier Chapuis wrote:
  On Sun, Jul 06, 2003 at 02:12:54PM +0200, [EMAIL PROTECTED] wrote:
   On Sun, Jul 06, 2003 at 07:24:33AM +0200, Olivier Chapuis wrote:
On Sat, Jul 05, 2003 at 10:15:25PM +0200, [EMAIL PROTECTED] wrote:
 
  It seems to work as mozilla set it and the good algo is choosen.
  (All KDE = 2 and GNOME2 apps set this prop).
  
By the way, should we implement _NET_WM_STATE_FULLSCREEN?
   
   Yes.  I'd like to do it myself to gather some experience with the
   ewmh code.
   
  
  It seems that this start to work. But what about a FullScreen command
  which removes the decoration, MoveResize the window to the size
  of the screen and possibly put the window in a given layer:
  
  FullScreen [bool] [StayOnTop|layer x y] [size_hint_override]
  
  then we define defaults fvwm func:
  
  AddToFunc EWMHFullScreenOn I FullScreen On
  AddToFunc EWMHFullScreenOff I FullScreen Off
  
  which are called when needed by the ewmh code. 
 
 I'd prefer doing this via a function.  We have way too many move/
 resize/maximize functions already.  The new ewmh code calls the
 ResizeMoveMaximize command.


Yes. But I do not see how to restore the initial window state
without a designed command (or an new Maximize flags) for fullscreen:

AddToFunc EWMHFullScreenOn
+ I WindowStyle !Borders, !Title
+ I WindowStyle StaysOnTop
+ I Maximize ewmhiwa 100 100

AddToFunc EWMHFullScreenOff
+ I WindowStyle Borders, Title
+ I WindowStyle StaysPut
+ I Maximize off

works well only on decorated stays put window. 

Regards, 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: Move/Resize ConfigureRequest

2003-07-07 Thread Olivier Chapuis
On Sun, Jul 06, 2003 at 02:12:54PM +0200, [EMAIL PROTECTED] wrote:
 On Sun, Jul 06, 2003 at 07:24:33AM +0200, Olivier Chapuis wrote:
  On Sat, Jul 05, 2003 at 10:15:25PM +0200, [EMAIL PROTECTED] wrote:
   I have mostly completed and applied the patch.  Still missing:
   
* The window styles (although the members of the window_style
  structure are already defined).
* Handling changes in update.c.
* Write man page.
  
  I can do that if you want ... as I have also write down a patch
  (partial) too!
 
 I'm already on the job - I'm getting nervous with a half finished
 patch in cvs :-)
 
* Check for _NET_WM_PID.
  
  Seems you do that.
 
 Actually, I have difficulties to understand the design of the
 ewmh_...c files.  I understand there are properties that are
 
  * set once on the root window at fvwm startup
  * set on the root window but updated regularly
  * set by fvwm on application windows (?)
  * set by once applications on their windows when mapped
  * set by apps on their window and updated later (?)
  * client messages from apps to fvwm
  * client messages from fvwm to client windows.
 
 Where is this all located in the code and how does it correspond
 to the nine atom lists in ewmh.c?

The logic in the lists splitting is a bit different. There are
comments which explain this logic where there are defined. Basically,
atoms in a given list are handled in the same way by the code. The
code is maybe a bit difficult to understand at first reading but it is
easy to add new EWMH stuff as a lot of things are done automatically:
_basically_ add an atom in a list with a function handler and you have
done.

Note that the signification of an atom can depends on how it is used.
For, example the atoms in the EWMH_ATOM_LIST_WM_STATE can be received
by fvwm as a client message (send by any application) to ask a state
change.  Secondly, the wm must set the _NET_WM_STATE on an application
window with the atoms of the EWMH_ATOM_LIST_WM_STATE accordingly with
the state of the window. Finally, a window can map with a
_NET_WM_STATE set on it to indicate a desired mapping state. It is
useful to have such a list for automatic handling of these 3
situations via the functions handler of the list. These functions
should handle 3 different situations:

- Client msg (ev != NULL  style == NULL)
- Initial Mapping with the state set (ev == NULL  style != NULL).
  Note the additional arg any (== has_hint) for recapture and
  restarting.
- Query of the state (ev == NULL  style == NULL) 

 What is the idea behind these
 lists and how are they handled.  E.g., are the atoms in the lists
 detected automatically?
 

Yes. For example to add a _NET_WM_STATE add it to the
EWMH_ATOM_LIST_WM_STATE list (in alphabetic order) and write down the
function handler (all the other stuff is done automatically: client
msg detection, initial mapping checking, state query for
_NET_WM_STATE, addition in the list of supported _NET stuff).

I will add more comment in ewmh code, but the list name and the
functions handler name can be used to know where a given EWMH property
is handled. 

* Test the patch.  I have only tried Mozilla yet.
  
  Make some test with Tk it is ok.
 
 I have written a small testing app and found a lot of bugs that
 are all fixed now.  Can you check with Tk, please?  If anything
 strange happens give instructions to reproduce and post the
 console output.
 

Ok.

 The seven detection methods are:
 
 
   - _NET_WM_PID (dould not find an application that sets it)
   - full screen detection (icccm)
   - full screen detection (traditional)
   - moving window adjacent to a border (icccm)
   - moving window adjacent to a border (traditional)
   - moving window by the border width/height (icccm) while it
 would stay in the same placew with the traditional method.
   - same for traditional
 
 I did not test the _NET_WM_PID detection yet.


It seems to work as mozilla set it and the good algo is choosen.
(All KDE = 2 and GNOME2 apps set this prop).

  By the way, should we implement _NET_WM_STATE_FULLSCREEN?
 
 Yes.  I'd like to do it myself to gather some experience with the
 ewmh code.
 

It seems that this start to work. But what about a FullScreen command
which removes the decoration, MoveResize the window to the size
of the screen and possibly put the window in a given layer:

FullScreen [bool] [StayOnTop|layer x y] [size_hint_override]

then we define defaults fvwm func:

AddToFunc EWMHFullScreenOn I FullScreen On
AddToFunc EWMHFullScreenOff I FullScreen Off

which are called when needed by the ewmh code. 

  Also you just wrote all the code for _NET_MOVERESIZE_WINDOW but
  the trivial stuff in fvwm/ewmh*
 
 Yes, I think so.  The logic in the __cr_get_grav_position()
 function should return the requested frame position.  It needs
 some work on the interface, though.
 

What about building a ConfigureRequest event and send it to the
events code with an override_gravity arg (which forces icccm
motion algo

Re: Move/Resize ConfigureRequest

2003-07-06 Thread Olivier Chapuis
On Sat, Jul 05, 2003 at 10:15:25PM +0200, [EMAIL PROTECTED] wrote:
 On Fri, Jul 04, 2003 at 07:21:58AM +0200, Olivier Chapuis wrote:
  On Thu, Jul 03, 2003 at 10:14:31AM +0200, Dominik Vogt wrote:
   On Thu, Jul 03, 2003 at 08:12:29AM +0200, Olivier Chapuis wrote:
  
However, I think we need a new style (as there is no standard
way to detect that an application respect the EWMH spec).
   
   Having a style is not wrong anyway.
   
Any opinions/comments/objections?
   
   For a detection algorithm:
   
 1) If the windows CR algorithm was set by a style or detected
before, use it.
   
 2) If a window resizes itself to the *exact* size of the
display and the requested position of the client window is
either +0+0 or +border_width+border_height, put it at +0+0
and make a decision about the algorithm it uses based on the
requested position.
  
  
  I am not sure to understand this one, can you be more precise?
   
 3) If a window resizes/positions itself so that interpreting its
position would shift it by exactly the width/height of the
left or top border, set the algorithm that would prevent this
shift (if possible).
   
 4) If a window places itself in a way that would place it
exaclty on the border of the display, choose the algorithm
that keeps the border on screen.
   
  
  I will add: if the window has _NET_WM_PID set use the ICCCM algo.
  
   So we should have three styles (I don't like the term legacy
   because it displays a certain arrogance of the wm-spec people
   against tradition):
   
 MoveByProgramAlgorithm [SmartTraditional|SmartICCCM|ICCCM|Traditional]
   
   with SmartTraditional being the default (i.e. use above
   algorithm and use Traditional by default).  However, the names
   of the styles are all bad (hard too understand).
  
  
  I think that we cannot found good names here.
 
 I have mostly completed and applied the patch.  Still missing:
 
  * The window styles (although the members of the window_style
structure are already defined).
  * Handling changes in update.c.
  * Write man page.

I can do that if you want ... as I have also write down a patch
(partial) too!

  * Check for _NET_WM_PID.

Seems you do that.

  * Test the patch.  I have only tried Mozilla yet.


Make some test with Tk it is ok.

With mozilla-1.1 when I press F11 to go to fullscreen and go back to
normal stat (F11) my mozilla window totally disappear (probably a
mozilla bug).

With mozilla-1.4 (no fullscreen) when I use the resize grip mozilla
do not go up and up anymore, however resizing is a bit erratic (probably
bad interaction with the inc hints ...).

By the way, should we implement _NET_WM_STATE_FULLSCREEN?
Also you just wrote all the code for _NET_MOVERESIZE_WINDOW but
the trivial stuff in fvwm/ewmh*

Regards, 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: Move/Resize ConfigureRequest

2003-07-04 Thread Olivier Chapuis
On Thu, Jul 03, 2003 at 10:14:31AM +0200, Dominik Vogt wrote:
 On Thu, Jul 03, 2003 at 08:12:29AM +0200, Olivier Chapuis wrote:

  However, I think we need a new style (as there is no standard
  way to detect that an application respect the EWMH spec).
 
 Having a style is not wrong anyway.
 
  Any opinions/comments/objections?
 
 For a detection algorithm:
 
   1) If the windows CR algorithm was set by a style or detected
  before, use it.
 
   2) If a window resizes itself to the *exact* size of the
  display and the requested position of the client window is
  either +0+0 or +border_width+border_height, put it at +0+0
  and make a decision about the algorithm it uses based on the
  requested position.


I am not sure to understand this one, can you be more precise?
 
   3) If a window resizes/positions itself so that interpreting its
  position would shift it by exactly the width/height of the
  left or top border, set the algorithm that would prevent this
  shift (if possible).
 
   4) If a window places itself in a way that would place it
  exaclty on the border of the display, choose the algorithm
  that keeps the border on screen.
 

I will add: if the window has _NET_WM_PID set use the ICCCM algo.

 So we should have three styles (I don't like the term legacy
 because it displays a certain arrogance of the wm-spec people
 against tradition):
 
   MoveByProgramAlgorithm [SmartTraditional|SmartICCCM|ICCCM|Traditional]
 
 with SmartTraditional being the default (i.e. use above
 algorithm and use Traditional by default).  However, the names
 of the styles are all bad (hard too understand).


I think that we cannot found good names here.

Regards, 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]


Move/Resize ConfigureRequest

2003-07-03 Thread Olivier Chapuis
Hello,

Ok, this subject is delicate ...

Examples of pb:

- Start Mozilla, say that its position is +x+y. Set fullscreen (F11),
if you have a not too recent version of Mozilla this works (with
Mozilla-1.4 and maybe other this does not work as Mozilla use
NET_WM_FULLSCREEN which is not implemented in fvwm (this not the point
of this email). Reset to normal state (F11). Then, either Mozilla
crash or the Mozilla window totally disappear (strange) or the new
window position is
  +(x-left_frame_width)+(y-top_frame_height)

- Other Mozilla pbs: resizing the window with the internal Mozilla
resize grip.

- Tk experience:
[EMAIL PROTECTED] olivier]$ wish
% wm geometry . +0+0

The top-left part of the frame is out of screen

- This problem will happen with any QT, GTK, JAVA and Tk application
which move-resize itself (after mapping).


All this applications are not buggy! They all respect the ICCCM2 (or
at least a really reasonable interpretation of the ICCCM2).  Note that
most of the actively developed window manager respect this (e.g.,
icewm, kwin and metacity). Also this is documented in the EWMH spec.

Of course fvwm no that, however it use a legacy way to move-resize
a window because some old apps use this legacy logic (sorry I've no
example, but Dominik has surely some).

I suggest that we add a new style:

LegacyConfigureRequest / ICCCMConfigureRequest

or 

ICCCMConfigureRequest / LegacyConfigureRequest

to handle this problem. About default we can do something a bit more
complex: detect if the app respect the EWMH spec, if yes use
ICCCMConfigureRequest if not use LegacyConfigureRequest. However, I
think we need a new style (as there is no standard way to detect
that an application respect the EWMH spec).

Any opinions/comments/objections?

Regards, 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: comments on the recent ter-off menu patches

2003-07-01 Thread Olivier Chapuis
On Tue, Jul 01, 2003 at 12:53:34AM +0200, [EMAIL PROTECTED] wrote:
 There are some parts of the patch I do not understand or that are
 bugs.
 
 1) In menu_tear_off():
 
   ms = menustyle_find(buffer);
   if (!ms)
   {
   /* this must never happen */
   fvwm_msg(
   ERR, menu_tear_off,
   impossible to create %s menu style, buffer);
   free(buffer);
   DestroyMenu(mr, False, False);
   return;
   }
 
 Is there a specific reason why you use menustyle_find() instead of
 MR_STYLE(mr_to_copy)  which is much simpler and can not fail?
 Even if there is a reason, I don't think you can return from the
 function.


ms is not MR_STYLE(mr_to_copy) it is the menu style just created
by menustyle_parse_style(F_PASS_ARGS) where action is the address
of mr. Maybe, it will be good that menustyle_parse_style return
the menu style that it creates or modifies ... done.
 
 2) In clone_menu_root_static():
 
 What is the logic of changing
 
   MR_COPIES(dest_mr) = 0;
 
 to
 
   MR_COPIES(dest_mr) = 1;
 
 ?  Was it a bug?


When, you create a menu (with AddToMenu) MR_COPIES(mr) = 1.  The menu
code logic implies that MR_COPIES is never 0 but in DestroyMenu just
before it is totally destroyed (and maybe re-created and in this case
MR_COPIES is re-incremented).

Yes, I think it was a bug. What happen if you enter DestroyMenu
with MR_COPIES(dest_mr) = 0?

...
MR_COPIES(dest_mr)--;  -- MR_COPIES is -1
...
if (MR_COPIES(dest_mr) == 0)  -- leaks
{
   free some stuff
}

Any way if you change the test 

MR_COPIES(dest_mr) == 0

by 

MR_COPIES(dest_mr) = 0

it is not a big problem to set MR_COPIES to 0 for a tear off
menu. However, it seems that the logic is to set MR_COPIES
to 1 when you create a tear off menu.
 
 3) This is a bug:
 
   do_menu_close_tear_off_menu(pmp-menu, *pmp);
   pmret-rc = MENU_ABORTED;
   discard_window_events(
   MR_WINDOW(pmp-menu), EnterWindowMask);
 
 do_menu_close_tear_off_menu() destroys the MR_WINDOW(pmp-menu)
 and thus discard_window_events() operates on a random Xid.


Yes. Fixed.
 
 4) Please name all functions exported in menustyle.c
 menustyle_something().  (I renamed copy_menu_style() to
 menustyle_copy()).
 

Yep, such naming scheme is good. Ha 2 questions.
Under which condition you start the function with __?
(a private version of an exported function?).
What is the goal of the TearMenuOff command, how can
we use it?

Regards, 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: StyleById patch voting thread

2003-07-01 Thread Olivier Chapuis
On Fri, Jun 27, 2003 at 10:07:37PM -0400, Dan Espen wrote:
 Olivier Chapuis [EMAIL PROTECTED] writes:
  On Tue, Jun 24, 2003 at 09:39:47AM +0200, Dominik Vogt wrote:
   On Tue, Jun 24, 2003 at 06:40:50AM +0200, Olivier Chapuis wrote:
On Thu, Jun 19, 2003 at 03:51:50PM +0200, [EMAIL PROTECTED] wrote:
 On Sat, Jun 07, 2003 at 07:20:12PM +0200, Olivier Chapuis wrote:
  On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
   Should the StyleById patch be applied before 2.6?  Please cast
   your votes here.
  
  Seems that there is no conclusion here. It seems that there is two
  votes for it (me and Mikhael) one vote against (Dominik) and one
  unclear vote (Dan). So I ask for more votes and clarification
  (Dan?). For that I send an other version of the patch (attached).
  I've followed all the advice (I can follow) that I get in this
  thread.  In particular, I've followed all the remarks (as I can) of
  Dominik regarding the code.
 
  So, Dominik I even hope you revert your vote (very little hope
  ...).
 
 I don't know about your hope, but the chance that I do is zero. It
 is not the right time.

The reason of my hope is that the new version of the patch take in
account the reasons why you reject it.
   
   Nothing on earth can make me agree to adding huge features in
   feature freeze.
  
  It is not a huge feature, it is one of the few features that fvwm miss
  to become a perfect window manager. So let us have it!!
 
 Looking at the patch, I agree, its not huge.
 Its not minor either.
 
You give 7 arguments.  The new patch handle arguments 3, 4 and 6.
Moreover, I've worked on argument 5 and style list
simplification has been improved.
   
   As I said before, I reject making facts now that can never be
   changed again.  The way the style list works has always been a
   mistake.  No matter how much time you spend on optimising the
   style list code, it will always be a memory leak.  This logic is
   due for replacement, not for expansion.
  
  I will say that this has almost nothing to do with the WindowStyle
  cmd. This is a general problem regarding styles. Any way, I will
  be interested to see a natural situation where the style list
  go to infinity (with a fixed number of names). 
 
 I don't agree that the Style code is fundamentally broken.
 But I know from past experience that Dominik's standards are
 higher than mine.  To me, the style code does the job
 so I don't see a problem with it.  The way matches work
 may seem odd, but I don't think there's a better way.
 
 I don't understand the comment about the memory leaks.
 I remember Dominik doing some work to combine styles as they
 were issued.  There shouldn't be any leaking going on.
 
About 1 and 2 I can just say that I do not _think_ that the
patch can cause instability.
   
   It has already consumed much time in pointless arguments that
   could have been spent stabilising the code.  There is a direct
   relationship between my motivation to work on the remaining
   problems and the amount of distractions on this list that have
   nothing to do with it.
 
Finally, I do not understand argument 7.
   
   It's an ad-hoc syntax that *will* be thrown away right when we
   start thinking.  I have many enhancements in mind that have no
   chance of being implemented with this kind of just-throw-in-a-new-
   command-whenever-it-seems-to-work-for-the-moment approach.
  
  I do not see the problem. If I follow your logic the Style command
  will drastically change. Moreover, I cannot imagine that we
  rework the style stuff and that at the end it will be not possible
  to set window attributes on a given window.
But, maybe the most important is that there is 4 votes for the
patch (Dan, Mikhael, Olivier and Tim) and one vote against (Dominik).
   
   Of course Dan can speak for himself, but according to the mail
   archive he did neither vote for nor against the patch.  Not that I
   think it matters.
  
  In general Dan does not vote. He gives arguments. At the end there is
  no arguments against. But yes it is possible that Dan use abstention.
 
 I agree with Dominik, my vote hardly matters.
 As I said before, I think votes should be in proportion to contribution.
 
 In this case, I've been agreeing with both sides.
 Dominik has some very good points.
 I don't agree about the Style code being a problem and therefore
 shouldn't be extended, but I do agree that we need to freeze
 features to create a stable release.


I am not agree with this. I think the code is safe. I do not
understand Dominik arguments against the patch (second version).
We have always added feature during feature freeze. Note also that
you can add bugs when you fix a bug... Currently, the existence of
the patch allowed to fix a few bugs! 

 I think Oliviers point about this nicely rounding out
 the feature set, and not being a big change is
 very

Re: Fw: Re: fvwm-menu-desktop

2003-06-30 Thread Olivier Chapuis
On Mon, Jun 30, 2003 at 12:55:47PM +, Mikhael Goikhman wrote:
 I forward this message. Initially Matt asked me privatelly about
 supporting parsing of the vfolders XML Categories description.
 

Yes, fvwm-menu-desktop should be rewritten to support vfolders
and the new spec (http://www.freedesktop.org/standards/desktop-entry-spec/).
I've not the time to do this. Sorry.

Regards, Olivier

 X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4
 To: Mikhael Goikhman [EMAIL PROTECTED]
 Subject: Re: fvwm-menu-desktop 
 Date: Mon, 30 Jun 2003 10:27:18 +0100
 From: Matt Davey [EMAIL PROTECTED]
 
 
  What is vfolders XML Category description?
 
 On the current redhat distribution (and I've no idea which others, but
 I guess anything keeping with the everchanging gnome2 landscape),
 the .desktop files include an extra piece of meta-information.  For example,
 my gnu-emacs.desktop contains the line:
   
   Categories=TextEditor;Development;X-Red-Hat-Base;Application;
 
 Then, .menu files  a menu structure is defined, with each submenu defined
 by a set of categories which can be ANDed and NOTted together, in the style
 of Apache XML configuration.
 
 
   My rh9 distribution has all the .desktop files in 
   /usr/share/applications..
  .
  
  So you should use:
  
fvwm-menu-desktop --dir /usr/share/applications
 
 /usr/share/applications has no subdirectories, so I end up with a flat menu
 list that is about twice the height of my desktop, and doesn't split into 
 multiple columns.
 
 All the best,
 
 Matt
 

--
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: Fw: Re: fvwm-menu-desktop

2003-06-30 Thread Olivier Chapuis
On Mon, Jun 30, 2003 at 04:56:25PM +0200, Olivier Chapuis wrote:
 On Mon, Jun 30, 2003 at 12:55:47PM +, Mikhael Goikhman wrote:
  I forward this message. Initially Matt asked me privatelly about
  supporting parsing of the vfolders XML Categories description.
  
 
 Yes, fvwm-menu-desktop should be rewritten to support vfolders
 and the new spec (http://www.freedesktop.org/standards/desktop-entry-spec/).

Sorry it is:

http://www.freedesktop.org/standards/desktop-entry-spec/desktop-entry-spec.html

Also

http://www.freedesktop.org/standards/menu/draft/menu-spec/menu-spec.html
http://www.freedesktop.org/standards/basedir/draft/basedir-spec/basedir-spec.html

should be taken in account

Regards, 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: FlocaleDrawUnderline and BIDI

2003-06-29 Thread Olivier Chapuis
On Sun, Jun 29, 2003 at 07:22:16PM +0200, Marcus Lundblad wrote:
 I'm almost done now with the implementation of superimposing combining
 characters.
 I wonder why the function FlocaleDrawUnderline doesn't call
 FlocaleEncodeWinString (to perform BIDI and so on).

Probably a bug ... I never test underline with non standard
strings.

Regards, 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: CVS olicha: * Fixed animation when the TaskBar is shaded

2003-06-27 Thread Olivier Chapuis
On Fri, Jun 27, 2003 at 08:29:34AM -0500, FVWM CVS wrote:
 CVSROOT:  /home/cvs/fvwm
 Module name:  fvwm
 Changes by:   olicha  03/06/27 08:29:34
 
 Modified files:
   modules: ChangeLog 
   modules/FvwmTaskBar: FvwmTaskBar.c 
 
 Log message:
 * Fixed animation when the TaskBar is shaded


Here what was the problem:
 
NoIcon and animation enabled in the TaskBar. If the TaskBar is shaded
when you (de)Iconify a window the animation proceed as if the TaskBar
was not shaded. Various solutions:

1. Unshade, animate and shade (the solution I've just committed).
2. Animate but take in account the shaded geometry of the TaskBar.
3. Do not animate at all (I do not like this solution).

I've used 1 as it is the simplest solution and it is fun (if the
user want animation he get a triple animation). 2 seems to be a
reasonable alternative.  Note that IconMan, IconBox and WinList have
this problem and that the case of a swallowed Icon{Man,Box} into a
FvwmButtons should be handle too.

Any advice before I continue to fix this problem?

Regards, 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: StyleById patch voting thread

2003-06-26 Thread Olivier Chapuis
On Tue, Jun 24, 2003 at 09:39:47AM +0200, Dominik Vogt wrote:
 On Tue, Jun 24, 2003 at 06:40:50AM +0200, Olivier Chapuis wrote:
  On Thu, Jun 19, 2003 at 03:51:50PM +0200, [EMAIL PROTECTED] wrote:
   On Sat, Jun 07, 2003 at 07:20:12PM +0200, Olivier Chapuis wrote:
On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
 Should the StyleById patch be applied before 2.6?  Please cast
 your votes here.


Seems that there is no conclusion here. It seems that there is two
votes for it (me and Mikhael) one vote against (Dominik) and one
unclear vote (Dan). So I ask for more votes and clarification
(Dan?). For that I send an other version of the patch (attached).
I've followed all the advice (I can follow) that I get in this
thread.  In particular, I've followed all the remarks (as I can) of
Dominik regarding the code.
   
So, Dominik I even hope you revert your vote (very little hope
...).
   
   I don't know about your hope, but the chance that I do is zero. It
   is not the right time.
   
  
  The reason of my hope is that the new version of the patch take in
  account the reasons why you reject it.
 
 Nothing on earth can make me agree to adding huge features in
 feature freeze.


It is not a huge feature, it is one of the few features that fvwm miss
to become a perfect window manager. So let us have it!!
  
  You give 7 arguments.  The new patch handle arguments 3, 4 and 6.
 
  Moreover, I've worked on argument 5 and style list
  simplification has been improved.
 
 As I said before, I reject making facts now that can never be
 changed again.  The way the style list works has always been a
 mistake.  No matter how much time you spend on optimising the
 style list code, it will always be a memory leak.  This logic is
 due for replacement, not for expansion.
 


I will say that this has almost nothing to do with the WindowStyle
cmd. This is a general problem regarding styles. Any way, I will
be interested to see a natural situation where the style list
go to infinity (with a fixed number of names). 

  About 1 and 2 I can just say that I do not _think_ that the
  patch can cause instability.
 
 It has already consumed much time in pointless arguments that
 could have been spent stabilising the code.  There is a direct
 relationship between my motivation to work on the remaining
 problems and the amount of distractions on this list that have
 nothing to do with it.
 
  Finally, I do not understand argument 7.
 
 It's an ad-hoc syntax that *will* be thrown away right when we
 start thinking.  I have many enhancements in mind that have no
 chance of being implemented with this kind of just-throw-in-a-new-
 command-whenever-it-seems-to-work-for-the-moment approach.


I do not see the problem. If I follow your logic the Style command
will drastically change. Moreover, I cannot imagine that we
rework the style stuff and that at the end it will be not possible
to set window attributes on a given window.
  
  But, maybe the most important is that there is 4 votes for the
  patch (Dan, Mikhael, Olivier and Tim) and one vote against (Dominik).
 
 Of course Dan can speak for himself, but according to the mail
 archive he did neither vote for nor against the patch.  Not that I
 think it matters.
 

In general Dan does not vote. He gives arguments. At the end there is
no arguments against. But yes it is possible that Dan use abstention.

  So, I think we should apply the patch.
 
 Then take the consequences and abandon the idea of a stable 2.6
 release.


Why?

Regards, 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: StyleById patch voting thread

2003-06-24 Thread Olivier Chapuis
On Thu, Jun 19, 2003 at 03:51:50PM +0200, [EMAIL PROTECTED] wrote:
 On Sat, Jun 07, 2003 at 07:20:12PM +0200, Olivier Chapuis wrote:
  On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
   Should the StyleById patch be applied before 2.6?  Please cast
   your votes here.
  
  
  Seems that there is no conclusion here. It seems that there is two
  votes for it (me and Mikhael) one vote against (Dominik) and one
  unclear vote (Dan). So I ask for more votes and clarification
  (Dan?). For that I send an other version of the patch (attached).
  I've followed all the advice (I can follow) that I get in this
  thread.  In particular, I've followed all the remarks (as I can) of
  Dominik regarding the code.
 
  So, Dominik I even hope you revert your vote (very little hope
  ...).
 
 I don't know about your hope, but the chance that I do is zero. It
 is not the right time.
 

The reason of my hope is that the new version of the patch take in
account the reasons why you reject it. You give 7 arguments.  The new
patch handle arguments 3, 4 and 6. Moreover, I've worked on argument 5
and style list simplification has been improved.  About 1 and 2 I can
just say that I do not _think_ that the patch can cause instability.
Finally, I do not understand argument 7.

But, maybe the most important is that there is 4 votes for the
patch (Dan, Mikhael, Olivier and Tim) and one vote against (Dominik).
So, I think we should apply the patch.

Regards, 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: Bugs with transparency when used with various modules

2003-06-17 Thread Olivier Chapuis
On Mon, Jun 16, 2003 at 09:30:37AM -0700, Jason Gabler wrote:
 
 transparency + FvwmWinList:
 
 I'm trying to use as much transparency as possible (similar to the Crystal 
 theme), this includes using transparency with the FvwmWinList module.  I 
 find that it often uses the wrong window names/titles in the list.  
 Sometimes an fvwm restart can fix this (most often not).  Fully login out 
 of X and then back in sometimes fixes it (more often than an fvwm restart). 
 Basically the behavior is FvwmWinList will use window names of windows that 
 have WindowListSkip in their Style to replace window names that sjould be 
 in the list.  For the record, I've never seen this happen when not using 
 transparency.  I've only seen this when Fvwm starts.
 

I will take a look at this pb but you start your module as

 Module FvwmBacker
 Module FvwmTheme
 Module FvwmWinList
 Module FvwmButtons

This is not a good idea (as the man pager says). This should be

AddToFunc StartFunction
+ I Module FvwmBacker
+ I Module FvwmTheme
+ I Module FvwmWinList
+ I Module FvwmButtons
 
 transparency with title bars:
 
 Transparent title bars can often get locked into a particular portion of 
 the background.  No matter where you place the windows they maintain them 
 same portion of the background.  This can happen when Fvwm starts or after 
 some use of the WM.
 
 Transperent title bars sometimes show the given background color and do not 
 do transparency.This can happen when Fvwm starts or after some use of 
 the WM.
 
 transparency with FvwmButtons:
 
 The same sticking image problem can happen as with title bars.
 

I think that these stick images problem come from your FvwmBaker
config:

 *FvwmTheme: Colorset 12 Pixmap initialD_FDnFC.xpm
 *FvwmBacker: Command (Desk *, Page * *) Exec fvwm-root 
 /home/jason/Icons/Desktop/initialD_FDnFC.xpm
 *FvwmBacker: Command (Desk 0) Colorset 12
 *FvwmBacker: RetainPixmap

You should use the --retain-pixmap option of fvwm-root

 transparency with FvwmPager:
 
 Not sure if this is transparency related, but sometimes FvwmPager just 
 doesn't start or it wont swallow into Buttons.  I've never seen this w/o 
 transparency.
 

Do you have any error msg (X stderr) or a core dump file when this
happen?

 My .fvwm2rc is attached as fvwm2rc.jyg
 

Some others remarks on you config.

First you do not always define the bg color in the Colorsets. This
causes fvwm to compute the average color of your root pixmap. If
you do not want this for a colorset define the bg color (this speedup
colorset loading). 

 ModulePath /usr/libexec/fvwm/2.5.7

This line is not useful and cause pb when you upgrade

Please replace any line of the form:

*FvwmThemes: Colorset

by

Colorset

and be sure you do not start the FvwmTheme module.


Regards, 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: simplify styles list

2003-06-15 Thread Olivier Chapuis
On Sat, Jun 14, 2003 at 06:37:34PM +, Mikhael Goikhman wrote:
 On 14 Jun 2003 19:04:51 +0200, Olivier Chapuis wrote:
  
  My WindowStyle patch leads me to study the __simplify_style_list
  function.
  
  Here some possible amelioration:
  
  1 - style name compatibility:
  
  Example:
  
  Style abc* options1
  Style hop* options2
  Style abc* options3
  
  with options2 flags-inter options3 not empty. This is not simplified,
  but as no window can match both abc* and hop*, in fact this can
  be simplified to 
  
  Style hop* options1
  Style abc* merge(options1, option2)
  
  The point is to write down a efficent algo for: given two pattern p1
  and p2, decides whether there exists a string which matchs both p1 and
  p2. I've done this.
 
 The problem here is that it is easy to create a window that matches both
 abc* and hop*.  xterm -class abc -title hop


Ooops, yes this simplification was stupid.

Regards, 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: simplify styles list

2003-06-15 Thread Olivier Chapuis
On Sun, Jun 15, 2003 at 08:01:26AM +0200, Olivier Chapuis wrote:
 On Sat, Jun 14, 2003 at 06:37:34PM +, Mikhael Goikhman wrote:
  On 14 Jun 2003 19:04:51 +0200, Olivier Chapuis wrote:
   
   My WindowStyle patch leads me to study the __simplify_style_list
   function.
   
   Here some possible amelioration:
   
   1 - style name compatibility:
   
   Example:
   
   Style abc* options1
   Style hop* options2
   Style abc* options3
   
   with options2 flags-inter options3 not empty. This is not simplified,
   but as no window can match both abc* and hop*, in fact this can
   be simplified to 
   
   Style hop* options1
   Style abc* merge(options1, option2)
   
   The point is to write down a efficent algo for: given two pattern p1
   and p2, decides whether there exists a string which matchs both p1 and
   p2. I've done this.
  
  The problem here is that it is easy to create a window that matches both
  abc* and hop*.  xterm -class abc -title hop
 
 
 Ooops, yes this simplification was stupid.


Note however that this logic can be applied in between WindowStyle
style ... 

Regards, 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]


simplify styles list

2003-06-14 Thread Olivier Chapuis
Hello,

My WindowStyle patch leads me to study the __simplify_style_list
function.

Here some possible amelioration:

1 - style name compatibility:

Example:

Style abc* options1
Style hop* options2
Style abc* options3

with options2 flags-inter options3 not empty. This is not simplified,
but as no window can match both abc* and hop*, in fact this can
be simplified to 

Style hop* options1
Style abc* merge(options1, option2)

The point is to write down a efficent algo for: given two pattern p1
and p2, decides whether there exists a string which matchs both p1 and
p2. I've done this.

2 - string matching sets inclusion 

Style hop options1
Style hop* option2

where options1 is a flags-subset of options2. This is not simplified
but as every string which match hop match hop*, this can be
simplified to

Style hop* option2

Again the point is to write down an efficient algo for: given two patterns
p1 and p2, decides whether all string which match p1 match also p2.
I should write this ...

3 - Upward simplification

Example:
 
Style * SloppyFocus
Style toc ClickToFocus
Style * NoIcon

is not simplified into:

Style * SloppyFocus, NoIcon
Style toc ClickToFocus

This type of case are easy to handle.


Any comments?

Olivier, Regards
--
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: StyleById patch voting thread

2003-06-08 Thread Olivier Chapuis
On Sun, Jun 08, 2003 at 01:54:14AM +, Mikhael Goikhman wrote:
 On 07 Jun 2003 14:17:41 -0400, Dan Espen wrote:
  
  Olivier Chapuis [EMAIL PROTECTED] writes:
   On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
Should the StyleById patch be applied before 2.6?  Please cast
your votes here.
  
   Seems that there is no conclusion here. It seems that there is two
   votes for it (me and Mikhael) one vote against (Dominik) and one
   unclear vote (Dan). So I ask for more votes and clarification
   (Dan?). For that I send an other version of the patch (attached).
   I've followed all the advice (I can follow) that I get in this
   thread.  In particular, I've followed all the remarks (as I can) of
   Dominik regarding the code. So, Dominik I even hope you revert your
   vote (very little hope ...). Also: the cmds are named WindowStyle and
   DestroyWindowStyle and act on the selected window and there is the
   doc and some tests in purify.fvwm2rc.
 
 Can you please clarify one thing. You previously said that after applying
 many WindowStyle commands and switching themes the style list didn't grow.
 Do I understand you correctly? Because it is the Dominik's reason against
 the patch (you seem to cover several other reasons with your new patch).
 

Yes, with fvwm-themes I've tried to switch and add some window style,
switch and add some window style ..etc and the style list does not
grow (in a not reasonable way). However, one can succeed to found a
way for making the style list to explode (with a limited number of
name) with or without the WindowStyle command. I think you have to do
very strange things for this (with or without the WindowStyle
command).

By the way, I think we may improve a bit __simplify_style_list, by
remplacing:

if (!styles_have_same_id(*cur, *cmp))
{
blockor((char *)interflags,
(char *)interflags,
(char *)cmp-flag_mask,
sizeof(style_flags));
blockor((char *)interflags,
(char *)interflags,
(char *)cmp-flag_default,
sizeof(style_flags));
cmp = SGET_PREV_STYLE(*cmp);
continue;
}

by something like:

Bool one_fw_can_match_both_ids(window_style s, window_style t)
{
if (SGET_ID_HAS_WINDOW_ID(s)  SGET_ID_HAS_WINDOW_ID(t) 
SGET_WINDOW_ID(s) != SGET_WINDOW_ID(t))
{
return False;
}
if (SGET_ID_HAS_NAME(s)  SGET_ID_HAS_NAME(t))
{
if !(there exists a string which match 
 SGET_NAME(s) and SGET_NAME(t))
{
return False;
}
}
return True;
}

if (!styles_have_same_id(*cur, *cmp))
{
if (one_fw_can_match_both_ids(*cur,*cmp))
{
blockor((char *)interflags,
(char *)interflags,
(char *)cmp-flag_mask,
sizeof(style_flags));
blockor((char *)interflags,
(char *)interflags,
(char *)cmp-flag_default,
sizeof(style_flags));
}
cmp = SGET_PREV_STYLE(*cmp);
continue;
}

but I've to think more and we have to found a cleaver algo for: 
 there exists a string which match SGET_NAME(s) and SGET_NAME(t))

Regards, 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: StyleById patch voting thread

2003-06-07 Thread Olivier Chapuis
On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
 Should the StyleById patch be applied before 2.6?  Please cast
 your votes here.


Seems that there is no conclusion here. It seems that there is two
votes for it (me and Mikhael) one vote against (Dominik) and one
unclear vote (Dan). So I ask for more votes and clarification
(Dan?). For that I send an other version of the patch (attached).
I've followed all the advice (I can follow) that I get in this
thread.  In particular, I've followed all the remarks (as I can) of
Dominik regarding the code. So, Dominik I even hope you revert your
vote (very little hope ...). Also: the cmds are named WindowStyle and
DestroyWindowStyle and act on the selected window and there is the
doc and some tests in purify.fvwm2rc.

Regards, Olivier

PS: What are the rules for the votes? 
Index: fvwm/add_window.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/add_window.c,v
retrieving revision 1.348
diff -u -r1.348 add_window.c
--- fvwm/add_window.c   27 May 2003 00:37:00 -  1.348
+++ fvwm/add_window.c   7 Jun 2003 17:13:26 -
@@ -3014,6 +3014,18 @@
return;
}
 
+   /* remove window style */
+   if (!IS_SCHEDULED_FOR_DESTROY(fw)  !DO_REUSE_DESTROYED(fw))
+   {
+   style_id_t s_id;
+
+   memset(s_id, 0, sizeof(style_id_t));
+   SID_SET_WINDOW_ID(s_id, (XID)FW_W(fw));
+   SID_SET_HAS_WINDOW_ID(s_id, True);
+
+   style_destroy_style(s_id);
+   }
+
/** remove from window list **/
/* if the window is sheduled fro destroy the window has been already
 * removed from list */
Index: fvwm/commands.h
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/commands.h,v
retrieving revision 1.36
diff -u -r1.36 commands.h
--- fvwm/commands.h 3 Jan 2003 06:57:35 -   1.36
+++ fvwm/commands.h 7 Jun 2003 17:13:27 -
@@ -167,6 +167,7 @@
F_DESTROY,
F_DESTROY_DECOR,
F_DESTROY_MOD,
+   F_DESTROY_WINDOW_STYLE,
F_ECHO,
F_FLIP_FOCUS,
F_FOCUS,
@@ -194,6 +195,7 @@
F_WARP,
F_WINDOWID,
F_WINDOW_SHADE,
+   F_WINDOW_STYLE,
 
F_END_OF_LIST = 999,
 
@@ -260,6 +262,7 @@
 void CMD_DestroyMenuStyle(F_CMD_ARGS);
 void CMD_DestroyModuleConfig(F_CMD_ARGS);
 void CMD_DestroyStyle(F_CMD_ARGS);
+void CMD_DestroyWindowStyle(F_CMD_ARGS);
 void CMD_Direction(F_CMD_ARGS);
 void CMD_Echo(F_CMD_ARGS);
 void CMD_EdgeCommand(F_CMD_ARGS);
@@ -383,6 +386,7 @@
 void CMD_WindowList(F_CMD_ARGS);
 void CMD_WindowShade(F_CMD_ARGS);
 void CMD_WindowShadeAnimate(F_CMD_ARGS);
+void CMD_WindowStyle(F_CMD_ARGS);
 void CMD_Xinerama(F_CMD_ARGS);
 void CMD_XineramaPrimaryScreen(F_CMD_ARGS);
 void CMD_XineramaSls(F_CMD_ARGS);
Index: fvwm/functable.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/functable.c,v
retrieving revision 1.23
diff -u -r1.23 functable.c
--- fvwm/functable.c11 Mar 2003 08:54:44 -  1.23
+++ fvwm/functable.c7 Jun 2003 17:13:29 -
@@ -220,6 +220,10 @@
CMD_ENT(destroystyle, CMD_DestroyStyle, F_DESTROY_STYLE, 0, 0),
/* - Delete style defined using Style */
 
+   CMD_ENT(destroywindowstyle, CMD_DestroyWindowStyle,
+   F_DESTROY_WINDOW_STYLE, FUNC_NEEDS_WINDOW, CRS_SELECT),
+   /* - Delete style defined using WindowStyle */
+
CMD_ENT(direction, CMD_Direction, F_DIRECTION, 0, 0),
/* - Operate on the next window in the specified direction */
 
@@ -619,6 +623,10 @@
CMD_ENT(windowshadeanimate, CMD_WindowShadeAnimate, F_SHADE_ANIMATE,
0, 0),
/* - (obsolete, use Style * WindowShadeSteps) */
+
+   CMD_ENT(windowstyle, CMD_WindowStyle, F_WINDOW_STYLE,
+   FUNC_NEEDS_WINDOW, CRS_SELECT),
+   /* - Set styles on the selected window */
 
CMD_ENT(xinerama, CMD_Xinerama, F_XINERAMA, 0, 0),
/* - Control Xinerama support */
Index: fvwm/fvwm.1.in
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm.1.in,v
retrieving revision 1.92
diff -u -r1.92 fvwm.1.in
--- fvwm/fvwm.1.in  3 Jun 2003 19:22:31 -   1.92
+++ fvwm/fvwm.1.in  7 Jun 2003 17:14:07 -
@@ -5769,10 +5769,16 @@
 all styles starting with Application.
 
 .TP
+.B DestroyWindowStyle
+deletes the styles set by the
+.B WindowStyle
+command on the selected window. The changes take effect immediately.
+
+.TP
 .BI UpdateStyles
 All pending updates of all windows' styles and looks are applied
 immediately.  E.g. if
-.BR Style  or  TitleStyle
+.BR Style ,  WindowStyle  or  TitleStyle
 commands were issued inside a fvwm function.
 
 .TP
@@ -7540,6 +7546,14 @@
 Style * NoIcon
 Style FvwmPager Icon
 .EE
+
+.TP
+.BI WindowStyle  options
+sets attributes (styles) on the selected 

Re: FvwmBanner: PNG or Colorset support and more

2003-06-06 Thread Olivier Chapuis
On Thu, Jun 05, 2003 at 03:39:45PM +, Mikhael Goikhman wrote:
 We don't seem to have the png or colorset support in FvwmBanner.
 

There is png support in FvwmBanner. There is just a bug ... fixed
soon (I hope).

However, the support is limited: no alpha blending! if a point has
an alpha of = 130 then the point is removed and if the alpha  130
the point is fully displayed ...

Now, we can add alpha blending but on what? X has no translucent
support ... So, we can either (if the image has some alpha):

1 - blend vs the Root window (need ParentalRelativity Style)
2 - or over a colorset background
3 - or over a colorset background without the shape from the image.

1 and 2 may look ugly under certains situations. For example,
with 1 and FvwmBanner over an other window than the root window.
So, 3 can be a default (with colorset 0). This leads to new options:

*FvwmBanner: Colorset cs
Specifies a colorset for the bg of FvwmBanner (default 0).
This is only useful if the image has a transparent part
and the Shaped option is used or if the image has an alpha channel.

*FvwmBanner: Shaped bool
Shape or not the FvwmBanner window with the transparent part of the image.
Default is false if the image has an alpha channel, true otherwise.

With these two options we can do 1, 2 and 3. 

Regards, 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: Reproduceable Failed to write descriptor to module bug

2003-06-06 Thread Olivier Chapuis
On Fri, Jun 06, 2003 at 07:35:21PM +, Mikhael Goikhman wrote:
 Previously I got Failed to write descriptor to 'FvwmConsole' often, but
 now I can narrow the problem, this time with FvwmBanner, not FvwmConsole.


Fixed, I think.

Regards, 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: Support for combining characters

2003-06-02 Thread Olivier Chapuis
On Sat, May 31, 2003 at 07:05:19PM +0200, Marcus Lundblad wrote:
 I implemented a first basic version of combining characters.
 What it does is compress sequences of characters to the
 canonical pre-composed form.
 
 Additionally a fix for superimposing needs to be added.
 Ie. combining characters that could not be composed into a pre-composed
 form should be drawn superimposed.
 
 Olivier, could you assist me a bit on this?

Yes, but I know nothing on combining, bidi and joint ...

 If I extend my function that does composing to fill in an array mapping
 character position in the in-string to their visual position.
 
 For example, let's say there is o + some obscure composing char + a,
 where there is no pre-composed form for an o with some obscure
 composing char, it would give an array: [0,0,1]
 That is the first 2 characters should get drawn in first square, the
 last in the second square.
 
 What could perhaps be tricky is to handle BIDI. The mapping array must be
 rearranged as characters are reorganised by the BIDI algorithm.


I do not understand the problem, sorry. But two remarks/questions:
What about merging FCombineChars, FBidi and FBidiJoin?
Which charset (in the sense of the FlocaleCharsetTable from FLocaleCharset.c)
needs Char Combining and which charset needs Joining (I know for
Bidi)?
 
 I hope my code is not crashing on anyone. Please test it.
 I have tested it, and it seems to work. But maybe I missed something
 critical.


Can you send some relevant strings (in UTF-8 or/and others encoding)
for adding test in purify.fvwm2rc?
 
 Also Nadim, could you test this with Arabic combining characters?


Marcus, you should always cc to Nadim.

Regards, 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: Birthday announcement draft

2003-05-30 Thread Olivier Chapuis
On Fri, May 30, 2003 at 10:07:14AM +0200, Dominik Vogt wrote:
 On Fri, May 30, 2003 at 10:04:37AM +0200, fvwm-workers wrote:
  * Learn more about fvwm's history link to history page and its
authors and users link to page with photographs.
 
 Read:
 
 * Learn more about fvwm's history link to history page and its
   authors and users link to page with photographs and their
   pets ^_^ link to cats page.
 
 :-)
 

About fvwm history I've just write down something in french (for
linuxfr).  I may translate it if no one want to write something and
someone want to correct it (english + whatever).

Regards, 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: Birthday announcement draft

2003-05-30 Thread Olivier Chapuis
On Fri, May 30, 2003 at 02:13:27PM +0200, Olivier Chapuis wrote:
 On Fri, May 30, 2003 at 10:07:14AM +0200, Dominik Vogt wrote:
  On Fri, May 30, 2003 at 10:04:37AM +0200, fvwm-workers wrote:
   * Learn more about fvwm's history link to history page and its
 authors and users link to page with photographs.
  
  Read:
  
  * Learn more about fvwm's history link to history page and its
authors and users link to page with photographs and their
pets ^_^ link to cats page.
  
  :-)
  
 
 About fvwm history I've just write down something in french (for
 linuxfr).  I may translate it if no one want to write something and
 someone want to correct it (english + whatever).


In fact I will be unable to translate this text in a good way. Here the
text I wrote in french (still one spelling needed).

Un peu d'histoire. Comme dit précédemment la première version
(probablement la version 0.5) de FVWM est sortie avec une version de
rxvt le 1er juin 1993.  La version 1.0 est sortie à la fin de cette
même année comme un logiciel indépendant. La première motivation de
Robert Nation était d'avoir un gestionnaire de fenêtres plus léger que
twm pour son portable avec un CPU à 33 MHZ et 4 MB de RAM. De nos
jours, FVWM signifie F? Virtual Window Manager, libre à chacun de
remplacer le ? (Feline est particulièrement à la mode à l'heure
actuelle). En fait, à l'origine le F signifiait Feeble (faible).
Mais rapidement, ce prénom est devenu inapproprié et un mystère autour
du F a été volontairement instauré (voir la question 1.1 de la FAQ de
FVWM).

En août 1995 Rob a abandonné FVWM et Charles Hines a repris la flamme
jusqu'au mois de mai 1998. Puis Brady Montz a repris FVWM pour quelques
mois.  Durant cette période le rôle du mainteneur était principalement
d'appliquer les patches envoyés par les utilisateurs et développeurs
et de réaliser de nouvelles versions.  Il était le seul à avoir accès
au code et durant certaines périodes il n'avait pas toujours le temps
nécessaire.  On peut dire que mi 1998 le developpement de FVWM était
presque mort.

Mais en octobre 1998 sous l'impulsion de quelques personnes (en
particulier Dominik Vogt qui est toujours le mainteneur actuel) FVWM a
changé de mode de devellopement en passant à la méthode du
bazar. Plusieurs développeurs ont eux accès au code via un arbre CVS
(administré par Jason Tibbitts). Le développement n'a jamais été aussi
actif depuis ce changement même si cela a parfois posé quelques
problèmes d'organisation.  Ceci à conduit à la version 2.2.0 en
février 1999. En plus de Dominik Vogt, on peut cité Johan Bengtsson,
Matthias Clasen, Dan Espen, Michael Han, Tomas Ogren, Tim Phipps,
Chris Rankin, Steve Robbins, Paul Smith, Andrew Veliath et Bob
Woodside. Par la suite, certains développeurs sont devenus moins
actifs ou ont abandonnés et d'autres sont apparus. Olivier Chapuis
(moi-même), Brad Giaccio et Mikhael Goikhman durant le developpemnt de
la version 2.4.0 sortie le 3 juillet 2001.  Suzanne Britton, Marcus
Lundblad, Uwe Pross et Jason Weber durant le développemnt de la future
version 2.6.0 prévu pour septembre. Ceci pour citer seulement ceux
ayant un accès directe au code, mais FVWM ne serait pas ce qu'il est
sans les centaines de personnes ayant envoyées des patches (plus de
130 personnes dans le fichier AUTHORS) et les milliers de personnes
qui ont participé ou participe aux listes de discussions de FVWM.

La dernière version stable est la 2.4.16.  La version de développment
est la 2.5.7. Elles sont soties le 31 mai 2003 a l'ocasion du 10ème
annivairsaire de FVWM.
--
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 olicha: * Added a list for the windows which are scheduled for destroy

2003-05-27 Thread Olivier Chapuis
On Tue, May 27, 2003 at 02:34:55AM +0200, [EMAIL PROTECTED] wrote:
 On Mon, May 26, 2003 at 12:25:34PM +0200, Olivier Chapuis wrote:
 [snip]
  * So, I restored the previous logic (2003-05-20) and add a simple list
  of the windows which are scheduled for destroy. This list is used in
  update.c to really destroy/free the fvwm window.
  
  I do not know what is the problem ... maybe under certain situation
  the window which are scheduled for destroy are put back in the fvwm
  window list in a strange way, that I do no understand.
  
  Here the core dump I get when I run purify.fvwm2rc. It is not 100%
  reproducible (but always happen at the same place during the Iconify
  test). I reproduce it more easily if I proceed as follows (need to cvs
  update first for my last purify.fvwm2rc commit):
  
- install purify
- run fvwm without config
- Open a FvwmConsole and type:
   Read path_to_fvwm_cvs_tree/tests/purify/purify.fvwm2rc
   PurifyInit
- pop-up the purify menu and select
Some Setup - Bloc on Pick after each test
- Then, run all test. You should click and click again to progress
  in the tests 
  
  When I've no core dump I've a window7 which has lost its
  client.
 
  The same core dump occur with fvwm version prior to
  the 2003-05-18.
 
 I never saw this core dump, but there were a number of bugs that
 were triggered by the Style2-Func in the script.  It boiled down
 to something like
 
   AddToFunc Style2-Func
   + I Exec xterm -geometry 10x5 -T window1 -n window1 -e sleep 1000
   + I Wait window1
   + I All (window*) Close
   + I Exec xterm -geometry 10x5 -T window2 -n window2 -e sleep 1000
   + I Wait window2
   + I All (window*) Close
   + I Exec xterm -geometry 10x5 -T window3 -n window3 -e sleep 1000
   + I Wait window3
   + I All (window*) Close
   + I Exec xterm -geometry 10x5 -T window4 -n window4 -e sleep 1000
   + I Wait window4
   + I All (window*) Close
   + I Exec xterm -geometry 10x5 -T window5 -n window5 -e sleep 1000
   + I Wait window5
   + I All (window*) Close
 
  1) The next and prev members of the window still pointed to the
 window list (fixed by you in 2.5.7 and by me in 2.4.x).
  2) The code in focus.c ignored the fact that the prev member of
 the window may not have contained anything useful (fixed in
 2.4.x and 2.5.7).
  3) If destroy_window() was called multiple times for a single
 window, it did some of the work twice, e.g. unmapping the icon
 and broadcasting a message (fixed in 2.4.x and 2.5.7).
  4) Once a window was destroyed, X sometimes reuses the same
 window id.  If the timing was right, the code in add_window.c
 called XDeleteContext on that window id and deleted the
 context of the new window assuming it was still swallowed in
 the old frame.  Later, the window got destroyed but fvwm
 ignored the event because it did not find an associated frame.
 (fixed in 2.4.x and 2.5.7).
 
 These patches may or may not have fixed the core dump you got.
 

I cannot reproduce the core dump anymore. I do not have window7 windows
without clients at the end of the Test too.

Great, 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: CVS olicha: * Added a list for the windows which are scheduled for destroy

2003-05-26 Thread Olivier Chapuis
On Sun, May 25, 2003 at 01:20:55AM +0200, [EMAIL PROTECTED] wrote:
 On Thu, May 22, 2003 at 07:10:51PM +0200, Olivier Chapuis wrote:
  On Tue, May 20, 2003 at 04:39:22AM -0500, FVWM CVS wrote:
   CVSROOT:  /home/cvs/fvwm
   Module name:  fvwm
   Changes by:   olicha  03/05/20 04:39:22
   
   Modified files:
 .  : ChangeLog 
 fvwm   : add_window.c focus.c screen.h update.c 
 libs   : FGettext.c Flocale.c Makefile.am 
   Added files:
 libs   : flist.c flist.h 
   
   Log message:
   * Added a list for the windows which are scheduled for destroy
   * Always remove a fw from the fw list when destroy_window
  
  There is something broken in this commit. Please, Mikhael do
  not release 2.5.7 before I (or Dominik) fix it.
 
 What exactly is the problem?
 

I would like to have an answer. I get a core dump (stacking ring
corruption?)  or fvwm windows which have lost its client window when I
run purify.fvwm2rc.  Here the story.

* Before the 2003-05-18, one logic in destroy_window was to
- remove the window from the fvwm window list
- test if the window should be scheduled for destroy
   if yes, return after some job
   if no, really destroy/free the fvwm window
The problem was: when it is the time to really destroy/free the fvwm
windows which are scheduled for destroy (in update.c) as the window
has been removed from the fvwm window list fvwm do not found these
fvwm windows!
  
* On the 2003-05-18 I commit a fix by inverting the logic above:
- test if the window should be scheduled for destroy
 if yes, return after some job
- if no remove the window from the fvwm window list
- really destroy/free the fvwm window
I thought that was not so bad as the scheduled_for_destroy flags is
maybe here to forbid certain operations on the fvwm windows in the
fvwm window list which are scheduled for destroy.  Indeed, I've _no_
problems with this logic (no core dump no fvwm windows which have lost
is client). But, you suggest that this logic is bad (and yes some
operations are performed on some fvwm windows which are scheduled
for destroy).

* So, I restored the previous logic (2003-05-20) and add a simple list
of the windows which are scheduled for destroy. This list is used in
update.c to really destroy/free the fvwm window.

I do not know what is the problem ... maybe under certain situation
the window which are scheduled for destroy are put back in the fvwm
window list in a strange way, that I do no understand.

Here the core dump I get when I run purify.fvwm2rc. It is not 100%
reproducible (but always happen at the same place during the Iconify
test). I reproduce it more easily if I proceed as follows (need to cvs
update first for my last purify.fvwm2rc commit):

  - install purify
  - run fvwm without config
  - Open a FvwmConsole and type:
 Read path_to_fvwm_cvs_tree/tests/purify/purify.fvwm2rc
 PurifyInit
  - pop-up the purify menu and select
  Some Setup - Bloc on Pick after each test
  - Then, run all test. You should click and click again to progress
in the tests 

When I've no core dump I've a window7 which has lost its
client. The same core dump occur with fvwm version prior to
the 2003-05-18.

#0  0x0808d968 in __raise_or_lower_window (t=0x0, mode=8389217,
allow_recursion=1, is_new_window=135186360) at stack.c:823
823 XRaiseWindow (dpy, FW_W_FRAME(t2));
(gdb) where
#0  0x0808d968 in __raise_or_lower_window (t=0x0, mode=8389217,
allow_recursion=1, is_new_window=135186360) at stack.c:823
#1  0x0808e1eb in RaiseWindow (t=0x81ae9e0) at stack.c:1417
#2  0x080813b6 in DeIconify (fw=0x81ae9e0) at icons.c:2405
#3  0x08081b19 in CMD_Iconify (cond_rc=0xbfffeb04, exc=0x1,
action=0x81dba30  0 \True\ üpikü) at icons.c:2671
#4  0x08099b22 in __execute_function (cond_rc=0xbfffeb04, exc=0x81ebe08,
action=0x81d0598 E, exec_flags=0 '\0', args=0x81dba30) at functions.c:636
#5  0x0809a7ef in execute_function (cond_rc=0xbfffeb04, exc=0x81ebe08,
action=0x81de636  Iconify  0 \True\ üpikü, exec_flags=0 '\0')
at functions.c:1228
#6  0x0809d1e3 in circulate_cmd (cond_rc=0xbfffeb04, exc=0x81ebe08,
action=0x81de62d (window2) Iconify  0 \True\ üpikü, new_context=1,
circ_dir=1, do_use_found=1, do_exec_on_match=1) at conditional.c:198
#7  0x0809e1ef in CMD_Next (cond_rc=0xbfffeb04, exc=0x81b4bf8,
action=0x81de62d (window2) Iconify  0 \True\ üpikü)
at conditional.c:876
#8  0x08099b22 in __execute_function (cond_rc=0xbfffeb04, exc=0x81ef898,
action=0x81b4bf8 E, exec_flags=128 '\200', args=0x81de62d)
at functions.c:636
#9  0x0809a037 in __run_complex_function_items (cond_func_rc=0xbfffeb04,
cond=105 'i', func=0x1, exc=0x81ef898, args=0xbfffeb90) at functions.c:822
#10 0x0809a28f in execute_complex_function (cond_rc=0xbfffed24, exc=0x81eb248,
action=0x81ef898 E, desperate=0x5) at functions.c:992
#11 0x08099bcf in __execute_function (cond_rc

Re: CVS olicha: * Added a list for the windows which are scheduled for destroy

2003-05-22 Thread Olivier Chapuis
On Tue, May 20, 2003 at 04:39:22AM -0500, FVWM CVS wrote:
 CVSROOT:  /home/cvs/fvwm
 Module name:  fvwm
 Changes by:   olicha  03/05/20 04:39:22
 
 Modified files:
   .  : ChangeLog 
   fvwm   : add_window.c focus.c screen.h update.c 
   libs   : FGettext.c Flocale.c Makefile.am 
 Added files:
   libs   : flist.c flist.h 
 
 Log message:
 * Added a list for the windows which are scheduled for destroy
 * Always remove a fw from the fw list when destroy_window

There is something broken in this commit. Please, Mikhael do
not release 2.5.7 before I (or Dominik) fix it.

Regards, 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: CVS olicha: * Fixed one tone of bugs (leak/core dump) in fvwm:

2003-05-21 Thread Olivier Chapuis
On Wed, May 21, 2003 at 01:37:21AM +, Mikhael Goikhman wrote:
 On 19 May 2003 09:34:19 +, Mikhael Goikhman wrote:
  
  On 19 May 2003 08:30:00 +0200, Dominik Vogt wrote:
   
   On Sun, May 18, 2003 at 08:27:12PM +0200, Olivier Chapuis wrote:
   
[snip]

 * Added x,r,w,f,i file conditions to the On command
  
  BTW, this means I don't think -i is a good name, ReadableImagePath is.
 
 After actually reading the sources, I see it is more ReadableImage.
 
 So, I think I prefer these names instead:
 
   -x, -r, -f   - the same as the equal file flags in test/shell/perl
   -X, -I, -M   - search for the given executable/image/module in its PATH


Dot no see why we need a -. Moreover, if you want a -x (without
path search) give a full path to -X (with your terminolgy).

So I think that  x,r,w,f,i,m are ok.

Regards, 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: StyleById patch voting thread

2003-05-20 Thread Olivier Chapuis
On Tue, May 20, 2003 at 08:32:03AM +0200, Dominik Vogt wrote:
 Some further explanations below.
 
 3. It does not introduce a data type identifying a style, just
passes lists of arguments to the style functions.
  
  Not sure to understand. There is a new element in the window_style
  structure xid (!=0 if and only if the window_style was generated
  by the StyleById command).
 
 When style identifiers become more complex than a simple string,
 they need to have their own data type, e.g.
 
   typedef struct
   {
   char *name;
   XID window_id;
   struct
   {
   has_name;
   has_window_id;
   } flags;
   } style_id_t;
 
 4. It unnecessarily exports knowledge of style related design
choices to sub functions that do not need to know about them.
  
  Not sure to understand. As FocusStyle vs Style? Not a big issue
  IMHO.
 
 See above.  Passing all the possible style identifiers through the
 function interface to functions parsing some of the styles is not
 a good idea.
 
 5. Because id-specific styles are kept in the same list as the
normal styles, it will cause memory consumption by the style
list to explode under certain situations.  Clean rules for a
new style preference order are needed first.
  
  Adding _a_ style by id is the same thing as adding a style with a name
  which do not already appear in the list. There is style list
  simplification/merging in between style by id. Only UseStyle is not
  supported by the patch (not a big issue, this can be documented).
 
 You need to understand the problem the style list already has.  If
 you issue style commands in the wrong order, the list grows ad
 infinitum because styles can not be merged or deleted.  Configs
 with many style changes (theme switching!) or styles tied to a
 window id increase this probability a lot because they add
 incompatible style identifiers to the list that prevent merging.


I've wrote a Styles subject to the PrintInfo cmd which count the
styles in the style list and print the style names (I can commit this
if you want). With fvwm-themes theme switching does not increase the
number of styles! This is probably because fvwm-themes is well written
... and __simplify_style do a very good job!

In fact, it seems to me that you should have to be careful (and do
strange things) for making the style list growing and growing (say
with two style name).

Anyway, maybe style by id should be prioritary vs style by name:
apply style by name and then apply style by id?

  
  As I said It is just a tmp command. 
 
 Then I agree with Dan:  I see no reason to introduce temporary
 commands into stable releases.


If we add this command and in the future re-design the styles cmds,
it will be surely possible to warp style by id to one of the new
command?

Regards, 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: StyleById patch voting thread

2003-05-20 Thread Olivier Chapuis
On Tue, May 20, 2003 at 02:01:55AM +, Mikhael Goikhman wrote:
 On 19 May 2003 20:47:13 +0200, Olivier Chapuis wrote:
  
  I recall my intention: style by id is a great feature, with a simple
  _hack_ we can get it, so it is difficult to me to do not wrote such
  code.  Yes it is a hack it is not the new great WindowStyle
  command we want (which needs more discussion and an enormous code
  reworte).  Yes it is just a simple piece of code with some theoretical
  problems, but ok I think in practice.
 
 How exactly StyleById id is different from WindowStyle?

Yes the id param is not useful. But, I am just afraid that the
future WindowStyle has a syntax which is not compatible.  So, as
WindowStyle is reserved I will prefer an other name as StylePerWindow.

Regards, 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: StyleById

2003-05-19 Thread Olivier Chapuis
On Mon, May 19, 2003 at 08:52:23AM +0200, Dominik Vogt wrote:
 On Mon, May 19, 2003 at 03:01:38AM +0200, Olivier Chapuis wrote:
  Hello,
  
  Attached to this msg 2 new cmds StyleById and DestroyStyleById.
  StyleById applies styles to specific windows:
  
  Pick Style $[w.id] NoTitle, !Borders
  
  DestroyStyleById can destroy such a style.
  
  The implementation solve the pbs with the patch send by Craig Milo Rogers
  a few weeks ago:
  - When a window is destroyed the associated StyleById is destroyed
  too (if not a new window can have the same id and the old style by
  id is applied).
  - No more ambiguity with the Style cmd as we have a new cmd.
  
  I see no strong reason against this patch, but (as we are under
  feature freeze) a vote against it. Any one?
 
 Adding the patch to 2.5.x is out of the question (feature freeze).

During 2.3.x we added new features during feature freeze.  Of course
adding a new feature should lead to discussion and voting. But I do
not think that we _must_ not add some.  During development period we
may, for various reasons, postpone/forget/miss certain stuff. Then,
during feature freeze we can fix these stuff. 

 Apart from that, this topic requires much more thought.  We don't
 want to make an ad-hoc syntax now, find out later that it does not
 work with all the other Style related enhancements and the
 redesign exevrything from scratch.


Oh yes. For me, these commands are just _workaround_ commands: This
feature is important and it is easy to get it so why we should live
without it?
Because, we have an ambitious project the WindowStyle command which
leads to Conditional Style?
Well, with the current FVWM development logic we will have to wait 3
years to get something that can do what StyleById can do now (and I am
optimist ... I do not think that we should start a discussion on FVWM
future now). 

Regards, 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: StyleById

2003-05-19 Thread Olivier Chapuis
On Mon, May 19, 2003 at 01:22:58PM +0200, Dominik Vogt wrote:
 On Mon, May 19, 2003 at 12:52:47PM +0200, Olivier Chapuis wrote:
  On Mon, May 19, 2003 at 08:52:23AM +0200, Dominik Vogt wrote:
   On Mon, May 19, 2003 at 03:01:38AM +0200, Olivier Chapuis wrote:
Hello,

Attached to this msg 2 new cmds StyleById and DestroyStyleById.
StyleById applies styles to specific windows:

Pick Style $[w.id] NoTitle, !Borders

DestroyStyleById can destroy such a style.

The implementation solve the pbs with the patch send by Craig Milo 
Rogers
a few weeks ago:
- When a window is destroyed the associated StyleById is destroyed
too (if not a new window can have the same id and the old style by
id is applied).
- No more ambiguity with the Style cmd as we have a new cmd.

I see no strong reason against this patch, but (as we are under
feature freeze) a vote against it. Any one?
   
   Adding the patch to 2.5.x is out of the question (feature freeze).
  
  During 2.3.x we added new features during feature freeze.  Of course
  adding a new feature should lead to discussion and voting. But I do
  not think that we _must_ not add some.  During development period we
  may, for various reasons, postpone/forget/miss certain stuff. Then,
  during feature freeze we can fix these stuff. 
 
 I am trying to stabilise fvwm

We (all) are trying to stabilise fvwm ...

 and patches of this dimension have
 the potential to throw us back for months.
 

I do not think so. It may cause problems but does not lead
to such a delay.

   Apart from that, this topic requires much more thought.  We don't
   want to make an ad-hoc syntax now, find out later that it does not
   work with all the other Style related enhancements and the
   redesign exevrything from scratch.
  
  Oh yes. For me, these commands are just _workaround_ commands: This
  feature is important and it is easy to get it so why we should live
  without it?
  Because, we have an ambitious project the WindowStyle command which
  leads to Conditional Style?
 
 See my reply to Mikhael's post.  If you prefer a neverending beta
 status, we can not work on the same project.


Why do you use such argument?

  Well, with the current FVWM development logic we will have to wait 3
  years to get something that can do what StyleById can do now
 
 Everybody is welcome to help solving the problems that stand
 between 2.5.6 and 2.6.0.


And of course I do nothing for that :o)
 
Regards, 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: StyleById patch voting thread

2003-05-19 Thread Olivier Chapuis
On Mon, May 19, 2003 at 01:44:27PM +0200, Dominik Vogt wrote:
 Should the StyleById patch be applied before 2.6?  Please cast
 your votes here.
 

I vote yes. But maybe the patch should be applied later.

I recall my intention: style by id is a great feature, with a simple
_hack_ we can get it, so it is difficult to me to do not wrote such
code.  Yes it is a hack it is not the new great WindowStyle
command we want (which needs more discussion and an enormous code
reworte).  Yes it is just a simple piece of code with some theoretical
problems, but ok I think in practice.

About the code: a style in the style list is identified by its name.
With the StyleById patch a style in the style list is identified with
either by the XID used (generated by the StyleById command) or the name
(generated by the Style command) not both. The only change in the
earth of the style code is the test these two styles have the same
identifier. The rest of the code is basically obvious (decoration):
parse and use already written function. 

 I vote for no because
 
   1. It will even further delay delay the 2.6 release.
   2. It will destabilise the code because of the delicate nature of
  the style to window propagation.

About this two it is difficult to be sure of something. I think that
the patch will cause only very few problems. If we want to do a
perfect WindowStyle command, then this surely delay a lot 2.6 and
destabilize the code. But StyleById is not perfect by nature. 

   3. It does not introduce a data type identifying a style, just
  passes lists of arguments to the style functions.

Not sure to understand. There is a new element in the window_style
structure xid (!=0 if and only if the window_style was generated
by the StyleById command).

   4. It unnecessarily exports knowledge of style related design
  choices to sub functions that do not need to know about them.

Not sure to understand. As FocusStyle vs Style? Not a big issue
IMHO.

   5. Because id-specific styles are kept in the same list as the
  normal styles, it will cause memory consumption by the style
  list to explode under certain situations.  Clean rules for a
  new style preference order are needed first.

Adding _a_ style by id is the same thing as adding a style with a name
which do not already appear in the list. There is style list
simplification/merging in between style by id. Only UseStyle is not
supported by the patch (not a big issue, this can be documented).

   6. It introduces inacceptably complicated if-conditions and code
  duplication.

The complicate if-condition is just a visual complication. We can
add a macro STYLES_HAS_THE_SAME_IDENTIFIERS(*style1, *style2) and
maybe a macro which test if a fw window match a style identifier.
I do not see code duplication, but the way to safely do a
strtoul (we can put this in one function somewhere). 
 
   7. We will regret the ad-hoc syntax very soon:
   - It is not flexible (mixing different kinds of style patterns
 is difficult).
   - The syntax does not help with state-specific styles.
   - The syntax does not help with regexp style name matching.
   - It may further complicate abstracting the style parsing
 code to allow all style names in other contexts (e.g.
 conditions).
 

As I said It is just a tmp command. 

Regards, 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: CVS olicha: * Fixed one tone of bugs (leak/core dump) in fvwm:

2003-05-18 Thread Olivier Chapuis
On Sun, May 18, 2003 at 01:12:15PM -0500, FVWM CVS wrote:
 CVSROOT:  /home/cvs/fvwm
 Module name:  fvwm
 Changes by:   olicha  03/05/18 13:12:15
 
 Modified files:
   .  : ChangeLog 
   fvwm   : add_window.c borders.c builtins.c conditional.c 
functions.c fvwm.c menustyle.c menustyle.h 
windowlist.c 
   libs   : FGettext.c Flocale.c defaults.h 
   tests  : ChangeLog 
   tests/purify   : purify.fvwm2rc 
 
 Log message:
 * Fixed one tone of bugs (leak/core dump) in fvwm:
 * Some purify.fvwm2rc update

Again Valgrind help as well as fvwm-themes and purify.fvwm2rc

 * Fixed a memory leak (a FvwmWindow !) when a window is not destroyed
 but scheduled for destroy. Not sure that this is the good fix.

When an FvwmWindow is destroyed and should be SCHEDULED_FOR_DESTROY,
with the old code, it seems that the associated FvwmWindow structure
is never freed. The reason is that the window is removed from the
list of the fvwm windows before the window is set SCHEDULED_FOR_DESTROY
and the struct is not freed.
What I do: Keep the window in the fvwm windows list until it is really
destroyed. This seems logic for me (regarding the existence of the 
SCHEDULED_FOR_DESTROY bit), but I am just afraid to add bugs to
complex functions. An other possibility is remove from list and
to add a list for the windows which are scheduled for destroy.
Any comments?

 * Fixed the default buttons memory leak and
 * Removed inconsistent #if 0 code and comments about leak and MiniIcon
 decor style

I _hope_ that I've fixed all the memory leaks in the decoration parsing
code. However, I am maybe a bit naive here as I've just added one line
and removed some comments and unused code.
Dominik any comments?

 * Limited the depth of function to MAX_FUNCTION_DEPTH (=512). This fixes
 cores dumps with recursive functions

[snip]

 * Added x,r,w,f,i file conditions to the On command

Ooops, a new feature that appear under my hands during this debugging
session (do not know really why ...).
If someone want I can remove it at once. If not I will document it
(usual file access tests X_OK, R_OK, ... but for x (X_OK) the file
is also searched in $PATH. i is R_OK access in the ImagePath.) 

Regards, 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]


StyleById

2003-05-18 Thread Olivier Chapuis
Hello,

Attached to this msg 2 new cmds StyleById and DestroyStyleById.
StyleById applies styles to specific windows:

Pick Style $[w.id] NoTitle, !Borders

DestroyStyleById can destroy such a style.

The implementation solve the pbs with the patch send by Craig Milo Rogers
a few weeks ago:
- When a window is destroyed the associated StyleById is destroyed
too (if not a new window can have the same id and the old style by
id is applied).
- No more ambiguity with the Style cmd as we have a new cmd.

I see no strong reason against this patch, but (as we are under
feature freeze) a vote against it. Any one?

By the way I've noted a problem with the DestroyStyle cmd:

- Start an xterm
- Style * SloppyFocus
- Style XTerm ClickToFocus
- DestroyStyle XTerm

Then, the xterm has ClickToFocus (need a recapture to get SloppyFocus).

Regards, Olivier
Index: add_window.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/add_window.c,v
retrieving revision 1.346
diff -u -r1.346 add_window.c
--- add_window.c18 May 2003 18:12:14 -  1.346
+++ add_window.c19 May 2003 00:54:40 -
@@ -2997,6 +2997,13 @@
return;
}
 
+   {
+   char xid[20];
+
+   sprintf(xid, 0x%x, (unsigned int)FW_W(fw));
+   CMD_DestroyStyleById(NULL, NULL, xid); 
+   }
+
/** check if we have to delay window destruction **/
 
if ((Scr.flags.is_executing_complex_function ||
Index: commands.h
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/commands.h,v
retrieving revision 1.36
diff -u -r1.36 commands.h
--- commands.h  3 Jan 2003 06:57:35 -   1.36
+++ commands.h  19 May 2003 00:54:40 -
@@ -60,6 +60,7 @@
F_DESTROY_MENU,
F_DESTROY_MENUSTYLE,
F_DESTROY_STYLE,
+   F_DESTROY_STYLE_BY_ID,
F_DFLT_COLORS,
F_DFLT_COLORSET,
F_DFLT_FONT,
@@ -137,6 +138,7 @@
STROKE_ARG(F_STROKE)
STROKE_ARG(F_STROKE_FUNC)
F_STYLE,
+   F_STYLE_BY_ID,
F_TEARMENUOFF,
F_THISWINDOW,
F_TITLE,
@@ -252,6 +254,7 @@
 void CMD_DesktopName(F_CMD_ARGS);
 void CMD_DesktopSize(F_CMD_ARGS);
 void CMD_Destroy(F_CMD_ARGS);
+void CMD_DestroyStyleById(F_CMD_ARGS);
 #ifdef USEDECOR
 void CMD_DestroyDecor(F_CMD_ARGS);
 #endif /* USEDECOR */
@@ -368,6 +371,7 @@
 void CMD_StrokeFunc(F_CMD_ARGS);
 #endif /* HAVE_STROKE */
 void CMD_Style(F_CMD_ARGS);
+void CMD_StyleById(F_CMD_ARGS);
 void CMD_TearMenuOff(F_CMD_ARGS);
 void CMD_ThisWindow(F_CMD_ARGS);
 void CMD_Title(F_CMD_ARGS);
Index: functable.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/functable.c,v
retrieving revision 1.23
diff -u -r1.23 functable.c
--- functable.c 11 Mar 2003 08:54:44 -  1.23
+++ functable.c 19 May 2003 00:54:42 -
@@ -220,6 +220,10 @@
CMD_ENT(destroystyle, CMD_DestroyStyle, F_DESTROY_STYLE, 0, 0),
/* - Delete style defined using Style */
 
+   CMD_ENT(destroystylebyid, CMD_DestroyStyleById,
+   F_DESTROY_STYLE_BY_ID, 0, 0),
+   /* - Delete style defined using StyleById */
+
CMD_ENT(direction, CMD_Direction, F_DIRECTION, 0, 0),
/* - Operate on the next window in the specified direction */
 
@@ -573,6 +577,9 @@
 #endif /* HAVE_STROKE */
CMD_ENT(style, CMD_Style, F_STYLE, 0, 0),
/* - Set attributes of windows that match a pattern */
+
+   CMD_ENT(stylebyid, CMD_StyleById, F_STYLE, 0, 0),
+   /* - Set attributes of a window using its X id */
 
CMD_ENT(tearmenuoff, CMD_TearMenuOff, F_TEARMENUOFF, 0, 0),
/* - Convert a menu to a window, for use as a menu command */
Index: fvwm.h
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/fvwm.h,v
retrieving revision 1.220
diff -u -r1.220 fvwm.h
--- fvwm.h  2 Jan 2003 12:01:18 -   1.220
+++ fvwm.h  19 May 2003 00:54:45 -
@@ -547,6 +547,7 @@
struct window_style *next;
struct window_style *prev;
char *name;
+   XID xid;
 #if 0
WindowConditionMask *condition_mask;
 #endif
Index: style.c
===
RCS file: /home/cvs/fvwm/fvwm/fvwm/style.c,v
retrieving revision 1.208
diff -u -r1.208 style.c
--- style.c 11 Mar 2003 23:14:07 -  1.208
+++ style.c 19 May 2003 00:54:52 -
@@ -724,7 +724,7 @@
}
 }
 
-static Bool remove_all_of_style_from_list(char *style_ref)
+static Bool remove_all_of_style_from_list(char *style_ref, XID xid)
 {
window_style *nptr = all_styles;
window_style *next;
@@ -735,7 +735,15 @@
{
next = SGET_NEXT_STYLE(*nptr);
/* Check if it's to be wiped */
-   if (!strcmp(SGET_NAME(*nptr), style_ref))
+   if (xid)
+   {
+ 

A Silent core dump

2003-05-07 Thread Olivier Chapuis
Hello,

A get a core dump with the following function:

AddToFunc CoreDump I Silent Move

Then executing

CoreDump

in a FvwmConsole gives a core dump with the follwing gdb output:

#0  __move_window (cond_rc=0xbfffef84, exc=0x81e93a8, action=0x81e939c ,
do_animate=0, mode=0) at move_resize.c:1321
1321w = FW_W_FRAME(fw);
(gdb) where
#0  __move_window (cond_rc=0xbfffef84, exc=0x81e93a8, action=0x81e939c ,
do_animate=0, mode=0) at move_resize.c:1321
#1  0x0806682b in CMD_Move (cond_rc=0xbfffef84, exc=0x81e93a8,
action=0x81e939c ) at move_resize.c:1461
#2  0x080998b5 in __execute_function (cond_rc=0xbfffef84, exc=0x81e9308,
action=0x81e93a8 M, exec_flags=128 '\200', args=0x81e939c)
at functions.c:602
#3  0x08099d87 in __run_complex_function_items (cond_func_rc=0xbfffef84,
cond=105 'i', func=0x1, exc=0x81e9308, args=0xb010) at functions.c:787
#4  0x08099fdf in execute_complex_function (cond_rc=0xb0ac, exc=0x81e5d98,
action=0x81e9308 M, desperate=0x5) at functions.c:957
#5  0x0809993a in __execute_function (cond_rc=0xb0ac, exc=0x81e9240,
action=0x81e5d98 M, exec_flags=0 '\0', args=0x81e92f8) at functions.c:621
#6  0x0809a53f in execute_function (cond_rc=0x0, exc=0x81e9240,
action=0x81db168 CoreDump, exec_flags=0 '\0') at functions.c:1193
#7  0x08086171 in ExecuteModuleCommand (w=0, module=1, text=0x81db168 SF)
at module_interface.c:693
#8  0x0808760e in ExecuteCommandQueue () at module_interface.c:1924
#9  0x08063cf7 in My_XNextEvent (dpy=0x80eb418, event=0xb360)
at events.c:3500
#10 0x08063a52 in HandleEvents () at events.c:3297
#11 0x0808458c in main (argc=3, argv=0xb8a4) at fvwm.c:2433
#12 0x401fc082 in __libc_start_main () from /lib/i686/libc.so.6


CMD_Move is executed with no FvwmWindow as DeferExecution is
stopped by silent but with (exec_flags  FUNC_DONT_DEFER)
true. I see various possible fix.

However, Dominik, maybe you will prefer to fix this yourself?

Regards, 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]


Core dump from __move_loop

2003-05-02 Thread Olivier Chapuis
I get the following core dump:

#0  FCheckWindowEvent (display=0x80eb418, w=8389041, event_mask=32,
event_return=0x0) at FEvent.c:330
330 *event_return = fev_event;
(gdb) where
#0  FCheckWindowEvent (display=0x80eb418, w=8389041, event_mask=32,
event_return=0x0) at FEvent.c:330
#1  0x0808a9ae in HandlePaging (pev=0x0, HorWarpSize=1024, VertWarpSize=768,
xl=0xbfffea0c, yt=0xbfffea10, delta_x=0xbfffea04, delta_y=0xbfffea08,
Grab=0, fLoop=0, do_continue_previous=1) at virtual.c:533
#2  0x08067608 in __move_loop (exc=0x1, XOffset=-6, YOffset=-161, Width=522,
Height=322, FinalX=0xbfffeeb8, FinalY=0xbfffeebc, do_move_opaque=1)
at move_resize.c:2001
#3  0x08065b94 in InteractiveMove (win=0x1, exc=0x82113c8, FinalX=0xbfffeeb8,
FinalY=0xbfffeebc, do_start_at_pointer=-6) at move_resize.c:1010
#4  0x080664d7 in __move_window (cond_rc=0xb0b4, exc=0x82113c8,
action=0x822f304 , do_animate=0, mode=-161) at move_resize.c:1408
#5  0x0806682b in CMD_Move (cond_rc=0xb0b4, exc=0x82113c8,
action=0x822f304 ) at move_resize.c:1461
#6  0x080998a5 in __execute_function (cond_rc=0xb0b4, exc=0x8211348,
action=0x82113c8 E, exec_flags=128 '\200', args=0x822f304)
at functions.c:602
#7  0x08099d77 in __run_complex_function_items (cond_func_rc=0xb0b4,
cond=109 'm', func=0x1, exc=0x8211348, args=0xb140) at functions.c:787
#8  0x0809a158 in execute_complex_function (cond_rc=0xb1dc, exc=0x81e2bd8,
action=0x8211348 E, desperate=0x6d) at functions.c:1080
#9  0x0809992a in __execute_function (cond_rc=0xb1dc, exc=0x81267f8,
action=0x81e2bd8 E, exec_flags=0 '\0', args=0x81e7798) at functions.c:621
#10 0x0809a52f in execute_function (cond_rc=0x0, exc=0x81267f8,
action=0x811dc70 FuncFvwmMoveOrRaiseOrShade, exec_flags=0 '\0')
at functions.c:1193
#11 0x0806045c in __handle_bpress_action (exc=0x81267f8,
action=0x811dc70 FuncFvwmMoveOrRaiseOrShade) at events.c:568
#12 0x080606ac in __handle_bpress_on_managed (exc=0x811dc70) at events.c:673
#13 0x08060745 in HandleButtonPress (ea=0xb314) at events.c:717
#14 0x080639b8 in dispatch_event (e=0xb360) at events.c:3261
#15 0x08063a70 in HandleEvents () at events.c:3299
#16 0x0808457c in main (argc=3, argv=0xb8a4) at fvwm.c:2433
#17 0x401fc082 in __libc_start_main () from /lib/i686/libc.so.6

I think I can fix it, but Dominik I think it is better that you
fix it.

Regards, 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: FwmIdent errors

2003-04-30 Thread Olivier Chapuis
On Wed, Apr 30, 2003 at 12:48:24AM -0400, Bob Woodside wrote:
 On Tue, 29 Apr 2003 17:48:54 -0400
 Dan Espen [EMAIL PROTECTED] wrote:
 
  I run FvwmIdent with:
  
  *FvwmIdent: Back Black
  *FvwmIdent: Fore white
  *FvwmIdent: Font 9x15bold
  
  no problem here, but I missed the version
  you had the problem with.
  
  I don't get any errors running with current CVS.
 
   Aha! Do you by any chance also have a *FvwmIdent: Colorset n
 command...following the Back/Fore commands? That works.
 
   UpdateBackgroundTransparency is getting called from ProcessXEvent with
 a colorset of -1 if there is no colorset specified, or if Back/Fore are
 specified after the colorset. It just goes downhill from there.


Yes, that's the bug.
 
   Is the intent that order matters (i.e., that Back or Fore should
 override a previously specified colorset), or that the colorset should
 override Back/Fore regardless of the order? (My current working copy
 implements the former precedence, but I'll change it to do the latter if
 that's the consensus.)


I think that  Back or Fore should override a previously specified colorset.

Regards, 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]


  1   2   3   4   5   >