Hi:
Moderators: Please move this thread if it is no longer in the correct forum. If it is not, I apologize.
As I have spent more time looking at the problem I have of ‘controlling instantiation’ of an application, and limiting the number of instances of an application to 1 instance, I have decided to give a detailed explanation of my problem in hopes of someone having a good solution. I have not been clear enough in my previous posts.
Here is the best explanation I can give:
I have multiple applications controlled by FVWM. Some applications start at boot up time (lets call them primary apps), whereas others start only when needed. These secondary applications are my concern. I want to start up one of these secondary app’s via a third party application (not the FVWM).
EX: Foo is running via FVWM, I bring it into focus, and press a button on it that says, “turn on Sub_Foo” which starts up another application named Sub_Foo. This button that I pressed is not an FVWM button, it is a button within the Foo application (C, Java, whatever – it is just a button).
Now assigning this secondary application a desk to reside on, as well as some style about it is not the problem – I know how to do such a thing in .fvwm2rc. The problem that I have is as followsw:
The next time app Foo is brought into focus, and the Sub_Foo button is pressed, I want FVWM to dis-allow the instantiation of another Sub_Foo application, and simply bring the currently instantiated Sub_Foo into focus.
That is the whole thing (more or less). I just want FVWM to say, “let me check and see if there is another application with your name active… oops, there is one, let me bring it into focus”.
I just cannot seem to find a way to do so without using a button on the fvwm desktop. I need this type of functionality to be possible if Sub_Foo is started up by Foo, instead of the desktop (honestly, I don’t know if this is even possible).
It almost seems like the flow of control would go like this:
Xserver --> FVWM --> Foo --> FVWM --> Sub_Foo
And I just have the slightest idea how to do that, or if it is even possible.
If anyone has any ideas, please let me know.
Thanks,
Skender