This file is indexed.

/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