gnome-panel + mozilla lauch problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 

gnome-panel + mozilla lauch problem



Hi,

I'm running pure rawhide (from the point it became frozen) at a local
high school's K12LTSP lab.  The largest problem that I see in since Red
Hat 7.x and the current beta is unexperienced user behavior somehow
breaking Mozilla startup.

What happens quite often is the new users click on the Mozilla launcher
in the gnome-panel, and it doesn't come up immediately so they click it
several times rapidly.  When that happens, the "Select User Profile"
window pops up along with the mozilla browser window.  You can reproduce
this behavior by rapidly clicking the mozilla launcher 4 times.

I don't know what they are doing, but somehow after a few classes have
used the LTSP lab, some user accounts have somehow managed to break
Mozilla startup.  When you launch Mozilla, it pop-ups up the "Select
User Profile" window every time, and the "default" profile is broken. 
Most students give up at this point and say the computer is broken. =(

Ultimately Mozilla's behavior should one day be fixed, but until then I
use this wrapper from the /usr/bin/mozilla script to kludge around this
launch problem.

Is there anything I can do to gnome-panel's configuration instead of
this wrapper workaround?

Thanks,
Warren Togami
warren@xxxxxxxxxx


/*
 * Simple program that uses time stamps to prevent multiple instances of
the
 * same program from being launched.  Usage is as follows:
 * launcher lock.file delay exec args
 * as in:
 * launcher ~/.mozlock 10 mozilla http://www.etrade.com
 * When used as the shortcut to launch mozilla this will prevent anyone
from
 * being able to launch the program a second time without a 10 second
delay.
 * Note that the file isn't actually locked by modification times are
used.
 */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>

int main(int argc, char *argv[]) {

  FILE *fp;
  int delay, ret;
  struct timeval tv;
  struct stat st;

  /* check for command line arguments */
  if (argc < 4) {
    fprintf(stderr, "Proper usage is %s file delay exec args...\n",
argv[0]);
    exit(1);
  }

  delay = atoi(argv[2]);

  /* attempt to stat the lock file */
  if ((ret = stat(argv[1], &st))) {
    if (ret == -1) {
      /* lock file does not exist, attempt to create it */
      if ((fp = fopen(argv[1], "a")) == NULL) {
        perror("Unable to create lock file");
        exit(1);
      }
      fclose(fp);
      /* no need to stamp, lock file just created */
      execvp(argv[3], &argv[3]);
    } else {
      perror("Unable to stat");
      exit(1);
    }
  }

  /* check if lock file modify time old enough to launch, update time if
so */
  if (time(NULL) - st.st_mtime > delay) {
    if (utimes(argv[1], NULL)) {
      perror("Unable to update lock file");
    }
    if (fork() == 0) execvp(argv[3], &argv[3]);
  }

}




-- 
Phoebe-list mailing list
Phoebe-list@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/phoebe-list

[Index of Archives]     [Kernel List]     [Red Hat Install]     [Red Hat Development]     [Gimp]     [Yosemite News]