Hi,
ich suche eine Möglichkeit um von der Kommandozeile aus ein Icon im System Tray anzuzeigen und mit einem Befehl zu verknüpfen. Kennt jemand eine Möglichkeit dies zu tun?
Alltray kenne ich. Aber ich habe es nur geschafft, mit diesem bestimmte X-Applications in den System-Tray zu schicken. Was ich will, ist einfach nur ein Icon im Tray anzeigen, welches dann nach Klick einen bestimmten Befehl ausführt.
Viele Grüße
zr.
PS. Falls jemand eine Möglichkeit kennt, wäre ich auch noch an dem gegenteiligen Befehl interessiert, mit dem ich das Icon wieder aus dem Tray entfernen kann...
Befehl / Programm um eigenes System Tray Icon zu erstellen?
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Re: Befehl / Programm um eigenes System Tray Icon zu erstellen?
Hi,
warum muss das Icon unbedingt im Benachrichtigungsfeld erscheinen? Was spricht gegen einen Programmstarter im Panel?
SubOptimal
warum muss das Icon unbedingt im Benachrichtigungsfeld erscheinen? Was spricht gegen einen Programmstarter im Panel?
SubOptimal
-
- Beiträge: 84
- Registriert: 03.02.2009 21:21:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: München
Re: Befehl / Programm um eigenes System Tray Icon zu erstellen?
Ich verwende eine tiling-version von fvwm in der ich das Mailprogramm alpine im Hintergrund laufen habe. Mit fvwm kann ich alpine auf neue Mails abfragen. Bislang habe ich aber noch keine elegante Möglichkeit gefunden, eine Benachichtigung bei neuen Mails zu erzeugen. Wenn ich ein Icon in meinem Panel anzeigen lasse, dann muss ich bei fvwm dafür immer etwas Platz reservieren. Dies wollte ich umgehen, in dem ich das Icon (im Falle neuer Mails) in einem in das Panel integrierten system tray (stalonetray) anzeigen lasse. Ein Klick auf das Icon würde dann mein Mailprogramm sichtbar machen. Leider weiß ich aber nicht wie man so ein System Tray Icon erzeugt. Da relativ viele Programme von dieser Möglichkeit Gebrauch machen, dachte ich, dass das eigentlich nicht so schwer sein kann...SubOptimal hat geschrieben:Hi,
warum muss das Icon unbedingt im Benachrichtigungsfeld erscheinen? Was spricht gegen einen Programmstarter im Panel?
SubOptimal
Viele Grüße
zr.
Re: Befehl / Programm um eigenes System Tray Icon zu erstellen?
Hi,
du kannst es, wenn du ein bischen Perl kannst mit folgendem Modul versuchen:
http://search.cpan.org/~borup/Gtk2-Tray ... rayIcon.pm
Damit kann man GTK Trayicons erstellen. Mehr Infos zu GTK-Perl
Habe gerade leider keine Zeit, es dir zu programmieren.
Viel Erfolg,
Manuel
du kannst es, wenn du ein bischen Perl kannst mit folgendem Modul versuchen:
http://search.cpan.org/~borup/Gtk2-Tray ... rayIcon.pm
Damit kann man GTK Trayicons erstellen. Mehr Infos zu GTK-Perl
Habe gerade leider keine Zeit, es dir zu programmieren.
Viel Erfolg,
Manuel
-
- Beiträge: 84
- Registriert: 03.02.2009 21:21:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: München
Re: Befehl / Programm um eigenes System Tray Icon zu erstellen?
Hi Manuel,
Vielen Dank für den heißen Tipp! Ich habe es mit TrayIcon versucht, bin dann aber über google noch auf StatusIcon gestoßen, was bei sogar out-of-the-box (ohne installation zusätzlicher Module) funktionierte.
Aus dem Netz habe ich mir folgenden Code gefischt und für meine Zwecke angepasst. (Ich kann zwar kein perl, aber es funktioniert
)
Vermutlich ist die Funktion activate_icon_cb etwas unsauber. Ich habe einfach mal geraten, wie man einen Befehl ausführt ...
Es klappt jedenfalls.
Viele Grüße
zr.
Vielen Dank für den heißen Tipp! Ich habe es mit TrayIcon versucht, bin dann aber über google noch auf StatusIcon gestoßen, was bei sogar out-of-the-box (ohne installation zusätzlicher Module) funktionierte.
Aus dem Netz habe ich mir folgenden Code gefischt und für meine Zwecke angepasst. (Ich kann zwar kein perl, aber es funktioniert
![Smile :)](./images/smilies/icon_smile.gif)
Code: Alles auswählen
#!/usr/bin/perl
use strict;
use warnings;
use Gtk2 -init;
sub quit_cb {
my ($widget, $status_icon) = @_;
$status_icon->set_visible(0) if $status_icon;
Gtk2->main_quit();
}
sub popup_menu_cb {
my ($widget, $button, $time, $menu) = @_;
if ($button == 3) {
my ($x, $y, $push_in)
= Gtk2::StatusIcon::position_menu($menu, $widget);
$menu->show_all();
$menu->popup( undef, undef,
sub{return ($x,$y,0)} ,
undef, 0, $time );
}
}
sub activate_icon_cb {
exec 'FvwmCommand Alpine_Show'
}
my $file = '/home/rob/.fvwm/icons/mail.png';
my $status_icon = Gtk2::StatusIcon->new();
my $menu = Gtk2::Menu->new();
my $menuItem = Gtk2::ImageMenuItem->new_from_stock('gtk-quit');
$menuItem->signal_connect('activate', \&quit_cb, $status_icon);
$menu->append($menuItem);
$status_icon->set_from_file($file);
$status_icon->set_tooltip("New Mail");
$status_icon->signal_connect('activate', \&activate_icon_cb);
$status_icon->signal_connect('popup-menu', \&popup_menu_cb, $menu);
$status_icon->set_visible(1);
Gtk2->main();
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Viele Grüße
zr.