From 67f5cb9386454d9a3fa2517540de03c2ed6f08f3 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Wed, 27 Oct 2021 11:05:01 +0300 Subject: polybar: clean up the scripts --- .config/polybar/scripts/stop | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 .config/polybar/scripts/stop (limited to '.config/polybar/scripts/stop') 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 @@ +#!/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