From 5864b0c43781d319d797a5277e1316e5acd690c1 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Wed, 18 Nov 2020 16:22:41 +0300 Subject: tracking polybar task stop script --- .config/polybar/stop | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 .config/polybar/stop diff --git a/.config/polybar/stop b/.config/polybar/stop new file mode 100755 index 0000000..58f8741 --- /dev/null +++ b/.config/polybar/stop @@ -0,0 +1,47 @@ +#!/usr/bin/env perl +# shows active taskwarrior task on polybar +#Copyright © 2019 yigit + +#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, either version 3 of the License, or +#(at your option) any later version. + +#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 . + +use strict; +use warnings; +use IO::CaptureOutput qw/capture_exec/; + +my ($stdout, $stderr, $success, $exit_code) = capture_exec("task active"); + +# print("out: $stdout\nerr: $stderr\nexit_code: $exit_code\n"); + +if ($stderr =~ /No matches\./) { + exit; +} + +my $active_task_maybe = $stdout; + +$active_task_maybe =~ s/^\s+|\s+$//g; + +my @lines = split /\n/, $active_task_maybe; + +my $task = $lines[2]; +$task =~ s/^\s+|\s+$//g; # left and right trim +$task =~ s/\s+/ /g; # reduce multiple whitespace into one + +if ($task =~ m/^(\d+)(.*)$/g) { + # print ">>$1<< | $2<<"; + my ($stdout, $stderr, $success, $exit_code) = capture_exec("task stop $1"); + if ($stdout =~ m/'(.*)'/) { + exec(qq(dunstify --appname="task" --icon="kt-pause" "stopping" "$1")); + } +} + -- cgit v1.2.3-70-g09d2