Discussion:
FVWM: How to bring FvwmIdent onto layer 6 [Was: FvwmIdent disappears very often]
Michael Großer
2012-01-09 21:41:46 UTC
Permalink
Hi!

There are two questions in one e-mail message. I have to split it
and answer the questions separately.
s/minimal_layer/MinimalLayer/
When I additionally I set a StaysOnTop style to bring FvwmIdent on top,
I noticed that this does only work when I apply FvwmIdent on
xterms, but not on nedit, Iceweasel, FvwmIdent or some other instances.
Look at the "MinimalLayer" option in "man FvwmIdent". Everything else
you've tried can be got rid of with this option.
I tried it just now, and it does not reliably work. Not with my
productive system (fvwm 2.5.26). I could try it again later when
I migrate to something newer.
*FvwmIdent: minimal_layer 10
Always puts FvwmIdent in layer 10 which is high enough to ensure it's not
obscured by any other applications.
So, since you gave me a code snipped, I noticed now that I made a mistake.
I confused the configuration options of FvwmIdent with the generic "Style"
command of FVWM.
DestroyStyle FvwmIdent
Style FvwmIdent StaysOnTop, NeverFocus, MinimalLayer 6
This could not work, because there is no style option called MinimalLayer.
DestroyStyle FvwmIdent
Style FvwmIdent StaysOnTop, NeverFocus
*FvwmIdent: MinimalLayer 6
This works perfectly.

Well, it only works perfectly,
because I combine "*FvwmIdent: MinimalLayer 6"
with "DestroyStyle FvwmIdent"
and "Style FvwmIdent StaysOnTop, NeverFocus".

When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
What else in your productive system isn't working?
My free hour for today is over. I think, the smartest
approach how to answer this important question is that
I make a list in which I mention all problems I'm
confronted with using few words for each problem.
Then I should prioritise all list entries in a way
that the problems whose solution would bring me the
most benefit are at the top of the list. I will do
it during the next days.



Thank you and best regards,
Michael
Thomas Adam
2012-01-09 21:55:13 UTC
Permalink
Post by Michael Großer
When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
Big man, he say "Woo, bright light in sky. Oog.", and the villagers, they
rejoice because it comforts them. "Oog, oog, oog." they prance around in
delight, whilst looking up at the bright light in the sky.

Unfortunately, this doesn't have anything to do with my original reply.
Unfortunately though, I've now conflated that with said reply, so you're
likely just as confused as I was when reading this.

Michael, if you've got two separate problems, please treat them as such. So
far, I've had to do the following:

* Wade through a plethora of FVWM config which isn't really related to your
problem most of the time, but gets included by you somehow because it's
easier. Fine, but my brain is tired of interpreting it all the time.

* Separate out in my head the different issues and decide if they're even
related.

* Still give meaningful replies to you based on observations you've had, but
which haven't been asked as questions by you, but actually form more
important information than anything you might have mentioned (difficult on
your part because if you knew this information you wouldn't have to ask
the questions in the first place, I know).

None of the information you've given above about vector buttons ever *made*
it in to your original email, and yet now they're conflated with
minimal_layers and God knows what else.

Separate them out, and ask separate questions, as many as you like in
different email threads if you so wish, but don't give me disparate pieces
of information like the above and expect me to be able to connect the dots.
It just won't work.

So, the above will need explaining -- because it makes no sense to me.

-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Großer
2012-01-10 08:21:37 UTC
Permalink
Post by Thomas Adam
Post by Michael Großer
When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
Big man, he say "Woo, bright light in sky. Oog.", and the villagers, they
rejoice because it comforts them. "Oog, oog, oog." they prance around in
delight, whilst looking up at the bright light in the sky.
Unfortunately, this doesn't have anything to do with my original reply.
Unfortunately though, I've now conflated that with said reply, so you're
likely just as confused as I was when reading this.
Michael, if you've got two separate problems, please treat them as such. So
* Wade through a plethora of FVWM config which isn't really related to your
problem most of the time, but gets included by you somehow because it's
easier. Fine, but my brain is tired of interpreting it all the time.
* Separate out in my head the different issues and decide if they're even
related.
* Still give meaningful replies to you based on observations you've had, but
which haven't been asked as questions by you, but actually form more
important information than anything you might have mentioned (difficult on
your part because if you knew this information you wouldn't have to ask
the questions in the first place, I know).
None of the information you've given above about vector buttons ever *made*
it in to your original email, and yet now they're conflated with
minimal_layers and God knows what else.
Separate them out, and ask separate questions, as many as you like in
different email threads if you so wish, but don't give me disparate pieces
of information like the above and expect me to be able to connect the dots.
It just won't work.
So, the above will need explaining -- because it makes no sense to me.
-- Thomas Adam
In order to elaborate all weak points of FVWM to tackle them later,
I actually should create an account at "http://fvwmforums.org/"
and post there my list I mentioned yesterday.

Then I should work for the next two or three years based on this list
(using reference numbers for each list item) to separate things
out, set priorities, provide more pieces of information for each
"problem". For me, a lot of problems are "unsolved", but only few
of them interfere with my daily workflow. The remainder of them are
just little flaws that cause workarounds.

Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?

I can live with separating the topics from each other. Only, please
know that I need a lot of time to painstakingly collect all pieces
of information for each reference number, to perform tests in my
own environments and to check out all workarounds or problem-solving
approaches I receive from you and other members of this community.

As mentioned above, I possibly will need weeks, months or years
to tackle all of these "problems", together with you and the community.
You will live with the fact that I will mention a problem first
and you will have to wait possibly several months until I provide
more pieces of information that enable you to solve or even (entirely)
understand a particular "problem".

Some problems you will not understand when I just "mention" them.
Other problems you will remember like a shot, because you just know
them. Trouble is that I cannot know which of these two cases will
occur when I simply "mention" a problem without providing details.

Michael
Thomas Adam
2012-01-10 08:36:15 UTC
Permalink
Post by Michael Großer
Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?
I think that's overkill, personally.

-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Großer
2012-01-10 08:38:35 UTC
Permalink
Post by Thomas Adam
Post by Michael Großer
Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?
I think that's overkill, personally.
-- Thomas Adam
How else then?
Michael Großer
2012-01-10 08:40:09 UTC
Permalink
Post by Michael Großer
Post by Thomas Adam
Post by Michael Großer
Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?
I think that's overkill, personally.
-- Thomas Adam
How else then?
I mean, I am the one who collects the details this way...
Dan Espen
2012-01-10 14:50:12 UTC
Permalink
Post by Michael Großer
Post by Thomas Adam
Post by Michael Großer
Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?
I think that's overkill, personally.
How else then?
If you have an fvwm problem just tell us.
That's what others do.
--
Dan Espen
Michael Großer
2012-01-10 20:07:58 UTC
Permalink
Post by Dan Espen
Post by Michael Großer
Post by Thomas Adam
Post by Michael Großer
Is it OK to do it this way? Making a list in the forum, working with
reference numbers and (if possible) not using more than one reference
numbers in one e-mail or forum thread?
I think that's overkill, personally.
How else then?
If you have an fvwm problem just tell us.
That's what others do.
OK. I change my strategy. I will just follow up
the list of problems that is located in my
mind in the order of importance during the next
months.
Michael Großer
2012-01-20 20:37:07 UTC
Permalink
Post by Michael Großer
When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
I discovered the "Refresh" function today :-)
My "Stick Stick" workaround seems to be obsolet from
now on.



http://www.fvwm.org/doc/unstable/fvwm/fvwm.man.html#delayed_execution_of_commands
Post by Michael Großer
27.2. Delayed Execution of Commands
Note: There are many commands that affect look and
feel of specific, some or all windows, like Style,
Mouse, Colorset, TitleStyle and many others. For
performance reasons such changes are not applied
immediately but only when fvwm is idle, i.e. no user
interaction or module input is pending. Specifically,
new Style options that are set in a function are not
applied until after the function has completed. This
can sometimes lead to unwanted effects.
To force that all pending changes are applied
immediately, use the UpdateStyles, Refresh or
RefreshWindow commands.
Nice Feature :-)
Thomas Adam
2012-01-20 20:43:15 UTC
Permalink
Post by Michael Großer
Post by Michael Großer
When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
I discovered the "Refresh" function today :-)
No, you still didn't answer my question. I still don't understand why you
need Refresh here,
Post by Michael Großer
Post by Michael Großer
Note: There are many commands that affect look and
feel of specific, some or all windows, like Style,
Mouse, Colorset, TitleStyle and many others. For
performance reasons such changes are not applied
immediately but only when fvwm is idle, i.e. no user
interaction or module input is pending. Specifically,
new Style options that are set in a function are not
applied until after the function has completed. This
can sometimes lead to unwanted effects.
To force that all pending changes are applied
immediately, use the UpdateStyles, Refresh or
RefreshWindow commands.
Nice Feature :-)
But not needed anymore. I wouldn't confuse the two.

-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Großer
2012-01-20 21:42:41 UTC
Permalink
Post by Thomas Adam
Post by Michael Großer
Post by Michael Großer
When I only set "*FvwmIdent: MinimalLayer 6" without
the Style commands, though the FvwmIdent window
appears on layer 6, but the vector buttons in the window
decorations, wich I draw with ButtonStyle in my
"0001_window_decorations" config file, do not
get refreshed. They will get refreshed when I focus
another window. Setting the styles I need anyway
(StaysOnTop + NeverFocus) prevents this sort of laziness
of the vector buttons. This is a bug I know for months,
and I use "Stick" "Stick" to work around this.
Since I have a workaround, I would classify this
bug as "it would be nice if someone would fix it".
I discovered the "Refresh" function today :-)
No, you still didn't answer my question. I still don't understand why you
need Refresh here,
I have these 9 title-bar buttons:

# Bind some decors to the buttons at the left side
ButtonStyle 1 - Clear MwmDecorMenu
ButtonStyle 3 - Clear MwmDecorStick
ButtonStyle 5 - Clear MwmDecorLayer 6
ButtonStyle 7 - Clear MwmDecorLayer 4
ButtonStyle 9 - Clear MwmDecorLayer 2

# Bind some decors to the buttons at the right side
ButtonStyle 2 - Clear
ButtonStyle 4 - Clear MwmDecorMax
ButtonStyle 6 - Clear MwmDecorMin
ButtonStyle 8 - Clear MwmDecorShade

I made a screenshot to show them in real live.

Button 5, 7 and 9 show me the layer of a respective window
(and I can change the layer by klicking one of the buttons).



When I write
Post by Thomas Adam
*FvwmIdent: MinimalLayer 6
into my config, then FVWM brings FvwmIdent onto layer 6,
but the buttons do not always indicate that FvwmIdent is
on layer 6. Sometimes, layer 4 or both layer 4 and layer 6
are optically latched. The reality may be OK, but the
visual effect is not OK.

When I use StaysOnTop and NeverFocus, then also the
visual effect is Ok. I suppose that the "Refresh" function
was invented for this kind of trouble.

I don't know how a current FVWM version reacts, I'm
still too impatient and use FVWM 2.5.26 instead of
using a new version, because the other to-do list
is long and using a current version of FVWM is somewhere
in the middle of the other to-do list, where I go a clean
way and take one thing at a time.

Question answered?
Post by Thomas Adam
Post by Michael Großer
Post by Michael Großer
Note: There are many commands that affect look and
feel of specific, some or all windows, like Style,
Mouse, Colorset, TitleStyle and many others. For
performance reasons such changes are not applied
immediately but only when fvwm is idle, i.e. no user
interaction or module input is pending. Specifically,
new Style options that are set in a function are not
applied until after the function has completed. This
can sometimes lead to unwanted effects.
To force that all pending changes are applied
immediately, use the UpdateStyles, Refresh or
RefreshWindow commands.
Nice Feature :-)
But not needed anymore. I wouldn't confuse the two.
Which "two" do you meam?

Today, I solved a problem using "Refresh" during my
attempts to build a KDE3 like alt-tab behaviour.

If it is superfluous in later FVWM versions, I can still
omit it in the future, but today, I needed it.
Michael Großer
2012-01-20 21:49:30 UTC
Permalink
Post by Michael Großer
Post by Thomas Adam
Post by Michael Großer
Post by Michael Großer
Note: There are many commands that affect look and
feel of specific, some or all windows, like Style,
Mouse, Colorset, TitleStyle and many others. For
performance reasons such changes are not applied
immediately but only when fvwm is idle, i.e. no user
interaction or module input is pending. Specifically,
new Style options that are set in a function are not
applied until after the function has completed. This
can sometimes lead to unwanted effects.
To force that all pending changes are applied
immediately, use the UpdateStyles, Refresh or
RefreshWindow commands.
Nice Feature :-)
But not needed anymore. I wouldn't confuse the two.
Which "two" do you meam?
I understood: Right! For each purpose you have to choose
the right tool. Either UpdateStyles or Refresh. It
depends on the context.
Thomas Adam
2012-01-20 22:24:24 UTC
Permalink
Post by Michael Großer
# Bind some decors to the buttons at the left side
ButtonStyle 1 - Clear MwmDecorMenu
ButtonStyle 3 - Clear MwmDecorStick
ButtonStyle 5 - Clear MwmDecorLayer 6
ButtonStyle 7 - Clear MwmDecorLayer 4
ButtonStyle 9 - Clear MwmDecorLayer 2
# Bind some decors to the buttons at the right side
ButtonStyle 2 - Clear
ButtonStyle 4 - Clear MwmDecorMax
ButtonStyle 6 - Clear MwmDecorMin
ButtonStyle 8 - Clear MwmDecorShade
I made a screenshot to show them in real live.
Button 5, 7 and 9 show me the layer of a respective window
(and I can change the layer by klicking one of the buttons).
Right. Can you provide a more minimal configuration for this including any
mouse bindings and style lines affecting how the decor is rendered. I note
here you're not using a decor which might explain some of your problems.
But again I can't reproduce this.

-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Großer
2012-01-23 22:59:13 UTC
Permalink
Post by Thomas Adam
Post by Michael Großer
# Bind some decors to the buttons at the left side
ButtonStyle 1 - Clear MwmDecorMenu
ButtonStyle 3 - Clear MwmDecorStick
ButtonStyle 5 - Clear MwmDecorLayer 6
ButtonStyle 7 - Clear MwmDecorLayer 4
ButtonStyle 9 - Clear MwmDecorLayer 2
# Bind some decors to the buttons at the right side
ButtonStyle 2 - Clear
ButtonStyle 4 - Clear MwmDecorMax
ButtonStyle 6 - Clear MwmDecorMin
ButtonStyle 8 - Clear MwmDecorShade
I made a screenshot to show them in real live.
Button 5, 7 and 9 show me the layer of a respective window
(and I can change the layer by klicking one of the buttons).
Right. Can you provide a more minimal configuration for this including any
mouse bindings and style lines affecting how the decor is rendered. I note
here you're not using a decor which might explain some of your problems.
But again I can't reproduce this.
Is this config minimal enough for you?

http://www.jumping-blue-turtle.com/fvwm/will_disappear_on_random_date_2012-05-12/8998_bugdemo_002.tar.bz2

I tested it on FVWM "version 2.5.26".



Press Win+x to get an "xterm".
Press Win+n to get an "nedit" window.
Press Win+f to get a "firefox".
Other shortcuts are in "0005_general_shortcuts".



At the bottom of the screen, you should find an FvwmIconMan.
Rightclick with your mouse on an entry there.

An FvwmIdent appears with button 7 pointed out: A continuous line
indicates that FvwmIdent is in layer 4, but this is not true,
because FvwmIdent is in layer 6.

Move your mouse. As soon as another window gets focus,
something at FvwmIdent will change: Now, button 5 will be
pointed out: A continuous line indicates that FvwmIdent is
in layer 6, which indeed is true.

The bug is that FvwmIdent does not immediately indicate
that it is in layer 6.

The file "0001_window_decorations" contains the code
that draws the buttons to the windows and colorizes
the window decorations.

I made the second and the third line of "0012_FvwmIdent" inactive.
Normally, I need them active to fix some problems of FvwmIdent.
When they are active, FvwmIdent always indicates the truth
(the right layer).



If you can reproduce this bug only with an older version
of FVWM but not with a current version, then the case should
be closed. If a current version also has this bug, then you
can do something if you want. You also can wait some weeks
until I test it against a current version by myself :-)

Loading...