summaryrefslogtreecommitdiffstats
path: root/.config/polybar/scripts/stop
diff options
context:
space:
mode:
authorYigit Sever2021-10-27 11:05:01 +0300
committerYigit Sever2021-10-27 11:05:01 +0300
commit67f5cb9386454d9a3fa2517540de03c2ed6f08f3 (patch)
treeda9df8c1fee214c76a65c1a648e5f83fb0611d8e /.config/polybar/scripts/stop
parent5ee15326de8e22f86eabd2ec0d0087ef12724f45 (diff)
downloaddotfiles-67f5cb9386454d9a3fa2517540de03c2ed6f08f3.tar.gz
dotfiles-67f5cb9386454d9a3fa2517540de03c2ed6f08f3.tar.bz2
dotfiles-67f5cb9386454d9a3fa2517540de03c2ed6f08f3.zip
polybar: clean up the scripts
Diffstat (limited to '.config/polybar/scripts/stop')
-rwxr-xr-x.config/polybar/scripts/stop46
1 files changed, 46 insertions, 0 deletions
diff --git a/.config/polybar/scripts/stop b/.config/polybar/scripts/stop
new file mode 100755
index 0000000..1efd193
--- /dev/null
+++ b/.config/polybar/scripts/stop
@@ -0,0 +1,46 @@
1#!/usr/bin/env perl
2# shows active taskwarrior task on polybar
3#Copyright © 2019 yigit
4
5#This program is free software: you can redistribute it and/or modify
6#it under the terms of the GNU General Public License as published by
7#the Free Software Foundation, either version 3 of the License, or
8#(at your option) any later version.
9
10#This program is distributed in the hope that it will be useful,
11#but WITHOUT ANY WARRANTY; without even the implied warranty of
12#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13#GNU General Public License for more details.
14
15#You should have received a copy of the GNU General Public License
16#along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18use strict;
19use warnings;
20use IO::CaptureOutput qw/capture_exec/;
21
22my ($stdout, $stderr, $success, $exit_code) = capture_exec("task active");
23
24# print("out: $stdout\nerr: $stderr\nexit_code: $exit_code\n");
25
26if ($stderr =~ /No matches\./) {
27 exit;
28}
29
30my $active_task_maybe = $stdout;
31
32$active_task_maybe =~ s/^\s+|\s+$//g;
33
34my @lines = split /\n/, $active_task_maybe;
35
36my $task = $lines[2];
37$task =~ s/^\s+|\s+$//g; # left and right trim
38$task =~ s/\s+/ /g; # reduce multiple whitespace into one
39
40if ($task =~ m/^(\d+)(.*)$/g) {
41 # print ">>$1<< | $2<<";
42 my ($stdout, $stderr, $success, $exit_code) = capture_exec("task stop $1");
43 if ($stdout =~ m/'(.*)'/) {
44 exec(qq(dunstify --appname="task" --icon="kt-pause" "stopping" "$1"));
45 }
46}