#!/usr/bin/perl -w # -*- perl -*- # # $Id: bbbikeapplet,v 1.3 2001/03/25 17:12:53 eserte Exp $ # Author: Slaven Rezic # # Copyright (C) 2001 Slaven Rezic. All rights reserved. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # # Mail: eserte@cs.tu-berlin.de # WWW: http://user.cs.tu-berlin.de/~eserte/ # # XXX kann noch nicht aus dem Panel heraus aktiviert werden # vgl. Sourcen von fish_applet: APPLET_(DE)ACTIVATE müsste irgendwie # implementiert werden use Gtk; use Gnome; use Getopt::Long; use FindBin; use strict; use vars qw($mw $is_applet $goad_server $goad_fd); $is_applet = 1; # XXX is_applet is not actually necessary... try Gnome::Applet with eval if (!GetOptions("applet!" => \$is_applet, "activate-goad-server=s" => \$goad_server, "goad-fd=s" => \$goad_fd, )) { die "usage"; } #warn $goad_server; #warn $goad_fd; if ($is_applet) { Gnome::Panel::AppletWidget->init('BBBike applet'); $mw = Gnome::Panel::AppletWidget->new('BBBike applet'); realize $mw; } else { Gtk->init; $mw = Gtk::Window->new(-toplevel); } $mw->set_title("BBBike applet"); my $vbox = new Gtk::VBox(0,0); $mw->add($vbox); my $hbox_start = new Gtk::HBox(0,0); $vbox->pack_start($hbox_start, 1, 1, 0); my $hbox_ziel = new Gtk::HBox(0,0); $vbox->pack_start($hbox_ziel, 1, 1, 0); my $sl = new Gtk::Label("Start:"); $hbox_start->pack_start($sl, 1, 1, 0); my $se = new Gtk::Entry; $hbox_start->pack_start($se, 1, 1, 0); my $zl = new Gtk::Label("Ziel:"); $hbox_ziel->pack_start($zl, 1, 1, 0); my $ze = new Gtk::Entry; $hbox_ziel->pack_start($ze, 1, 1, 0); $se->signal_connect('activate', \&set_start); $ze->signal_connect('activate', \&start_bbbike); $se->grab_focus; $mw->show_all; if ($is_applet) { Gnome::Panel::AppletWidget->gtk_main; } else { Gtk->main; } sub set_start { if (fork == 0) { exec $^X, "$FindBin::RealBin/bbbikeclient", "-nostartserver", -from => $se->get_text; warn $!; CORE::exit(); } $ze->grab_focus; } sub start_bbbike { if (fork == 0) { exec $^X, "$FindBin::RealBin/bbbikeclient", -from => $se->get_text, -to => $ze->get_text; warn $!; CORE::exit(); } $se->grab_focus; } __END__ =head1 NAME bbbikeapplet - GNOME applet for searching bbbike routes =head1 SYNOPSIS bbbikeapplet [-noapplet] =head1 DESCRIPTION =head1 AUTHOR Slaven Rezic =head1 SEE ALSO bbbike(1), Gtk(3), Gnome(3) =cut