App-orgdaemon
view release on metacpan or search on metacpan
bin/org-daemon view on Meta::CPAN
} else {
warn "Can't open $file: $!";
}
$open_warning{$file}++;
}
sub set_x11_properties {
my $t = shift;
if ($Tk::platform eq 'unix') {
my($wrapper) = $t->wrapper;
if (!eval {
require Sys::Hostname;
$t->property("set", "_NET_WM_PID", "CARDINAL", 32, [$$], $wrapper);
$t->property("set", "WM_CLIENT_MACHINE", "STRING", 8, [Sys::Hostname::hostname()], $wrapper);
1;
}) {
warn "WARNING: Setting _NET_WM_PID and WM_CLIENT_MACHINE properies failed: $@";
}
}
}
sub stay_on_top {
my $t = shift;
no warnings 'once';
if ($Tk::platform eq 'unix') {
my($wrapper) = $t->wrapper;
# set sticky flag for gnome and fvwm2
eval q{
$t->property('set','_WIN_STATE','CARDINAL',32,[1],$wrapper); # sticky
$t->property('set','_WIN_LAYER','CARDINAL',32,[6],$wrapper); # ontop
};
warn $@ if $@;
}
eval { $t->attributes(-topmost => 1) };
warn $@ if $@;
}
# Code taken from bbbike
sub start_ptksh {
# Is there already a (withdrawn) ptksh?
foreach my $mw0 (Tk::MainWindow::Existing()) {
if ($mw0->title =~ /^ptksh/) {
$mw0->deiconify;
$mw0->raise;
return;
}
}
require Config;
require File::Basename;
my @perldirs = grep { defined $_ && -x $_ } ($Config::Config{'sitebin'}, $Config::Config{'scriptdir'});
push @perldirs, File::Basename::dirname(File::Basename::dirname($^X)); # for the SiePerl installation
my $perldir;
TRY: {
no warnings 'once';
# "local" probably does not work here, we're in a MainLoop...
$Data::Dumper::Deparse = 1; # if I need a "ptksh" window, then I need more diagnostics!
$Data::Dumper::Sortkeys = 1;
local @ARGV; # ptksh would read 1st argument as perl script
# Find the ptksh script
for $perldir (@perldirs) {
if (-r "$perldir/ptksh") {
require "$perldir/ptksh";
last TRY;
}
}
$perldir = File::Basename::dirname($^X);
if (-r "$perldir/ptksh") {
require "$perldir/ptksh";
} else {
my $f = ((Tk::MainWindow::Existing())[0])->getOpenFile
((-d $perldir ? (-initialdir => $perldir) : ()),
-title => "Path to ptksh",
);
if (defined $f) {
require $f;
} else {
return;
}
}
}
# The created mainwindow is unnecessary - destroy it
for my $mw0 (Tk::MainWindow::Existing()) {
if ($mw0->title eq '$mw') {
$mw0->destroy;
} elsif ($mw0->title eq 'ptksh') {
$mw0->protocol('WM_DELETE_WINDOW' => [$mw0, 'withdraw']);
}
}
}
return 1 if caller;
GetOptions(
"d|debug!" => \$debug,
"recheck-interval=i" => \$recheck_interval,
"early-warning=i" => \$default_early_warning,
"early-warning-timeless=i" => \$default_timeless_early_warning,
"include-timeless!" => \$include_timeless,
'time-fallback=s' => \$time_fallback,
"small-font=s" => \$small_font,
'emacsclient-eval!' => \$use_emacsclient_eval,
'emacsclient-cmd=s' => \$emacsclient_fmt_cmd,
'overview-widget=s' => \$overview_widget,
'ignore-tag=s@' => \@ignore_tags,
'v|version' => \$show_version,
'move-button!' => \$with_move_button,
'use-anyevent' => \$use_anyevent,
)
or die <<EOF;
$0 [--debug] [--early-warning=seconds] [--early-warning-timeless=seconds] [--recheck-interval=seconds]
\t[--no-emacsclient-eval] [--emacsclient-cmd=...]
\t[--overview-widget=...] [--move-button]
\t[--[no-]include-timeless] [--time-fallback HH:MM]
\t[--ignore-tag=... ...]
\torgfile ...
$0 --version
( run in 0.544 second using v1.01-cache-2.11-cpan-99c4e6809bf )