Stop normal ALT+TAB processing

Hi, ALL,
I’m new to this list. Just registered, since apparently our product is using FVWM as a window manager.

I have a following problem.

In our application we have a window called “Lock Screen”. When called it is displayed in the full-screen mode and contains "User ID’ and “Password” text field along with “Authenticate” and “Logout” buttons.
When this “Lock Screen” window is present user shouldn’t be able to switch to the “xterm” and type a commands or some garbage.

I tried to implement it by adding following into the configuration file:

Key <my_lock_screen_window_name> Tab A M WindowList("!xterm")

but when that window is up pressing ALT+TAB still displays the xterm in the popup menu list.

All I am looking for is to keep the keyboard focus in my “Lock Screen” window even if I try to switch to xterm by pressing ALT+TAB.

Is there a better way to do that? And if not - what am I doing wrong with that line?

Thank you.

This approach seems inherently insecure - you might invest in a proper lock screen like slock from suckless-tools.

This binding prevents any windowlist menu being opened when the “Lock Screen” window is focused.

 Key Tab A M ThisWindow (!"Lock Screen") WindowList 

Yeah, but I don’t think there is a necessity here to be honest.

Hi,

I’m curious - why do you say this?
This window/dialog is displayed in the full-screen mode. It does not have any decorations (no title bar and no border), so user can’t drag/resize it.
Is there anything I’m missing?

This works perfectly when the “Lock Screen” is up. No menu is displayed when the “ALT+TAB” keys are pressed.

However there is one downside.

Our application is using a thrid-party application which display map on the screen. This application should be globally excluded from the ALT+TAB menu and this is the only application there is that should be excluded from it.

So in the fvwmrc file we have a following line:

Key Tab      A      M     WindowList (!"Map_app")

So when I added the line you suggestged as a second line after this - while everything works perfectly with the Lock Screen, the Map Application shows up in the ALT+TAB list.

Is there a way to combine those 2 lines in one?

Thank you.

P.S.
Just to clarify. Right now I have folowing in the configuration file:

Key Tab      A      M     WindowList (!"Map_app")
Key Tab      A      M ThisWindow (!"Lock Screen") WindowList 

and I need to combine those 2 lines together somehow.

I imagine the 2nd keybinding above cancels out the first. But have you tried using WindowListSkip to exclude Map_app from the WindowList instead? Something like…

Key Tab A M ThisWindow (!"Lock Screen") WindowList Style Map_app WindowListSkip

Hi,
Just tried to make the change in the configuration file.
I rebooted and when the program comes up I see the <Map_app> when I hit the ALT+TAB.

I guess all I need is to somehow combine those 2 statements in one.

Keep in mind that we don’t have people who is knowledgeable with FVWM - we don’t do active development anymore. Program is in “Maintenance and Support” stage for the last 2 years or so.
And I’m a very beginner with this Window Manager.

Thank you for the help so far.

P.S.:

root # rpm -qa | grep fvwm
fvwm-2.5.28-0.20120329.x86_64
fvwm-themes-0.6.2-1.noarch

P.P.S.:

Switching those 2 lines doesn’t work either.

I understand you are learning. But since you’re on an old version w/fvwm-themes (which I’ve never used), I must be circumspect. Instead of the above, you might try this. Elsewise, someone else may know more…

 Key Tab A M ThisWindow (!"Lock Screen") WindowList (!"Map_app") 

Hi, phleagol,
Thank you.
You last line solve our ticket. Works as expected.

I don’t know how to mark the thread as “SOLVED” though so you can get credit.

Thank you one more time.

Just one small question/comment: I did test it in VM first to make sure its working and then tried on the actual hardware. For some reason the window name for the Lock_Screen was different - on VM it was Lock_Screen, while on the actual hardware it was Lock_Screen_FullScreen.

I was told that I can just do (“Lock_Screen*”) and it will work on any environment.

Did you ever hear about something like this - window name change? We have VMware Workstation 12 Pro Version 12.5.9 running on RedHat 7 (host) with the RedHat 6 as a guest.

If this is new to you and you never heard about that - that’s OK. A HUGE “THANK YOU” goes to you for the help with this.

Window names that change are a common enough feature in programs. Although the window class_name normally remains constant. But Lock_Screen* makes sense here for you - using a “*” makes it more inclusive.

Job done and ticket cleared! You’re welcome oneeyeman :slight_smile: