How to test if window has style CirculateSkip

Is there a way to test if the current window has CirculateSkip set?

For example, I use alt-tab to switch focus in the usual way. If I wanted to use alt-shift-tab to switch focus only between windows that are normally skipped by alt-tab, how should I do it?

I’m currently doing it by assigning State 1 to each window that has CirculateSkip set. Just curious if there’s a better way.

–Flatline

Not directly. It’s only an inclusion via the use of CirculateHit

Look at ‘WindowListSkip’ and ‘WindowListHit’, especially if this is via something like the WindowList menu which is what the default behaviour has with FVWM.

The only other way you can do it is to reference all window via CirculateHit in some menas, but then you’d get all windows, irrespective of those window that had not had CirculateSkip applied to them.

I question why you want something like this at all. The use of states is OK, but clumsy, IMO.

– Thomas Adam

What I’m really trying to do is have a button or menu item that toggles a window between CirculateSkip and !CirculateSkip. It is easily accomplished by setting state, but I was wondering if there was a more direct way of doing it.

I apologize if my initial post was misleading.

–Flatline

Oh right. You want something like this then (I’m using the ‘‘Pick’’ command here to give context, but you can adapt it to suit your needs). Take a window that has a style of CirculateSkip already set. If you wanted to test for that, then:

Pick (!CirculateHit) WindowStyle CirculateHit

Hence the window you’ve selected now has a style of CirculateHit which will then allow you to do:

Pick WindowStyle CirculateSkip

This is because ThisWindow on its own implies CirculateHit already, so you don’t need to test for it.

Does that Help?

– Thomas Adam

Yes, that’s perfect!

Slowly but surely I’m narrowing down the WM behavior that lets me work the way I work. In other WMs, I simply learned how to work within the constraints of the WM (which eventually would grow frustrating enough to motivate me to learn another WM). With FVWM, I find that I’m constrained by my old habits from previous WMs, not with any assumptions built into FVWM. As I unlearn those habits, I tweak my FVWM config to no longer cater to those habits.

If my questions these last couple of weeks have seemed random or unguided, it’s because I’m exploring how I want to work in the absence of a constraining WM and, as such, have explored a lot of ideas that seemed like a good idea at the time, but didn’t always pan out. It turns out that when I’m left to my own devices, I don’t really have a good idea of how I work best.

Anyways, thanks for all your help. I’m sure I’ll have lots more questions in the future. At a minimum, at some point I’ll probably attempt to make my desktop look pretty…

–Flatline

You should add that to the Testimonials page of the wiki:
fvwmwiki.org/AboutFvwm/Testimonials

Added with some grammatical cleanup.

–Flatline

Which would have been what, out of interest?

Not unguided as such. Most of the questions I have ever answered aren’t logically related to some predefined sequence. Often they’re explanations about how to do a task, or (more commonly) they’re about trying to apply various conditions to a given situation. This is ultimately what motivated me to start to write the Cookbook. The issue of people trying to solve a given problem isn’t necessarily because they don’t understand what they’re wanting to do, but because they don’t know how to apply the given scenarios to FVWM syntax.

You’re welcome.

– Thomas Adam

What are the habits that I’ve outgrown? Well, it’s hard to enumerate, but I can certainly give you an idea…

When I first moved to FVWM, it was mostly because FVWM allowed me to fine tune focus policy. One day I realized that I hadn’t minimized/iconified/shaded a window in a long time and I realized that it was because I no longer had a cluttered desktop (it’s so easy to move windows from one desk to another that it wasn’t necessary to rely on things like icons/taskbar/whatever to keep track of all your apps…you can simply spread out). A little while later, all such functionality was removed from my config. I don’t load FvwmButtons and don’t even have a way to iconify apps anymore. Now my computer desktop is organized very much like my real desktop (4 desks with lots of stuff spread out over them…if I have to stack things, I quickly forget that the covered item even exists…therefore having lots of surface to spread out is extremely important).

In previous WMs, if you needed to be looking at one window while typing in another, you had to move windows about or resize them to make this work (and I did it that way for quite some time in FVWM). Then I realized the magic of layers. Now I simply “float” the window I need to type in above the reference window and I can move focus back and forth without having the two windows constantly fighting to be on top.

Now when I boot up, I have an empty black screen. Clicking in the root window brings up a menu with every app I need directly (read: apps I launch on desktops that don’t already have an xterm on them or have a really tedious command line), and a couple FVWM commands (restart fvwm, exit fvwm, fvwmconsole, and fvwmident). I maximize windows, stickify windows (for moving windows to other desks), and alternate through windows by clicking on the titlebar. I have a single button on the right for closing the window (which automatically places the mouse over the close button for the next window…allowing me to quickly close lots of windows without having to aim the damn mouse (I hate aiming!)), and a single button on the left for toggling floating windows and, using another mouse button, toggling CirculateHit/CirculateSkip for each window. I used to have lots of titlebar buttons and menus, but once I got used to how FVWM let me work, I realized I no longer needed most of them. If I need to do something strange, I use FvwmConsole. If I find myself doing that more than twice in a short period of time, I add it to my config somehow (mostly in my root window menu or, rarely, a new titlebar button binding).

Perhaps long-winded, but hopefully that satisfied your curiosity. All this evolution has happened over the last 3 years or so.

–Flatline

ps. I’ve got things pretty much so that once I get going, I almost never use the mouse except for webbrowsing or changing my focus order. It’s wonderful.