Re: FVWM: suspending a process on Iconify

2014-06-02 Thread Dominik Vogt
Isn't

  $ killall -STOP seamonkey-bin

and

  $ killall -CONT seamonkey-bin

an option?  If you're not working as root this should be fine.
(Don't know from the top of my head what the correct executable
name is.  Maybe it's "seamonkey.bin", not "...-bin".)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: FVWM: suspending a process on Iconify

2014-06-02 Thread lee
Bastian  writes:

> On 02Jun14 01:44 +0200, lee wrote:
>> des...@verizon.net (Dan.Espen) writes:
>> 
>> > lee  writes:
>> >
>> >> Hi,
>> >>
>> >> I would like to make a function that suspends the corresponding process
>> >> when I iconify a window and unsuspends it when I uniconify the window.
>> >>
>> >> Particularly, I want to (un-)suspend seamonkey with this (because it
>> >> uses ridiculous amounts of CPU time and memory the latter of which might
>> >> be swapped out more easily when the process is suspended than when it is
>> >> not).
>
> Have you thought about this process is behaving mad? buggy? memory
> leaking? 

It`s seamonkey, and I haven`t found a good replacement for it yet.
Other than needing resources like every other comparable web browser,
it`s working remarkably well.

> I would assume STOPPING STARTING is _not_ a solution to this kind of
> problem.

It`s a nice workaround.  Do you have a solution?

> Btw, try to find an overall load on your machine which does _not_
> require memory swapping. 

That would require to not use some applications I`m using the most, and
it won`t solve the problem of wasting CPU time.

>> >> The kill command works nicely for it, i. e. 'kill -STOP > >> process>' and 'kill -CONT ' work fine.
>> >>
>> >> I googled for a solution and found some suggestions as to obtain the
>> >> process ID, yet none of them seemed to work.  Since seamonkey is usually
>> >> started through fvwm with a starter function, I might be able to obtain
>> >> the PID when starting it and use that.  However, this approach would be
>> >> somewhat limited.
>> >
>> > X windows don't have an associated PID, after all, the window might be
>> > from a remote system.
>> >
>> > For your case, pgrep might give you the PID.
>
> To increase the probability to chose the correct PID to SIGSTOP, try to
> run xprop on the window ID. This will give you among others:
>
>   WM_CLIENT_MACHINE(STRING) = "${YOUR_HOSTNAME}"
>   WM_COMMAND(STRING) = { "xlogo", "-rv" }
>
> Here you can see the window id is attached to a process running on
> YOUR_HOSTNAME and this process was started with the command (in the
> above example)  $(xlogo -rv).

That`s nice for verification, thanks.  What I`m having trouble with is
how to use things like this with fvwm.  It`s easy to get very unexpected
results and very difficult to debug.

>> Hm, it would be better to remember the PID when starting the application
>> and then use it to suspend it.  I`m not sure yet how to do that, though
>> ...
>
> Setting and remembering the PID when starting seamonkey, could be solved
> by using an environment variable.  But this requires that seamonkey is
> startet via a fvwm function which in turn sets this variable.
> Starting seamonkey from e.g. a console would by-pass this mechanism.

It`s already started from a function, so that would work.


-- 
Knowledge is volatile and fluid.  Software is power.



Re: FVWM: suspending a process on Iconify

2014-06-02 Thread Bastian
On 02Jun14 01:44 +0200, lee wrote:
> des...@verizon.net (Dan.Espen) writes:
> 
> > lee  writes:
> >
> >> Hi,
> >>
> >> I would like to make a function that suspends the corresponding process
> >> when I iconify a window and unsuspends it when I uniconify the window.
> >>
> >> Particularly, I want to (un-)suspend seamonkey with this (because it
> >> uses ridiculous amounts of CPU time and memory the latter of which might
> >> be swapped out more easily when the process is suspended than when it is
> >> not).

Have you thought about this process is behaving mad? buggy? memory
leaking? 
I would assume STOPPING STARTING is _not_ a solution to this kind of
problem.

Btw, try to find an overall load on your machine which does _not_
require memory swapping. 

> >> The kill command works nicely for it, i. e. 'kill -STOP  >> process>' and 'kill -CONT ' work fine.
> >>
> >> I googled for a solution and found some suggestions as to obtain the
> >> process ID, yet none of them seemed to work.  Since seamonkey is usually
> >> started through fvwm with a starter function, I might be able to obtain
> >> the PID when starting it and use that.  However, this approach would be
> >> somewhat limited.
> >
> > X windows don't have an associated PID, after all, the window might be
> > from a remote system.
> >
> > For your case, pgrep might give you the PID.

To increase the probability to chose the correct PID to SIGSTOP, try to
run xprop on the window ID. This will give you among others:

  WM_CLIENT_MACHINE(STRING) = "${YOUR_HOSTNAME}"
  WM_COMMAND(STRING) = { "xlogo", "-rv" }

Here you can see the window id is attached to a process running on
YOUR_HOSTNAME and this process was started with the command (in the
above example)  $(xlogo -rv).


> Hm, it would be better to remember the PID when starting the application
> and then use it to suspend it.  I`m not sure yet how to do that, though
> ...

Setting and remembering the PID when starting seamonkey, could be solved
by using an environment variable.  But this requires that seamonkey is
startet via a fvwm function which in turn sets this variable.
Starting seamonkey from e.g. a console would by-pass this mechanism.


-- 
Bastian