#!/usr/bin/perl # # notify_osd: perform some string manipulation on notify-osd messages # and then send to the screen message window # Copyright (C) 2010 Canonical Ltd. # # Authors: Dustin Kirkland <kirkland@byobu.org> # with help from Mathias Gug <mathias.gug@canonical.com> # # This program 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, version 3 of the License. # # This program 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 this program. If not, see <http://www.gnu.org/licenses/>. $/ = "\n\n"; $PKG = "byobu"; $sleep = 5; while (<STDIN>) { # Ensure that the notify_osd indicator is enabled my $skip = 0; open(F, "<$ENV{BYOBU_CONFIG_DIR}/status"); foreach my $i (<F>) { if ($i =~ /notify_osd=0/) { $skip = 1; } } close(F); if ($skip == 1) { next; } $msg = $_; $msg =~ s/\[[^,]*, //; # strip the leading "[timestamp, " $msg =~ s/\] /: /; # replace the " ] " following the indicator name, with ":" $msg =~ s/\s+/ /g; # collapse multi-whitespace into one $msg =~ s/\s+$//g; # strip trailing whitespace $msg =~ s/^\s+//g; # strip leading whitespace system("/usr/bin/screen", "-X", "-S", "$ARGV[0]", "at", "*", "msgwait", "$sleep"); system("/usr/bin/screen", "-X", "-S", "$ARGV[0]", "at", "*", "echo", "[$msg]"); sleep($sleep); system("/usr/bin/screen", "-X", "-S", "$ARGV[0]", "at", "*", "msgwait", "0"); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
colors | File | 1.02 KB | 0755 |
|
common | File | 1.91 KB | 0755 |
|
config.py | File | 10.46 KB | 0755 |
|
constants | File | 2.34 KB | 0755 |
|
cycle-status | File | 1.35 KB | 0755 |
|
dirs | File | 2.58 KB | 0755 |
|
ec2instancespricing.py | File | 23.85 KB | 0755 |
|
icons | File | 1.84 KB | 0755 |
|
mondrian | File | 4.46 KB | 0755 |
|
notify_osd | File | 1.74 KB | 0755 |
|
select-session.py | File | 6.64 KB | 0755 |
|
shutil | File | 8.5 KB | 0755 |
|
tmux-detach-all-but-current-client | File | 1.56 KB | 0755 |
|
tmux-send-command-to-all-panes | File | 955 B | 0755 |
|
tmux-send-command-to-all-windows | File | 881 B | 0755 |
|
toggle-utf8 | File | 1.65 KB | 0755 |
|