/usr/share/perl5/Shutter/App/Options.pm is in shutter 0.93.1-1ubuntu1.
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 | ###################################################
#
# Copyright (C) 2008-2013 Mario Kemper <mario.kemper@gmail.com>
#
# This file is part of Shutter.
#
# Shutter is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Shutter 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Shutter; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
###################################################
package Shutter::App::Options;
use utf8;
use strict;
use warnings;
#Glib
use Glib qw/TRUE FALSE/;
#Extended processing of command line options
use Getopt::Long qw(:config no_ignore_case pass_through);
#print a usage message from embedded pod documentation
use Pod::Usage;
sub new {
my $class = shift;
my $self = { _sc => shift, _shf => shift };
bless $self, $class;
return $self;
}
sub get_options {
my $self = shift;
GetOptions (
's|select:s@' => sub{ my ($select, $sel_ref) = @_; $self->{_sc}->set_start_with("select", $sel_ref); $self->{_sc}->set_min(TRUE); },
'f|full' => sub{ $self->{_sc}->set_start_with("full"); $self->{_sc}->set_min(TRUE); },
'w|window:s' => sub{ my ($web, $name) = @_; $self->{_sc}->set_start_with("window", $name); $self->{_sc}->set_min(TRUE); },
'a|active' => sub{ $self->{_sc}->set_start_with("awindow"); $self->{_sc}->set_min(TRUE); },
'section' => sub{ $self->{_sc}->set_start_with("section"); $self->{_sc}->set_min(TRUE); },
'm|menu' => sub{ $self->{_sc}->set_start_with("menu"); $self->{_sc}->set_min(TRUE); },
't|tooltip' => sub{ $self->{_sc}->set_start_with("tooltip"); $self->{_sc}->set_min(TRUE); },
'web:s' => sub{ my ($web, $url) = @_; $self->{_sc}->set_start_with("web", $url); },
'r|redo' => sub{ $self->{_sc}->set_start_with("redoshot"); $self->{_sc}->set_min(TRUE); },
'p|profile=s' => sub{ my ($p, $profile) = @_; $self->{_sc}->set_profile_to_start_with($profile); },
'o|output=s' => sub{ my ($o, $output) = @_; $self->{_sc}->set_export_filename($output); },
'c|include_cursor' => sub{ $self->{_sc}->set_include_cursor(TRUE); },
'C|remove_cursor' => sub{ $self->{_sc}->set_remove_cursor(TRUE); },
'd|delay=s' => sub{ my ($d, $delay) = @_; $self->{_sc}->set_delay($delay); },
'h|help' => sub{ pod2usage(-verbose => 1); },
'v|version' => sub{ print $self->{_sc}->get_version, " ", $self->{_sc}->get_rev, "\n"; exit; },
'debug' => sub{ $self->{_sc}->set_debug(TRUE); },
'clear_cache' => sub{ $self->{_sc}->set_clear_cache(TRUE); },
'min_at_startup' => sub{ $self->{_sc}->set_min(TRUE); },
'disable_systray' => sub{ $self->{_sc}->set_disable_systray(TRUE); },
'e|exit_after_capture' => sub{ $self->{_sc}->set_exit_after_capture(TRUE); },
'n|no_session' => sub{ $self->{_sc}->set_no_session(TRUE); },
);
#unknown value are passed through in @ARGV - might be filenames
my @init_files;
if ( @ARGV > 0 ) {
foreach my $arg (@ARGV) {
if ( $self->{_shf}->file_exists($arg) || $self->{_shf}->uri_exists($arg) ) {
#push filename to array, open when GUI is initialized
push @init_files, $arg;
next;
} else {
warn "ERROR: unknown command or filename " . $arg . " \n\n";
pod2usage(-verbose => 1);
}
}
}
return \@init_files;
}
1;
|