This file is indexed.

/usr/share/irssi/scripts/apm.pl is in irssi-scripts 20131030.

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
use strict;
use vars qw($VERSION %IRSSI);

use Irssi::TextUI;

$VERSION = "0.4";
%IRSSI = (
    authors     => "Alexander Wirt",
    contact     => "formorer\@formorer.de",
    name        => "apm",
    description => "Shows your battery status in your Statusbar",
    license     => "GNU Public License",
    url         => "http://www.formorer.de/code",
);


#
#apm.pl 
#	apm.pl is a small script for displaying your Battery Level in irssi.
#	Just load the script and do a /statusbar window add apm
#	and a small box [BAT: +/-XX%] should be displayed this is only possible 
#	on Computers where /proc/apm or /proc/acpi is existing. 
#	The + or - indicates if battery is charging or discharging.
#
#	/set power_refresh <sec>    changes the refreshing time of the display
#
#
#	Changelog:
#
#	0.3 - Added support for ACPI and enhanced APM support
#	0.2 - Added apm_refresh and some documentation
#	0.1 - Initial Release





my ($refresh, $last_refresh, $refresh_tag) = (10);

my ($acpi,$apm) = 0;


if (-r "/proc/acpi") { $acpi = "yes" }
if (-r "/proc/apm") { $apm = "yes" }

exit unless ($apm or $acpi);


sub get_apm {
	open(RC, "/proc/apm");
		my $line = <RC>;
	close RC;
	my ($ver1, $ver2, $sysstatus, $acstat, $chargstat, $batstatus, $prozent, $remain) = split(/\s/,$line);

	if ($acstat eq "0x01") { return "+$prozent" } else { return "-$prozent" }
}

sub get_acpi {
	open(RC, "/proc/acpi/ac_adapter/ACAD/state");
		my $line = <RC>;
	close RC;
	my ($text,$state) = split (/:/,$line);
	$state =~ s/\s//g;

	open (RC, "/proc/acpi/battery/BAT0/info");
	my ($text,$capa,$ein);
	while (my $line = <RC>) {
		if ($line =~ /last full capacity/) {
			($text, $capa,$ein) = split (/:/,$line);
			$capa =~ s/\s//g;
		}
	}
	open (RC, "/proc/acpi/battery/BAT0/state"); 
	my ($text,$remain,$ein);
	while (my $line = <RC>) {
		if ($line =~ /remaining capacity/) {
			($text, $remain,$ein) = split (/:/,$line);
			$remain =~ s/\s//g;
		}
	}
	my $pstate = $remain / $capa * 100;
	$pstate = sprintf("%2i", $pstate);

	if ($state eq "off-line") { $pstate = "-$pstate%"; } else { $pstate = "+$pstate%"; }
	return $pstate;
}


sub power {
	my ($item, $get_size_only) = @_;
	my $pstate;
	if ($apm) {
		$pstate = get_apm();
	} else {
		$pstate = get_acpi();
	}
	$item->default_handler($get_size_only, undef, "BAT:$pstate", 1 );
	}


sub set_power {
	$refresh = Irssi::settings_get_int('power_refresh');
	$refresh = 1 if $refresh < 1;
	return if $refresh == $last_refresh;
	$last_refresh = $refresh;
	Irssi::timeout_remove($refresh_tag) if $refresh_tag;
	$refresh_tag = Irssi::timeout_add($refresh*1000, 'refresh_power', undef);

}


sub refresh_power {
	Irssi::statusbar_items_redraw('power');
}

Irssi::statusbar_item_register('power', '{sb $0-}', 'power');
Irssi::statusbars_recreate_items();

Irssi::settings_add_int('misc', 'power_refresh', $refresh);
set_power();
Irssi::signal_add('setup changed', 'set_power');