/usr/lib/perl5/Gtk2/TrayManager.pm is in libgtk2-traymanager-perl 0.05-2build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | package Gtk2::TrayManager;
use 5.008;
use strict;
use warnings;
use Gtk2;
require DynaLoader;
our @ISA = qw(DynaLoader);
our $VERSION = '0.05';
sub dl_load_flags { 0x01 }
bootstrap Gtk2::TrayManager $VERSION;
1;
__END__
=pod
=for comment
written by Gavin Brown <gavin.brown@uk.com>
=head1 NAME
Gtk2::TrayManager - Perl bindings for EggTrayManager
=head1 SYNOPSIS
use Gtk2 -init;
use Gtk2::TrayManager;
my $screen = Gtk2::Gdk::Screen->get_default;
if (Gtk2::TrayManager->check_running($screen)) {
print STDERR "A tray manager is already running, sorry!\n";
exit 256;
}
my $tray = Gtk2::TrayManager->new;
$tray->manage_screen($screen);
$tray->set_orientation('vertical');
$tray->signal_connect('tray_icon_added', sub {
# $_[1] is a Gtk2::Socket
});
$tray->signal_connect('tray_icon_removed', sub {
# $_[1] is a Gtk2::Socket
});
=head1 ABSTRACT
The EggTrayManager library is used internally by GNOME to implement the
server-side of the Notification Area (or system tray) protocol.
Gtk2::TrayManager allows you to create notification area applications using
Gtk2-Perl.
=head1 METHODS
$running = Gtk2::TrayManager->check_running($screen);
This method returns a boolean value indicating whether another program is
already managing notifications for the given L<Gtk2::Gdk::Screen>. If this
method returns a false value, then you should give way to the application that
is already running.
$tray = Gtk2::TrayManager->new;
This creates a tray manager object.
$tray->manage_screen($screen);
This tells the tray to manage notifications for the L<Gtk2::Gdk::Screen>
referenced by C<$screen>.
$tray->set_orientation($orientation);
This method tells the tray whether icons are to be arranged vertically or
horizontally. C<$orientation> may be either 'C<vertical>' or 'C<horizontal>'.
$title = $tray->get_child_title($child);
This method returns a string containing the title of the icon defined by
C<$child>.
=head1 SIGNALS
=over
=item C<tray_icon_added>
Emitted when a client plug (eg one created by L<Gtk2::TrayIcon>) wants to
connect. For callbacks connected to this signal, C<@_> will have the form
@_ = (
bless( {}, 'Gtk2::TrayManager' ),
bless( {}, 'Gtk2::Socket' )
);
=item C<tray_icon_added>
Emitted when a client plug has disconnected. For callbacks connected to this
signal, C<@_> will have the form
@_ = (
bless( {}, 'Gtk2::TrayManager' ),
bless( {}, 'Gtk2::Socket' )
);
=item C<message_sent>, C<message_removed>
The Freedesktop.org specification includes support for "balloon messages", but
these are not currently implemented in EggTrayManager.
=item C<lost_selection>
As a rule, compliant applications should check to for an already running
manager, and give way to it if it finds one. However, it is possible that
your application might have its X selection forcibly removed; this signal
is emitted if this should happen.
=back
=head1 SEE ALSO
L<Glib>, L<Gtk>, L<Gtk2::TrayIcon> and the System Tray spec at L<http://www.freedesktop.org/Standards/systemtray-spec>.
=head1 AUTHOR
Christian Borup <borup at cpan dot org>. Nagging and documentation by Gavin Brown <gavin.brown@uk.com>
=head1 COPYRIGHT AND LICENSE
Copyright 2004 by the gtk2-perl team.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.
=cut
|