Rorschachs Tagebuch

History des GMPlayer deaktivieren bzw. automatisch löschen Januar 31, 2009

Filed under: Linux — Rorschach @ 19:58
Tags: , , , ,

Im Gegensatz zu MPlayer besitzt dessen GTK-basiertes Frontend GMPlayer eine History in welcher die zuletzt abgespielten Video-oder Audiodateien, Playlisten und Urls gespeichert werden. Diese History ist in drei Dateien aufgeteilt welche sich im Homeverzeichnis im versteckten Ordner .mplayer befinden und die Namen gui.history, gui.pl und gui.url haben.

Ich kann mir vorstellen, dass einige Nutzer dies als ein nützliches Feature empfinden aber ich finde es als störend. Denn wenn man den GMPlayer einfach so startet dann kann jeder der auf deinen Bildschirm schaut sehen, was du als letztes damit gemacht hast und das mag ich nicht.

Doch leider lässt sich dieses Feature nicht deaktivieren. Es gibt weder in dem GUI eine Einstellungsmöglichkeit dafür noch sonst einen Weg über einen Parameter oder ähnliches und ja ich habe mir auch den Quellcode angesehen.

Die beteffenden Code-Zeilen befinden sich allesamt in der gui/cfg.c:

// -- save playlist
 cfg=get_path( "gui.pl" );
 if ( (f=fopen( cfg,"wt+" )) )
  {
   plCurrent=plList;
   while ( plCurrent )
    {
     if ( plCurrent->path && plCurrent->name )
      { 
       fprintf( f,"%s\n",plCurrent->path );
       fprintf( f,"%s\n",plCurrent->name );
      }
     plCurrent=plCurrent->next;
    }
   fclose( f );
  }
 free( cfg );

// -- save URL's
 cfg=get_path( "gui.url" );
 if ( (f=fopen( cfg,"wt+" )) )
  {
   while ( URLList )
    {
     if ( URLList->url ) fprintf( f,"%s\n",URLList->url );
     URLList=URLList->next;
    }
   fclose( f );
  }
 free( cfg );

// -- save file loader history
 cfg=get_path( "gui.history" );
 if ( (f=fopen( cfg,"wt+" )) )
  {
   int i = 0;
//   while ( fsHistory[i] != NULL )
   for ( i=0;i < 5; i++)
     if( fsHistory[i] ) fprintf( f,"%s\n",fsHistory[i] );
   fclose( f );
  }
 free( cfg );

und liessen sich leicht herauspatchen. Doch jedesmal MPlayer von Hand zu kompilieren ist mir zu stressig. Deswegen bin ich einen viel einfacheren Weg gegangen. GMplayer liegt bei mir im /usr/bin-Pfad und dieser Pfad taucht in der Pfadvariable $PATH hinter /bin auf. Dies bedeutet, dass wenn ich zweimal die Datei gmplayer habe, einmal in /bin und einmal in /usr/bin dann wird die in /bin ausgeführt und nicht die in /usr/bin.

Also baut man sich einfach einen kleinen Wrapper:

#!/bin/bash

/usr/bin/gmplayer "$@" 
rm ~/.mplayer/gui.pl ~/.mplayer/gui.url ~/.mplayer/gui.history

speichert ihn in /bin/gmplayer ab und macht ihn mit:

sudo chmod +x /bin/gmplayer

ausführbar.

Wenn man jetzt gmplayer startet wird nach dessen Beenden die History automatisch gelöscht.

 

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s