diff options
| author | Alec Goncharow <alec@goncharow.dev> | 2022-12-04 18:23:46 -0600 |
|---|---|---|
| committer | Alec Goncharow <alec@goncharow.dev> | 2022-12-04 18:23:46 -0600 |
| commit | 1ec73cc2c14d2f62c32046d9585c3a745531d37a (patch) | |
| tree | 8b9c6b2e5ba43ce1248c114758a55df9467cab64 /.config/i3blocks/scripts/keyindicator | |
| parent | b257edf16c9b8b14ebb542e857a29c74fea00495 (diff) | |
Fresh start
Diffstat (limited to '.config/i3blocks/scripts/keyindicator')
| -rwxr-xr-x | .config/i3blocks/scripts/keyindicator | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/.config/i3blocks/scripts/keyindicator b/.config/i3blocks/scripts/keyindicator deleted file mode 100755 index 50c3a3f..0000000 --- a/.config/i3blocks/scripts/keyindicator +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env perl -# -# Copyright 2014 Marcelo Cerri <mhcerri at gmail dot 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, 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 <http://www.gnu.org/licenses/>. - -use strict; -use warnings; -use utf8; -use Getopt::Long; -use File::Basename; - -# Default values -my $indicator = $ENV{BLOCK_INSTANCE} || $ENV{KEY} || "CAPS"; -my $color_on = $ENV{COLOR_ON} || "#00FF00"; -my $color_off = $ENV{COLOR_OFF} || "#222222"; -my $bg_color_on = $ENV{BG_COLOR_ON}; -my $bg_color_off = $ENV{BG_COLOR_OFF}; -my $hide = $ENV{HIDE_WHEN_OFF} || 0; - -sub help { - my $program = basename($0); - printf "Usage: %s [-c <color on>] [-C <color off>] [-b <bg color on>] [-B <bg color off>] [--hide]\n", $program; - printf " -c <color on>: hex color to use when indicator is on\n"; - printf " -C <color off>: hex color to use when indicator is off\n"; - printf " -b <background color on>: hex color to use when indicator is on\n"; - printf " -B <background color off>: hex color to use when indicator is off\n"; - printf " --hide: don't output anything when indicator is off\n"; - printf "\n"; - printf "Note: environment variable \$BLOCK_INSTANCE should be one of:\n"; - printf " CAPS, NUM (default is CAPS).\n"; - exit 0; -} - -Getopt::Long::config qw(no_ignore_case); -GetOptions("help|h" => \&help, - "c=s" => \$color_on, - "C=s" => \$color_off, - "b=s" => \$bg_color_on, - "B=s" => \$bg_color_off, - "hide" => \$hide) or exit 1; - -# Key mapping -my %indicators = ( - CAPS => 0x00000001, - NUM => 0x00000002, -); - -# Retrieve key flags -my $mask = 0; -open(XSET, "xset -q |") or die; -while (<XSET>) { - if (/LED mask:\s*([0-9a-f]+)/) { - $mask = hex $1; - last; - } -} -close(XSET); - -# Determine if indicator is on or off -my $indicator_status = ($indicators{$indicator} || 0) & $mask; - -# Exit if --hide and indicator is off -if ($hide and !$indicator_status) { - exit 0 -} - -# Output -my $fg_color = $indicator_status ? $color_on : $color_off; -my $bg_color = $indicator_status ? $bg_color_on : $bg_color_off; - -if (defined $bg_color) { - printf "<span color='%s' bgcolor='%s'>%s</span>\n", $fg_color, $bg_color, $indicator; -} else { - printf "<span color='%s'>%s</span>\n", $fg_color, $indicator; -} - -exit 0 |
