Subject: FVWM: Iconifying widows on specific pages

From: Thomas Adam <[email-masked]>
Date: Tue, 6 Feb 2001 00:44:17 -0800 (PST)

Dear List,

I am sorry if I have sent numerous question, many of
which are probably trivial, it is just that I love
AnotherLevel. I think that it is the best window
manager that I have used in Linux. Much more so than
the abominal KDE or GNOME!!

So, yet again, I have another question for you to try
and solve!!

I use AnotherLevel (Lestiff WM). I have it setup in
the following way. I have one desk which is called
"Desk" (and which contains 4 pages) and another desk
called "Apps" (which also contains 4 pages). And when
AnotherLevel loads, the initial desk which is
displayed is "Desk", and on it is displayed the
following:

FvwmPager
xcpustate
xconsole (started Iconically)

All of the above are sticky windows!! Thus when I
change to different pages within BOTH desks those
windows appear (obviously!!).
My question is.....can I specify certain pages within
a DESK so that when I switch to that desk, the sticky
windows iconify (or are hidden) and make themselves
"non sticky". I know that this may seem like a strange
question, but it is a necessary one!!!

N.B. Does the fact that FvwmPager having no border
(because it is started as "Minimal Decoration") affect
this????

I hope that the question makes sense. Your help is
really appreciated.

Thanks in Anticipation,

Thomas Adam

=====
Thomas Adam
Linux Co-ordinator for The Purbeck School

e-mail (school): [email-masked]
e-mail (yahoo) : [email-masked]

__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - Buy the things you want at great prices.
http://auctions.yahoo.com/
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: "Thomas A. Gardiner" <[email-masked]>
Date: Tue, 6 Feb 2001 07:43:46 -0500 (EST)

Hi,

>the abominal KDE or GNOME!!

So then you should realize that the window manager is Fvwm2.  AnotherLevel
is a m4 package which together with FvwmM4 constructs a .fvwm2rc file for
you.  (I still use a modified version of the AnotherLevel package too...)

>called "Apps" (which also contains 4 pages).

You should know that the name Desk and Apps are just that "names or
labels" which are set in one of the m4 files; there's nothing special
about them.  What you are describing is two desks with 2x2 pages on each
desk in the language of Fvwm2.

>And when

Sticky is not what causes these windows to move from page to page and desk
to desk.  Sticky means that you can not drag the window to a new location.
Something you need to look for is that the AnotheLevel package uses
aliases (in m4) in the file fvwm2rc.decors.m4.  Search for FvwmAlias and
you will find 

# FvwmAlias macro will ease the trouble-- you can use all lower case, 
# all uppercase, or *proper* mixed capitalization
# eg. StickyOnTop, stickyontop, or STICKYONTOP all work
# but StickyonTop will *not* work

define(`FvwmAlias',`
define(`$1',`$2')
define(upcase(`$1'),`$2')
define(downcase(`$1'),`$2')
')

...
fvwm2rc.decors.m4: FvwmAlias(WinCircSkip,`WindowListSkip,CirculateSkip')

>question, but it is a necessary one!!!

I believe if you change the style definitions from WinCircSkip to
WindowListSkip that will cause them "not to follow you around" but still
appear when you press the middle mouse button on the root window, assuming
that you have not changed the behavior of this action.

Tom

---

From: "Thomas A. Gardiner" <[email-masked]>
Date: Tue, 6 Feb 2001 07:58:26 -0500 (EST)

>to desk.  Sticky means that you can not drag the window to a new location.

Damn...  I hate being wrong and moreover spreading lies...  Sorry, I guess
I was just a bit confused.  I started diging through the man pages and    
noticed it and a few quick tests confirms it...  Maybe someone else can   
answer your question here...
 
Tom

---

From: Mikhael Goikhman <[email-masked]>
Date: Wed, 7 Feb 2001 04:32:58 -0600

> question, but it is a necessary one!!!

You can't specify stickiness per page or per desk, it is a global setting.
Either a window is sticky (visible on all pages) or not (only on one page).

But you may try to change stickiness dynamically if you are not afraid of
writting some functions, which would do what you need. This may be done
using Stick command which triggers stickiness, but I don't suggest this,
you will not like the result. However you may try to iconify on and off
your sticky windows when switching to some desk (or even some page).

Here are some ideas if you really need this "strange" (your word) feature.

  AddToFunc GotoDesk1
  + I Next (FvwmPager CirculateHit) Iconify 1
  + I Next (xcpustate CirculateHit) Iconify 1
  + I Next (xconsole  CirculateHit) Iconify 1
  + I Desk 0 1

  AddToFunc GotoDesk0
  + I Next (FvwmPager CirculateHit) Iconify -1
  + I Next (xcpustate CirculateHit) Iconify -1
  + I Next (xconsole  CirculateHit) Iconify 1  # if you prefer it iconified
  + I Desk 0 0

  Key 1  A  CM  GotoDesk0   # Ctrl-Alt-1 to switch to "Desk"
  Key 2  A  CM  GotoDesk1   # Ctrl-Alt-2 to switch to "Apps"

If you use 2.3.x version the syntax I used should work since it is still
mostly backward compatible, but I would suggest a more "correct" syntax:

  Old (2.2.x)             | New (2.3.x)
--------------------------+----------------------------------
  Desk 0 1                | GotoDesk 0 1
  Iconify 1               | Iconify true
  Iconify -1              | Iconify false
  Next (xxx CirculateHit) | All (xxx)    # if you have more than one xxx

In 2.3.x you may also use: All (Sticky) Iconify toggle.

> (because it is started as "Minimal Decoration") affect

I am not sure I understand the question, but if you ask whether
decorations have any effect on stickiness, the answer is no.

Regards,
Mikhael.