From 5ea697d070e0948f2756aacdbba2e475f8b6b354 Mon Sep 17 00:00:00 2001 From: "J. Elfring (i)" Date: Tue, 22 Dec 2020 14:08:33 +0100 Subject: [PATCH] Cleanup --- simpleDots/aliases | 6 - simpleDots/functions | 31 +- simpleDots/urxvt/ext/font-size | 486 ------------------------------ simpleDots/urxvt/ext/font-size.md | 111 ------- 4 files changed, 25 insertions(+), 609 deletions(-) delete mode 100644 simpleDots/urxvt/ext/font-size delete mode 100644 simpleDots/urxvt/ext/font-size.md diff --git a/simpleDots/aliases b/simpleDots/aliases index d07f6f4..17b9ab3 100644 --- a/simpleDots/aliases +++ b/simpleDots/aliases @@ -132,11 +132,5 @@ alias mkpasswd='openssl rand -base64 40 | cut -c1-40' # Emacs called from bash should be run inside the terminal alias emacs='emacs -nw' -# k8s simplifications -alias k='kubectl' -source <(kubectl completion bash) -complete -F __start_kubectl k -alias kns='kubectl config set-context --current --namespace' - # Copy latest Download into primary selection alias cld='cat $(ls --directory --format single-column -t --color=never ~/Downloads/* | head --lines 1) | xclip -in' diff --git a/simpleDots/functions b/simpleDots/functions index 2fd969a..c9e2533 100644 --- a/simpleDots/functions +++ b/simpleDots/functions @@ -393,15 +393,34 @@ sslcheck(){ echo -n | openssl s_client -connect $* | tee /dev/tty | openssl x509 -text -noout } -## kubesel: fzf-select a cubeconfig and source it -kubesel(){ - kubeconfig=$(find ~/.kube/kubesel -type f | rev | cut -d "/" -f 1 | rev | sort | fzf) - export KUBECONFIG=~/.kube/kubesel/$kubeconfig -} - ## SSH agent ## Add sth like test -z $noKeychain && agent to ~/.extra function agent(){ /usr/bin/keychain --nolock --nogui $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh } + + + +## Kubernetes Goodies +k(){ + kubectl $* +} + +k-sel(){ + kubeconfig=$(find ~/.kube/kubesel -type f | rev | cut -d "/" -f 1 | rev | sort | fzf --height=25%) + export KUBECONFIG=~/.kube/kubesel/$kubeconfig + echo + kubectl config get-contexts +} + +k-ns(){ + kubectl config set-context + --current \ + --namespace=$(kubectl get namespace | grep Active \ + | cut -d " " -f1 \ + | fzf --height=25% + ) + echo + kubectl config get-contexts +} diff --git a/simpleDots/urxvt/ext/font-size b/simpleDots/urxvt/ext/font-size deleted file mode 100644 index d72d074..0000000 --- a/simpleDots/urxvt/ext/font-size +++ /dev/null @@ -1,486 +0,0 @@ -#!/usr/bin/env perl -# -# On-the-fly adjusting of the font size in urxvt -# -# Copyright (c) 2008 David O'Neill -# 2012 Noah K. Tilton -# 2009-2012 Simon Lundström -# 2012-2016 Jan Larres -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. -# -# URL: https://github.com/majutsushi/urxvt-font-size -# -# Based on: -# https://github.com/dave0/urxvt-font-size -# https://github.com/noah/urxvt-font -# https://github.com/simmel/urxvt-resize-font -# -# X11 fonts background: -# http://keithp.com/~keithp/talks/xtc2001/paper/ - -#:META:X_RESOURCE:%.step:interger:font size increase/decrease step - -=head1 NAME - -font-size - interactive font size setter - -=head1 USAGE - -Put the font-size script into $HOME/.urxvt/ext/ and add it to the list -of enabled perl-extensions in ~/.Xresources: - - URxvt.perl-ext-common: ...,font-size - -The extension automatically binds Ctrl++ to the 'increase' function, -Ctrl+- to 'decrease', and Ctrl+0 to 'reset'. To use the other available functions -or change the keys, add some keybindings of your own: - - URxvt.keysym.C-Up: font-size:increase - URxvt.keysym.C-Down: font-size:decrease - URxvt.keysym.C-S-Up: font-size:incglobal - URxvt.keysym.C-S-Down: font-size:decglobal - URxvt.keysym.C-equal: font-size:reset - URxvt.keysym.C-slash: font-size:show - -Note that for urxvt versions older than 9.21 the resources have to look like this: - - URxvt.keysym.C-Up: perl:font-size:increase - URxvt.keysym.C-Down: perl:font-size:decrease - URxvt.keysym.C-S-Up: perl:font-size:incglobal - URxvt.keysym.C-S-Down: perl:font-size:decglobal - URxvt.keysym.C-equal: perl:font-size:reset - URxvt.keysym.C-slash: perl:font-size:show - -Supported functions: - -=over 2 - -=item * increase/decrease: - - increase or decrease the font size of the current terminal. - -=item * incglobal/decglobal: - - same as above and also adjust the X server values so all newly - started terminals will use the same fontsize. - -=item * incsave/decsave: - - same as incglobal/decglobal and also modify the ~/.Xresources - file so the changed font sizes will persist over a restart of - the X server or a reboot. - -=item * reset: - - reset the font size to the value of the resource when starting - the terminal. - -=item * show - - show the current value of the 'font' resource in a popup. - -=back - -You can also change the step size that the script will use to increase -the font size: - - URxvt.font-size.step: 4 - -The default step size is 1. This means that with this setting a -size change sequence would be for example 8->12->16->20 instead of -8->9->10->11->12 etc. Please note that many X11 fonts are only -available in specific sizes, though, and odd sizes are often not -available, resulting in an effective step size of 2 instead of 1 -in that case. -=cut - -use strict; -use warnings; - -my %escapecodes = ( - "font" => 710, - "boldFont" => 711, - "italicFont" => 712, - "boldItalicFont" => 713 -); - -sub on_init { - my ($self) = @_; - - $self->bind_action ("C-plus", "%:increase") - or warn "unable to register 'C-plus' as font-size increase hotkey\n"; - $self->bind_action ("C-minus", "%:decrease") - or warn "unable to register 'C-minus' as font-size decrease hotkey\n"; - $self->bind_action ("C-0", "%:reset") - or warn "unable to register 'C-0' as font-size reset hotkey\n"; -} - -sub on_start -{ - my ($self) = @_; - - $self->{step} = $self->x_resource("%.step") || 1; - - foreach my $type (qw(font boldFont italicFont boldItalicFont)) { - $self->{$type} = $self->x_resource($type) || "undef"; - } -} - -# Needed for backwards compatibility with < 9.21 -sub on_user_command -{ - my ($self, $cmd) = @_; - - my $step = $self->{step}; - - if ($cmd eq "font-size:increase") { - fonts_change_size($self, $step, 0); - } elsif ($cmd eq "font-size:decrease") { - fonts_change_size($self, -$step, 0); - } elsif ($cmd eq "font-size:incglobal") { - fonts_change_size($self, $step, 1); - } elsif ($cmd eq "font-size:decglobal") { - fonts_change_size($self, -$step, 1); - } elsif ($cmd eq "font-size:incsave") { - fonts_change_size($self, $step, 2); - } elsif ($cmd eq "font-size:decsave") { - fonts_change_size($self, -$step, 2); - } elsif ($cmd eq "font-size:reset") { - fonts_reset($self); - } elsif ($cmd eq "font-size:show") { - fonts_show($self); - } -} - -sub on_action -{ - my ($self, $action) = @_; - - my $step = $self->{step}; - - if ($action eq "increase") { - fonts_change_size($self, $step, 0); - } elsif ($action eq "decrease") { - fonts_change_size($self, -$step, 0); - } elsif ($action eq "incglobal") { - fonts_change_size($self, $step, 1); - } elsif ($action eq "decglobal") { - fonts_change_size($self, -$step, 1); - } elsif ($action eq "incsave") { - fonts_change_size($self, $step, 2); - } elsif ($action eq "decsave") { - fonts_change_size($self, -$step, 2); - } elsif ($action eq "reset") { - fonts_reset($self); - } elsif ($action eq "show") { - fonts_show($self); - } -} - -sub fonts_change_size -{ - my ($term, $delta, $save) = @_; - - my @newfonts = (); - - my $curres = $term->resource('font'); - if (!$curres) { - $term->scr_add_lines("\r\nWarning: No font configured, trying a default.\r\nPlease set a font with the 'URxvt.font' resource."); - $curres = "fixed"; - } - my @curfonts = split(/\s*,\s*/, $curres); - - my $basefont = shift(@curfonts); - my ($newbasefont, $newbasedelta, $newbasesize) = handle_font($term, $basefont, $delta, 0, 0); - push @newfonts, $newbasefont; - - # Only adjust other fonts if base font changed - if ($newbasefont ne $basefont) { - foreach my $font (@curfonts) { - my ($newfont, $newdelta, $newsize) = handle_font($term, $font, $delta, $newbasedelta, $newbasesize); - push @newfonts, $newfont; - } - my $newres = join(",", @newfonts); - font_apply_new($term, $newres, "font", $save); - - handle_type($term, "boldFont", $delta, $newbasedelta, $newbasesize, $save); - handle_type($term, "italicFont", $delta, $newbasedelta, $newbasesize, $save); - handle_type($term, "boldItalicFont", $delta, $newbasedelta, $newbasesize, $save); - } - - if ($save > 1) { - # write the new values back to the file - my $xresources = readlink $ENV{"HOME"} . "/.Xresources"; - system("xrdb -edit " . $xresources); - } -} - -sub fonts_reset -{ - my ($term) = @_; - - foreach my $type (qw(font boldFont italicFont boldItalicFont)) { - my $initial = $term->{$type}; - if ($initial ne "undef") { - font_apply_new($term, $initial, $type, 0); - } - } -} - -sub fonts_show -{ - my ($term) = @_; - - my $out = $term->resource('font'); - $out =~ s/\s*,\s*/\n/g; - - $term->{'font-size'}{'overlay'} = { - overlay => $term->overlay_simple(0, -1, $out), - timer => urxvt::timer->new->start(urxvt::NOW + 5)->cb( - sub { - delete $term->{'font-size'}{'overlay'}; - } - ), - }; -} - -sub handle_type -{ - my ($term, $type, $delta, $basedelta, $basesize, $save) = @_; - - my $curres = $term->resource($type); - if (!$curres) { - return; - } - my @curfonts = split(/\s*,\s*/, $curres); - my @newfonts = (); - - foreach my $font (@curfonts) { - my ($newfont, $newdelta, $newsize) = handle_font($term, $font, $delta, $basedelta, $basesize); - push @newfonts, $newfont; - } - - my $newres = join(",", @newfonts); - font_apply_new($term, $newres, $type, $save); -} - -sub handle_font -{ - my ($term, $font, $delta, $basedelta, $basesize) = @_; - - my $newfont; - my $newdelta; - my $newsize; - my $prefix = 0; - - if ($font =~ /^\s*x:/) { - $font =~ s/^\s*x://; - $prefix = 1; - } - if ($font =~ /^\s*(\[.*\])?xft:/) { - ($newfont, $newdelta, $newsize) = font_change_size_xft($term, $font, $delta, $basedelta, $basesize); - } elsif ($font =~ /^\s*-/) { - ($newfont, $newdelta, $newsize) = font_change_size_xlfd($term, $font, $delta, $basedelta, $basesize); - } else { - # check whether the font is a valid alias and if yes resolve it to the - # actual font - my $lsfinfo = `xlsfonts -l $font 2>/dev/null`; - - if ($lsfinfo eq "") { - # not a valid alias, ring the bell if it is the base font and just - # return the current font - if ($basesize == 0) { - $term->scr_bell; - } - return ($font, $basedelta, $basesize); - } - - my $fontinfo = (split(/\n/, $lsfinfo))[-1]; - my ($fontfull) = ($fontinfo =~ /\s+([-a-z0-9]+$)/); - ($newfont, $newdelta, $newsize) = font_change_size_xlfd($term, $fontfull, $delta, $basedelta, $basesize); - } - - # $term->scr_add_lines("\r\nNew font is $newfont\n"); - if ($prefix) { - $newfont = "x:$newfont"; - } - return ($newfont, $newdelta, $newsize); -} - -sub font_change_size_xft -{ - my ($term, $fontstring, $delta, $basedelta, $basesize) = @_; - - my @pieces = split(/:/, $fontstring); - my @resized = (); - my $size = 0; - my $new_size = 0; - - foreach my $piece (@pieces) { - if ($piece =~ /^(?:(?:pixel)?size=|[^=-]+-)(\d+(\.\d*)?)$/) { - $size = $1; - - if ($basedelta != 0) { - $new_size = $size + $basedelta; - } else { - $new_size = $size + $delta; - } - - $piece =~ s/(=|-)$size/$1$new_size/; - } - push @resized, $piece; - } - - my $resized_str = join(":", @resized); - - # don't make fonts too small - if ($new_size >= 6) { - return ($resized_str, $new_size - $size, $new_size); - } else { - if ($basesize == 0) { - $term->scr_bell; - } - return ($fontstring, 0, $size); - } -} - -sub font_change_size_xlfd -{ - my ($term, $fontstring, $delta, $basedelta, $basesize) = @_; - - #-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-1 - - my @fields = qw(foundry family weight slant setwidth style pixelSize pointSize Xresolution Yresolution spacing averageWidth registry encoding); - - my %font; - $fontstring =~ s/^-//; # Strip leading - before split - @font{@fields} = split(/-/, $fontstring); - - if ($font{pixelSize} eq '*') { - $term->scr_add_lines("\r\nWarning: Font size undefined, assuming 12.\r\nPlease set the 'URxvt.font' resource to a font with a concrete size."); - $font{pixelSize} = '12' - } - if ($font{registry} eq '*') { - $font{registry} ='iso8859'; - } - - # Blank out the size for the pattern - my %pattern = %font; - $pattern{foundry} = '*'; - $pattern{setwidth} = '*'; - $pattern{pixelSize} = '*'; - $pattern{pointSize} = '*'; - # if ($basesize != 0) { - # $pattern{Xresolution} = '*'; - # $pattern{Yresolution} = '*'; - # } - $pattern{averageWidth} = '*'; - # make sure there are no empty fields - foreach my $field (@fields) { - $pattern{$field} = '*' unless defined($pattern{$field}); - } - my $new_fontstring = '-' . join('-', @pattern{@fields}); - - my @candidates; - # $term->scr_add_lines("\r\nPattern is $new_fontstring\n"); - open(FOO, "xlsfonts -fn '$new_fontstring' | sort -u |") or die $!; - while () { - chomp; - s/^-//; # Strip leading '-' before split - my @fontdata = split(/-/, $_); - - push @candidates, [$fontdata[6], "-$_"]; - # $term->scr_add_lines("\r\npossibly $fontdata[6] $_\n"); - } - close(FOO); - - if (!@candidates) { - die "No possible fonts!"; - } - - if ($basesize != 0) { - # sort by font size, descending - @candidates = sort {$b->[0] <=> $a->[0]} @candidates; - - # font is not the base font, so find the largest font that is at most - # as large as the base font. If the largest possible font is smaller - # than the base font bail and hope that a 0-size font can be found at - # the end of the function - if ($candidates[0]->[0] > $basesize) { - foreach my $candidate (@candidates) { - if ($candidate->[0] <= $basesize) { - return ($candidate->[1], $candidate->[0] - $font{pixelSize}, $candidate->[0]); - } - } - } - } elsif ($delta > 0) { - # sort by font size, ascending - @candidates = sort {$a->[0] <=> $b->[0]} @candidates; - - foreach my $candidate (@candidates) { - if ($candidate->[0] >= $font{pixelSize} + $delta) { - return ($candidate->[1], $candidate->[0] - $font{pixelSize}, $candidate->[0]); - } - } - } elsif ($delta < 0) { - # sort by font size, descending - @candidates = sort {$b->[0] <=> $a->[0]} @candidates; - - foreach my $candidate (@candidates) { - if ($candidate->[0] <= $font{pixelSize} + $delta && $candidate->[0] != 0) { - return ($candidate->[1], $candidate->[0] - $font{pixelSize}, $candidate->[0]); - } - } - } - - # no fitting font available, check whether a 0-size font can be used to - # fit the size of the base font - @candidates = sort {$a->[0] <=> $b->[0]} @candidates; - if ($basesize != 0 && $candidates[0]->[0] == 0) { - return ($candidates[0]->[1], $basedelta, $basesize); - } else { - # if there is absolutely no smaller/larger font that can be used - # return the current one, and beep if this is the base font - if ($basesize == 0) { - $term->scr_bell; - } - return ("-$fontstring", 0, $font{pixelSize}); - } -} - -sub font_apply_new -{ - my ($term, $newfont, $type, $save) = @_; - - # $term->scr_add_lines("\r\nnew font is $newfont\n"); - - $term->cmd_parse("\033]" . $escapecodes{$type} . ";" . $newfont . "\033\\"); - - # load the xrdb db - # system("xrdb -load " . X_RESOURCES); - - if ($save > 0) { - # merge the new values - open(XRDB_MERGE, "| xrdb -merge") || die "can't fork: $!"; - local $SIG{PIPE} = sub { die "xrdb pipe broken" }; - print XRDB_MERGE "URxvt." . $type . ": " . $newfont; - close(XRDB_MERGE) || die "bad xrdb: $! $?"; - } -} diff --git a/simpleDots/urxvt/ext/font-size.md b/simpleDots/urxvt/ext/font-size.md deleted file mode 100644 index 45194ef..0000000 --- a/simpleDots/urxvt/ext/font-size.md +++ /dev/null @@ -1,111 +0,0 @@ -urxvt-font-size -=============== - -This is a perl extension for -[rxvt-unicode](http://software.schmorp.de/pkg/rxvt-unicode.html) that allows -changing the font size on the fly with keyboard shortcuts. It has the -following features: - -- Supports both xft and X11 fonts; X11 fonts work in both full form and as - aliases. -- Supports all four font settings: `font`, `boldFont`, `italicFont` and - `boldItalicFont` and changes them in accordance with the base font (the - first one from `font`). -- Can apply the font change globally for the whole server, so that new - terminals will inherit the same size, and even save it to `~/.Xresources` - to be able to survive a reboot. -- Should work even with complicated font setups like the example in the - urxvt man-page. - -Installation ------------- - -Put the `font-size` script into `$HOME/.urxvt/ext/` and add it to the list of -enabled perl-extensions in `~/.Xresources`: - -``` -URxvt.perl-ext-common: ...,font-size -``` - -Note: if your urxvt version is older than 9.14 you will have to add the path -to the script to the `URxvt.perl-lib` resource. - -The extension automatically binds Ctrl++ to the 'increase' function, -Ctrl+- to 'decrease', and Ctrl+0 to 'reset'. To use the other available functions -or change the keys, add some keybindings of your own: - - -``` -URxvt.keysym.C-Up: font-size:increase -URxvt.keysym.C-Down: font-size:decrease -URxvt.keysym.C-S-Up: font-size:incglobal -URxvt.keysym.C-S-Down: font-size:decglobal -URxvt.keysym.C-equal: font-size:reset -URxvt.keysym.C-slash: font-size:show -``` -Then load your new `~/.Xresources` to see the changes in the next terminal you open: - -``` -$ xrdb -merge ~/.Xresources -``` - -Note that for urxvt versions older than 9.21 the resources have to look like this: - -``` -URxvt.keysym.C-Up: perl:font-size:increase -URxvt.keysym.C-Down: perl:font-size:decrease -URxvt.keysym.C-S-Up: perl:font-size:incglobal -URxvt.keysym.C-S-Down: perl:font-size:decglobal -URxvt.keysym.C-equal: perl:font-size:reset -URxvt.keysym.C-slash: perl:font-size:show -``` - -The following functions are supported: - -- `increase`/`decrease`: Increase or decrease the font size of the current - terminal. -- `incglobal`/`decglobal`: Same as above and also adjust the X server values - so all newly started terminals will use the same fontsize. -- `incsave`/`decsave`: Same as incglobal/decglobal and also modify the - `~/.Xresources` file so the changed font sizes will persist over a restart - of the X server or a reboot. -- `reset`: Reset the font size to the value of the resource when starting - the terminal. -- `show`: Show the current value of the `font` resource in a popup. - -You can also change the step size that the script will use to increase the -font size: - -``` -URxvt.font-size.step: 4 -``` - -The default step size is 1. This means that with this setting a size change -sequence would be for example 8->12->16->20 instead of 8->9->10->11->12 etc. -Please note that many X11 fonts are only available in specific sizes, though, -and odd sizes are often not available, resulting in an effective step size of -2 instead of 1 in that case. - -Troubleshooting ---------------- - -At its core urxvt-font-size is just a fancy wrapper around the `ESC ] 710;Pt -ST` (and 711/712/713 for bold, italic, and bold-italic) escape sequences. So -if you are having trouble with this script please try the escape sequence -directly like this (outside of a terminal multiplexer like screen or tmux): - -``` -$ echo -e "\033]710;fixed\033\\" -``` - -You can exchange `fixed` for any (single) font that you want to try, like for -example `-xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1`: - -``` -$ echo -e "\033]710;-xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1\033\\" -``` - -If you can reproduce the problem this way then the problem does not lie with -the urxvt-font-size script, but either directly with urxvt or some other -component that may interfere (like for example a window manager). Please -report the bug to those projects in that case.