Update css/js + few configs

This commit is contained in:
2021-01-01 20:12:34 +01:00
parent 2cfa706a42
commit 85e9caebe4
95 changed files with 15754 additions and 16561 deletions

View File

@@ -3,17 +3,13 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-11-03 mar. 16:26 -->
<!-- 2021-01-01 ven. 20:09 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Binaries</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="./js/readtheorg.js"></script>
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
@@ -26,132 +22,42 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org28d68eb"><code>displayselect</code> - Select Screen</a></li>
<li><a href="#org8139955"><code>dmenumount</code> - Mount USB and Android</a></li>
<li><a href="#orgbff2106"><code>dmenuumount</code> - Unmount USB and Android devices</a></li>
<li><a href="#orgd951db9"><code>vpntoggle</code> - Connect to VPN using NordVPN</a></li>
<li><a href="#org39f3bdf"><code>bukurun</code> - Open link from Buku</a></li>
<li><a href="#org1ce653d"><code>i3exit</code> - Manage lock, suspend, reboot, &#x2026;</a></li>
<li><a href="#org91bab59"><code>askpass-rofi</code> - GUI prompt for passwords</a></li>
<li><a href="#org2d85447"><code>screenshot</code> - Take Screenshot</a></li>
<li><a href="#org8a00ba3"><code>network-toggle</code> - Toggle Network</a></li>
<li><a href="#orgd568e72"><code>make-gif</code> - Make GIF</a></li>
<li><a href="#orgd7e49ff"><code>yt-audio</code> - Download-Audio from youtube</a></li>
<li><a href="#org89810de"><code>yt-video</code> - Download-Video from youtube</a></li>
<li><a href="#org539efcb"><code>setbg</code> - Set Background</a></li>
<li><a href="#org229006d"><code>insert-unicode</code> - Insert Unicode Icon</a></li>
<li><a href="#orgf4064e2"><code>insert-nerd-fonts</code> - Insert Nerd Font Icon</a></li>
<li><a href="#org2796c9b"><code>linkhandler</code> - Open with Default application</a></li>
<li><a href="#org56e0cc2"><code>lockscreen</code> - LockScreen</a></li>
<li><a href="#orgbe881e3"><code>mopidy-restart</code> - Restart Mopidy</a></li>
<li><a href="#orgffe5d25"><code>upload</code> - Upload Script</a></li>
<li><a href="#orgcd16f91"><code>weather</code> - Display Weather in terminal</a></li>
<li><a href="#org17ef4d2"><code>readbib</code> - Open Bibliography File</a></li>
<li><a href="#orgda667bb"><code>readnotes</code> - Open Note File</a></li>
<li><a href="#orge45135c"><code>pdf2bib</code> - Extract bibtex entry from PDF file</a></li>
<li><a href="#org70ec456"><code>pdf2png</code> - Convert a PDF to PNG</a></li>
<li><a href="#org7601ca9"><code>pdf-shrink</code> - Pdf Shrink</a></li>
<li><a href="#org4041717"><code>pdf-delete-annotations</code> - Delete Annotations from PDFs</a></li>
<li><a href="#orge18f381"><code>pdf-delete-first-page</code> - Delete first page of PDF</a></li>
<li><a href="#org7ae8164"><code>rofi-calc</code> - Simple Calculation using Rofi</a></li>
<li><a href="#orge7a6e2d"><code>pass-gen</code> - Generate Random Alphanumeric Password</a></li>
<li><a href="#dmenumount"><code>dmenumount</code> - Mount USB and Android</a></li>
<li><a href="#dmenuumount"><code>dmenuumount</code> - Unmount USB and Android devices</a></li>
<li><a href="#nordvpn-toggle"><code>nordvpn-toggle</code> - Connect to VPN using NordVPN</a></li>
<li><a href="#bukurun"><code>bukurun</code> - Open link from Buku</a></li>
<li><a href="#i3exit"><code>i3exit</code> - Manage lock, suspend, reboot, &#x2026;</a></li>
<li><a href="#askpass-rofi"><code>askpass-rofi</code> - GUI prompt for passwords</a></li>
<li><a href="#screenshot"><code>screenshot</code> - Take Screenshot</a></li>
<li><a href="#network-toggle"><code>network-toggle</code> - Toggle Network</a></li>
<li><a href="#make-gif"><code>make-gif</code> - Convert an <code>MP4</code> video to <code>GIF</code></a></li>
<li><a href="#yt-audio"><code>yt-audio</code> - Download-Audio from youtube</a></li>
<li><a href="#yt-video"><code>yt-video</code> - Download-Video from youtube</a></li>
<li><a href="#setbg"><code>setbg</code> - Set Background</a></li>
<li><a href="#insert-unicode"><code>insert-unicode</code> - Insert Unicode Icon</a></li>
<li><a href="#insert-nerd-fonts"><code>insert-nerd-fonts</code> - Insert Nerd Font Icon</a></li>
<li><a href="#linkhandler"><code>linkhandler</code> - Open with Default application</a></li>
<li><a href="#lockscreen"><code>lockscreen</code> - Lock Screen</a></li>
<li><a href="#mopidy-restart"><code>mopidy-restart</code> - Restart Mopidy</a></li>
<li><a href="#upload"><code>upload</code> - Upload Script</a></li>
<li><a href="#weather"><code>weather</code> - Display Weather in terminal</a></li>
<li><a href="#readbib"><code>readbib</code> - Open Bibliography File</a></li>
<li><a href="#pdf2bib"><code>pdf2bib</code> - Extract bibtex entry from PDF file</a></li>
<li><a href="#pdf2png"><code>pdf2png</code> - Convert a PDF to PNG</a></li>
<li><a href="#convert-file"><code>convert-file</code> - Convert any file to another filetype</a></li>
<li><a href="#pdf-shrink"><code>pdf-shrink</code> - Pdf Shrink</a></li>
<li><a href="#pdf-delete-annotations"><code>pdf-delete-annotations</code> - Delete Annotations from PDFs</a></li>
<li><a href="#pdf-delete-first-page"><code>pdf-delete-first-page</code> - Delete first page of PDF</a></li>
<li><a href="#rofi-calc"><code>rofi-calc</code> - Simple Calculation using Rofi</a></li>
<li><a href="#pass-gen"><code>pass-gen</code> - Generate Random Alphanumeric Password</a></li>
<li><a href="#sxhkd-help"><code>sxhkd-help</code> - List of keybindings using Rofi</a></li>
</ul>
</div>
</div>
<div id="outline-container-org28d68eb" class="outline-2">
<h2 id="org28d68eb"><code>displayselect</code> - Select Screen</h2>
<div class="outline-text-2" id="text-org28d68eb">
<p>
Script taken from Luke Smith.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">twoscreen</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-comment-delimiter"># </span><span class="org-comment">If multi-monitor is selected and there are two screens.</span>
<span class="org-variable-name">mirror</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">printf</span> <span class="org-string">"no\\nyes"</span> | dmenu -i -p <span class="org-string">"Mirror displays?"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Mirror displays using native resolution of external display and a scaled</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">version for the internal display</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">mirror</span></span><span class="org-string">"</span> = <span class="org-string">"yes"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">external</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Optimize resolution for:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">internal</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -v <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">external</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_external</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">xrandr</span> --query | sed -n <span class="org-string">"/^</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">external</span></span><span class="org-string">/,/\+/p"</span> | <span class="org-sh-escaped-newline">\</span>
tail -n <span class="org-highlight-numbers-number">1</span> | awk <span class="org-string">'{print $1}'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_internal</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">xrandr</span> --query | sed -n <span class="org-string">"/^</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">internal</span></span><span class="org-string">/,/\+/p"</span> | <span class="org-sh-escaped-newline">\</span>
tail -n <span class="org-highlight-numbers-number">1</span> | awk <span class="org-string">'{print $1}'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_ext_x</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_external</span></span><span class="org-string">"</span> | sed <span class="org-string">'s/x.*//'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_ext_y</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_external</span></span><span class="org-string">"</span> | sed <span class="org-string">'s/.*x//'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_int_x</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_internal</span></span><span class="org-string">"</span> | sed <span class="org-string">'s/x.*//'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">res_int_y</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_internal</span></span><span class="org-string">"</span> | sed <span class="org-string">'s/.*x//'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">scale_x</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_ext_x</span></span><span class="org-string"> / </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_int_x</span></span><span class="org-string">"</span> | bc -l<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">scale_y</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_ext_y</span></span><span class="org-string"> / </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">res_int_y</span></span><span class="org-string">"</span> | bc -l<span class="org-rainbow-delimiters-depth-2">)</span>
xrandr --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">external</span></span><span class="org-string">"</span> --auto --scale 1.0x1.0 <span class="org-sh-escaped-newline">\</span>
--output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">internal</span></span><span class="org-string">"</span> --auto --same-as <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">external</span></span><span class="org-string">"</span> <span class="org-sh-escaped-newline">\</span>
--scale <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">scale_x</span></span><span class="org-string">"</span>x<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">scale_y</span></span><span class="org-string">"</span>
<span class="org-keyword">else</span>
<span class="org-variable-name">primary</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Select primary display:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">secondary</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -v <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">direction</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">printf</span> <span class="org-string">"left\\nright"</span> | dmenu -i -p <span class="org-string">"What side of </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string"> should </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">secondary</span></span><span class="org-string"> be on?"</span><span class="org-rainbow-delimiters-depth-2">)</span>
xrandr --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> --auto --scale 1.0x1.0 --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">secondary</span></span><span class="org-string">"</span> --<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">direction</span></span><span class="org-string">"</span>-of <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> --auto --scale 1.0x1.0
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-function-name">morescreen</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-comment-delimiter"># </span><span class="org-comment">If multi-monitor is selected and there are more than two screens.</span>
<span class="org-variable-name">primary</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Select primary display:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">secondary</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -v <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Select secondary display:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">direction</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">printf</span> <span class="org-string">"left\\nright"</span> | dmenu -i -p <span class="org-string">"What side of </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string"> should </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">secondary</span></span><span class="org-string"> be on?"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">tertiary</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -v <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -v <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">secondary</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Select third display:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
xrandr --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> --auto --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">secondary</span></span><span class="org-string">"</span> --<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">direction</span></span><span class="org-string">"</span>-of <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> --auto --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tertiary</span></span><span class="org-string">"</span> --<span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">printf</span><span class="org-string"><span class="org-sh-quoted-exec"> "left\\nright" | </span></span><span class="org-type"><span class="org-string"><span class="org-sh-quoted-exec">grep</span></span></span><span class="org-string"><span class="org-sh-quoted-exec"> -v "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">direction</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">")</span></span><span class="org-string">"</span>-of <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">primary</span></span><span class="org-string">"</span> --auto
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-function-name">multimon</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Multi-monitor handler.</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">screens</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | wc -l)</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-highlight-numbers-number">2</span>) twoscreen ;;
*) morescreen ;;
<span class="org-keyword">esac</span> ;<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-function-name">onescreen</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-comment-delimiter"># </span><span class="org-comment">If only one output available or chosen.</span>
xrandr --output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> --auto --scale 1.0x1.0 <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">allposs</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | </span></span><span class="org-type"><span class="org-string"><span class="org-sh-quoted-exec">grep</span></span></span><span class="org-string"><span class="org-sh-quoted-exec"> -v "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | awk '{print "--output", </span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">, "--off"}' | paste -sd ' ')</span></span><span class="org-string">"</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-function-name">postrun</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Stuff to run to clean up.</span>
setbg <span class="org-comment-delimiter"># </span><span class="org-comment">Fix background if screen size/arangement has changed.</span>
$<span class="org-variable-name">HOME</span>/.config/polybar/scripts/launch.sh <span class="org-comment-delimiter"># </span><span class="org-comment">restart polybar</span>
<span class="org-rainbow-delimiters-depth-2">{</span> killall dunst ; setsid -f dunst ;<span class="org-rainbow-delimiters-depth-2">}</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Restart dunst to ensure proper location on screen</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Get all possible displays</span>
<span class="org-variable-name">allposs</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">xrandr</span> -q | <span class="org-type">grep</span> <span class="org-string">"connected"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Get all connected screens.</span>
<span class="org-variable-name">screens</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">allposs</span></span><span class="org-string">"</span> | awk <span class="org-string">'/ connected/ {print $1}'</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">If there's only one screen</span>
<span class="org-rainbow-delimiters-depth-1">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">screens</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | wc -l)</span></span><span class="org-string">"</span> -lt <span class="org-highlight-numbers-number">2</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp;
<span class="org-rainbow-delimiters-depth-1">{</span> onescreen <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span>; postrun; notify-send <span class="org-string">"&#128187; Only one screen detected."</span> <span class="org-string">"Using it in its optimal settings..."</span>; <span class="org-keyword">exit</span> ;<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Get user choice including multi-monitor and manual selection:</span>
<span class="org-variable-name">chosen</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">printf</span> <span class="org-string">"%s\\nmulti-monitor\\nmanual selection"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">screens</span></span><span class="org-string">"</span> | dmenu -i -p <span class="org-string">"Select display arangement:"</span><span class="org-rainbow-delimiters-depth-1">)</span> &amp;&amp;
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">chosen</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"manual selection"</span>) arandr ; <span class="org-keyword">exit</span> ;;
<span class="org-string">"multi-monitor"</span>) multimon ;;
*) onescreen <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">chosen</span></span><span class="org-string">"</span> ;;
<span class="org-keyword">esac</span>
postrun
</pre>
</div>
</div>
</div>
<div id="outline-container-org8139955" class="outline-2">
<h2 id="org8139955"><code>dmenumount</code> - Mount USB and Android</h2>
<div class="outline-text-2" id="text-org8139955">
<div id="outline-container-dmenumount" class="outline-2">
<h2 id="dmenumount"><code>dmenumount</code> - Mount USB and Android</h2>
<div class="outline-text-2" id="text-dmenumount">
<p>
Script taken from Luke Smith.
</p>
@@ -221,9 +127,9 @@ Script taken from Luke Smith.
</div>
</div>
<div id="outline-container-orgbff2106" class="outline-2">
<h2 id="orgbff2106"><code>dmenuumount</code> - Unmount USB and Android devices</h2>
<div class="outline-text-2" id="text-orgbff2106">
<div id="outline-container-dmenuumount" class="outline-2">
<h2 id="dmenuumount"><code>dmenuumount</code> - Unmount USB and Android devices</h2>
<div class="outline-text-2" id="text-dmenuumount">
<p>
Script taken from Luke Smith.
</p>
@@ -272,25 +178,40 @@ Script taken from Luke Smith.
</div>
</div>
<div id="outline-container-orgd951db9" class="outline-2">
<h2 id="orgd951db9"><code>vpntoggle</code> - Connect to VPN using NordVPN</h2>
<div class="outline-text-2" id="text-orgd951db9">
<div id="outline-container-nordvpn-toggle" class="outline-2">
<h2 id="nordvpn-toggle"><code>nordvpn-toggle</code> - Connect to VPN using NordVPN</h2>
<div class="outline-text-2" id="text-nordvpn-toggle">
<p>
To use this this, <code>nordvpn</code> must be installed: <code>yay -S nordvpn-bin</code>.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> $<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-sh-quoted-exec">nordvpn</span> status<span class="org-rainbow-delimiters-depth-3">)</span> == *<span class="org-string">"Connected"</span>* <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
nordvpn disconnect &amp;&amp; dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Disconnected"</span>;
<pre class="src src-bash"><span class="org-variable-name">tmpfile</span>=<span class="org-string">"/tmp/vpnstatus"</span>;
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> $<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-sh-quoted-exec">nordvpn</span> status<span class="org-rainbow-delimiters-depth-3">)</span> == *<span class="org-string">"Connected"</span>* <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
nordvpn disconnect &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Disconnected"</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-type">echo</span> <span class="org-string">"off"</span> &gt; $<span class="org-variable-name">tmpfile</span>;
<span class="org-keyword">else</span>
<span class="org-variable-name">country</span>=<span class="org-sh-quoted-exec">`</span><span class="org-type"><span class="org-sh-quoted-exec">cat</span></span><span class="org-sh-quoted-exec"> ~/.local/data/nordvpn_countries.txt | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`</span>;
dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Connecting to </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">country</span></span><span class="org-string">..."</span>;
nordvpn connect $<span class="org-variable-name">country</span> &amp;&amp; dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Connected to </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">country</span></span><span class="org-string">"</span>;
<span class="org-comment-delimiter"># </span><span class="org-comment">Select Country to connect to</span>
<span class="org-variable-name">country</span>=<span class="org-sh-quoted-exec">`</span><span class="org-type"><span class="org-sh-quoted-exec">cat</span></span><span class="org-sh-quoted-exec"> ~/.local/data/nordvpn_countries.txt | rofi -i -dmenu | sed 's/\s/_/g'`</span>;
dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Connecting to </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">country</span></span><span class="org-string">..."</span>;
nordvpn connect $<span class="org-variable-name">country</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify --replace=<span class="org-highlight-numbers-number">23198</span> <span class="org-string">"VPN"</span> <span class="org-string">"Connected to </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">country</span></span><span class="org-string">"</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-type">echo</span> <span class="org-string">"on"</span> &gt; $<span class="org-variable-name">tmpfile</span>;
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org39f3bdf" class="outline-2">
<h2 id="org39f3bdf"><code>bukurun</code> - Open link from Buku</h2>
<div class="outline-text-2" id="text-org39f3bdf">
<div id="outline-container-bukurun" class="outline-2">
<h2 id="bukurun"><code>bukurun</code> - Open link from Buku</h2>
<div class="outline-text-2" id="text-bukurun">
<p>
Script taken from <a href="https://github.com/carnager/buku_run">here</a> that acts as a buku frontend using Rofi.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">_rofi</span> <span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
rofi -dmenu -i -no-levenshtein-sort -width <span class="org-highlight-numbers-number">1000</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span>
@@ -627,9 +548,9 @@ Script taken from Luke Smith.
</div>
</div>
<div id="outline-container-org1ce653d" class="outline-2">
<h2 id="org1ce653d"><code>i3exit</code> - Manage lock, suspend, reboot, &#x2026;</h2>
<div class="outline-text-2" id="text-org1ce653d">
<div id="outline-container-i3exit" class="outline-2">
<h2 id="i3exit"><code>i3exit</code> - Manage lock, suspend, reboot, &#x2026;</h2>
<div class="outline-text-2" id="text-i3exit">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">option</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"Lock\nExit\nLogout\nSuspend\nHibernate\nReboot\nShutdown"</span> | rofi -i -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
@@ -638,7 +559,7 @@ Script taken from Luke Smith.
~/.local/bin/lockscreen
;;
<span class="org-string">"Exit"</span>)
dm-tool switch-to-greeter
<span class="org-type">pkill</span> -15 -t tty<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">XDG_VTNR</span></span><span class="org-string">"</span> Xorg
;;
<span class="org-string">"Logout"</span>)
loginctl terminate-session <span class="org-sh-quoted-exec">`loginctl session-status | head -n 1 | awk '{print $1}'`</span>
@@ -676,13 +597,14 @@ Script taken from Luke Smith.
</div>
</div>
<div id="outline-container-org91bab59" class="outline-2">
<h2 id="org91bab59"><code>askpass-rofi</code> - GUI prompt for passwords</h2>
<div class="outline-text-2" id="text-org91bab59">
<div id="outline-container-askpass-rofi" class="outline-2">
<h2 id="askpass-rofi"><code>askpass-rofi</code> - GUI prompt for passwords</h2>
<div class="outline-text-2" id="text-askpass-rofi">
<p>
Take password prompt from STDIN, print password to STDOUT.
The sed piece just removes the colon from the provided prompt: <code>rofi -p</code> already gives us a colon
</p>
<div class="org-src-container">
<pre class="src src-bash">rofi -dmenu <span class="org-sh-escaped-newline">\</span>
-password <span class="org-sh-escaped-newline">\</span>
@@ -693,44 +615,58 @@ The sed piece just removes the colon from the provided prompt: <code>rofi -p</co
</div>
</div>
<div id="outline-container-org2d85447" class="outline-2">
<h2 id="org2d85447"><code>screenshot</code> - Take Screenshot</h2>
<div class="outline-text-2" id="text-org2d85447">
<div id="outline-container-screenshot" class="outline-2">
<h2 id="screenshot"><code>screenshot</code> - Take Screenshot</h2>
<div class="outline-text-2" id="text-screenshot">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">status</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"All\nGUI\nSelection\nCropped\nCopy\nShadow\nActive"</span> | rofi -i -dmenu -p <span class="org-string">"Type"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Ask for screenshot type</span>
<span class="org-variable-name">status</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"All\nGUI\nSelection\nCropped\nCopy\nPretty\nShadow\nWindow"</span> | rofi -i -dmenu -p <span class="org-string">"Type"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">status</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-variable-name">name</span>=<span class="org-sh-quoted-exec">$</span><span class="org-sh-quoted-exec"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-sh-quoted-exec">echo -e </span><span class="org-string"><span class="org-sh-quoted-exec">"screenshot-$(</span></span><span class="org-sh-quoted-exec">date</span><span class="org-string"><span class="org-sh-quoted-exec"> +"%m-%d-%y_%H-%M-%S")</span></span><span class="org-string">"</span> | rofi -i -dmenu -p <span class="org-string">"Filename"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">name</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-comment-delimiter"># </span><span class="org-comment">Ask for filename if not copying the image</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> $<span class="org-variable-name">status</span> != <span class="org-string">"Copy"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">name</span>=<span class="org-sh-quoted-exec">$</span><span class="org-sh-quoted-exec"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-sh-quoted-exec">echo -e </span><span class="org-string"><span class="org-sh-quoted-exec">"screenshot-$(</span></span><span class="org-sh-quoted-exec">date</span><span class="org-string"><span class="org-sh-quoted-exec"> +"%m-%d-%y_%H-%M-%S")</span></span><span class="org-string">"</span> | rofi -i -dmenu -p <span class="org-string">"Filename"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">name</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-variable-name">filename</span>=~/Pictures/$<span class="org-variable-name">name</span>.png
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">status</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"All"</span>)
maim ~/Pictures/$<span class="org-variable-name">name</span>.png ;;
maim -u $<span class="org-variable-name">filename</span> ;;
<span class="org-string">"GUI"</span>)
flameshot gui -r &gt; ~/Pictures/$<span class="org-variable-name">name</span>.png ;;
flameshot gui -r &gt; $<span class="org-variable-name">filename</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-type">pkill</span> flameshot;;
<span class="org-string">"Selection"</span>)
maim -s ~/Pictures/$<span class="org-variable-name">name</span>.png ;;
maim -u -s $<span class="org-variable-name">filename</span> ;;
<span class="org-string">"Cropped"</span>)
maim -s ~/Pictures/$<span class="org-variable-name">name</span>.png &amp;&amp; convert -trim ~/Pictures/$<span class="org-variable-name">name</span>.png ~/Pictures/$<span class="org-variable-name">name</span>.png;;
maim -u -s $<span class="org-variable-name">filename</span> &amp;&amp; convert -trim $<span class="org-variable-name">filename</span> $<span class="org-variable-name">filename</span> ;;
<span class="org-string">"Copy"</span>)
maim -s | xclip -selection clipboard -t image/png ;;
maim -u -s | xclip -selection clipboard -t image/png ;;
<span class="org-string">"Shadow"</span>)
maim -st <span class="org-highlight-numbers-number">9999999</span> | convert - <span class="org-string">\(</span> +clone -background black -shadow 80x3+5+5 <span class="org-string">\)</span> +swap -background none -layers merge +repage ~/Pictures/$<span class="org-variable-name">name</span>.png ;;
<span class="org-string">"Active"</span>)
maim -i $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">xdotool</span> getactivewindow<span class="org-rainbow-delimiters-depth-1">)</span> ~/Pictures/$<span class="org-variable-name">name</span>.png ;;
maim -u -s | convert - <span class="org-string">\(</span> +clone -background black -shadow 80x3+5+5 <span class="org-string">\)</span> +swap -background none -layers merge +repage $<span class="org-variable-name">filename</span> ;;
<span class="org-string">"Pretty"</span>)
maim -u -s $<span class="org-variable-name">filename</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
convert $<span class="org-variable-name">filename</span> <span class="org-string">\(</span> +clone -alpha extract -draw <span class="org-string">'fill black polygon 0,0 0,5 5,0 fill white circle 5,5 5,0'</span> <span class="org-string">\(</span> +clone -flip <span class="org-string">\)</span> -compose Multiply -composite <span class="org-string">\(</span> +clone -flop <span class="org-string">\)</span> -compose Multiply -composite <span class="org-string">\)</span> -alpha off -compose CopyOpacity -composite $<span class="org-variable-name">filename</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
convert $<span class="org-variable-name">filename</span> <span class="org-string">\(</span> +clone -background black -shadow 40x5+0+0 <span class="org-string">\)</span> +swap -background none -layers merge +repage $<span class="org-variable-name">filename</span> ;;
<span class="org-string">"Window"</span>)
maim -u -i $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">xdotool</span> selectwindow<span class="org-rainbow-delimiters-depth-1">)</span> $<span class="org-variable-name">filename</span> ;;
<span class="org-keyword">esac</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org8a00ba3" class="outline-2">
<h2 id="org8a00ba3"><code>network-toggle</code> - Toggle Network</h2>
<div class="outline-text-2" id="text-org8a00ba3">
<div id="outline-container-network-toggle" class="outline-2">
<h2 id="network-toggle"><code>network-toggle</code> - Toggle Network</h2>
<div class="outline-text-2" id="text-network-toggle">
<p>
Minimal network manager to just toggle the Wifi or Ethernet connection.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">result</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">nmcli</span> device | sed <span class="org-string">'1d'</span> | dmenu -l <span class="org-highlight-numbers-number">20</span><span class="org-rainbow-delimiters-depth-1">)</span>;
@@ -747,12 +683,15 @@ The sed piece just removes the colon from the provided prompt: <code>rofi -p</co
</div>
</div>
<div id="outline-container-orgd568e72" class="outline-2">
<h2 id="orgd568e72"><code>make-gif</code> - Make GIF</h2>
<div class="outline-text-2" id="text-orgd568e72">
<div id="outline-container-make-gif" class="outline-2">
<h2 id="make-gif"><code>make-gif</code> - Convert an <code>MP4</code> video to <code>GIF</code></h2>
<div class="outline-text-2" id="text-make-gif">
<p>
First argument is the <code>mp4</code> file and the second argument is the output <code>gif</code> file.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">palette</span>=<span class="org-string">"/tmp/palette.png"</span>
<span class="org-variable-name">filters</span>=<span class="org-string">"fps=15,scale=320:-1:flags=lanczos"</span>
ffmpeg -v warning -i $<span class="org-highlight-numbers-number">1</span> -vf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filters</span></span><span class="org-string">,palettegen"</span> -y $<span class="org-variable-name">palette</span>
@@ -762,9 +701,9 @@ ffmpeg -v warning -i $<span class="org-highlight-numbers-number">1</span> -i $<s
</div>
</div>
<div id="outline-container-orgd7e49ff" class="outline-2">
<h2 id="orgd7e49ff"><code>yt-audio</code> - Download-Audio from youtube</h2>
<div class="outline-text-2" id="text-orgd7e49ff">
<div id="outline-container-yt-audio" class="outline-2">
<h2 id="yt-audio"><code>yt-audio</code> - Download-Audio from youtube</h2>
<div class="outline-text-2" id="text-yt-audio">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-variable-name">TMUX</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
tmux split -v -l <span class="org-highlight-numbers-number">5</span> <span class="org-string">"</span><span class="org-type"><span class="org-string">cd</span></span><span class="org-string"> ~/Downloads/ &amp;&amp; youtube-dl --add-metadata -xic -f bestaudio/best </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; tmux select-pane -U
@@ -777,9 +716,9 @@ ffmpeg -v warning -i $<span class="org-highlight-numbers-number">1</span> -i $<s
</div>
</div>
<div id="outline-container-org89810de" class="outline-2">
<h2 id="org89810de"><code>yt-video</code> - Download-Video from youtube</h2>
<div class="outline-text-2" id="text-org89810de">
<div id="outline-container-yt-video" class="outline-2">
<h2 id="yt-video"><code>yt-video</code> - Download-Video from youtube</h2>
<div class="outline-text-2" id="text-yt-video">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-variable-name">TMUX</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
tmux split -v -l <span class="org-highlight-numbers-number">5</span> <span class="org-string">"</span><span class="org-type"><span class="org-string">cd</span></span><span class="org-string"> ~/Downloads/ &amp;&amp; youtube-dl --add-metadata -ic </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; tmux select-pane -U
@@ -791,25 +730,40 @@ ffmpeg -v warning -i $<span class="org-highlight-numbers-number">1</span> -i $<s
</div>
</div>
</div>
<div id="outline-container-org539efcb" class="outline-2">
<h2 id="org539efcb"><code>setbg</code> - Set Background</h2>
<div class="outline-text-2" id="text-org539efcb">
<div id="outline-container-setbg" class="outline-2">
<h2 id="setbg"><code>setbg</code> - Set Background</h2>
<div class="outline-text-2" id="text-setbg">
<p>
First argument is either:
</p>
<ul class="org-ul">
<li>the background file</li>
<li>a directory, in such case it will pick a random picture file from that directory</li>
</ul>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">bgloc</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{XDG_CACHE_HOME:-$HOME/.cache/}</span></span><span class="org-string">/bg"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">If the argument is a file</span>
<span class="org-rainbow-delimiters-depth-1">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp; <span class="org-type">ln</span> -sf <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">readlink</span><span class="org-string"><span class="org-sh-quoted-exec"> -f "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">")</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">bgloc</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">If the argument is a directory</span>
<span class="org-rainbow-delimiters-depth-1">[</span> -d <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp; <span class="org-type">ln</span> -sf <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">find</span><span class="org-string"><span class="org-sh-quoted-exec"> "$(</span></span><span class="org-sh-quoted-exec">readlink</span><span class="org-string"><span class="org-sh-quoted-exec"> -f "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">")</span></span><span class="org-string">" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">bgloc</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Set the wallpaper</span>
xwallpaper --zoom <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">bgloc</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org229006d" class="outline-2">
<h2 id="org229006d"><code>insert-unicode</code> - Insert Unicode Icon</h2>
<div class="outline-text-2" id="text-org229006d">
<div id="outline-container-insert-unicode" class="outline-2">
<h2 id="insert-unicode"><code>insert-unicode</code> - Insert Unicode Icon</h2>
<div class="outline-text-2" id="text-insert-unicode">
<p>
The list of emojis is available <a href="data.html#emojis">here</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Must have xclip installed to even show menu.</span>
xclip -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <span class="org-keyword">exit</span> <span class="org-highlight-numbers-number">1</span>
@@ -830,9 +784,13 @@ xclip -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <sp
</div>
</div>
<div id="outline-container-orgf4064e2" class="outline-2">
<h2 id="orgf4064e2"><code>insert-nerd-fonts</code> - Insert Nerd Font Icon</h2>
<div class="outline-text-2" id="text-orgf4064e2">
<div id="outline-container-insert-nerd-fonts" class="outline-2">
<h2 id="insert-nerd-fonts"><code>insert-nerd-fonts</code> - Insert Nerd Font Icon</h2>
<div class="outline-text-2" id="text-insert-nerd-fonts">
<p>
The list of emojis is available <a href="data.html#nerd-fonts">here</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Must have xsel installed to even show menu.</span>
xsel -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <span class="org-keyword">exit</span> <span class="org-highlight-numbers-number">1</span>
@@ -853,24 +811,25 @@ xsel -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <spa
</div>
</div>
<div id="outline-container-org2796c9b" class="outline-2">
<h2 id="org2796c9b"><code>linkhandler</code> - Open with Default application</h2>
<div class="outline-text-2" id="text-org2796c9b">
<div id="outline-container-linkhandler" class="outline-2">
<h2 id="linkhandler"><code>linkhandler</code> - Open with Default application</h2>
<div class="outline-text-2" id="text-linkhandler">
<p>
Inspired from <code>linkhandler</code> <a href="https://github.com/LukeSmithxyz/voidrice/">https://github.com/LukeSmithxyz/voidrice/</a>
This is used in <code>newsboat</code> to handle links
Inspired from <code>linkhandler</code> script (<a href="https://github.com/LukeSmithxyz/voidrice/">github</a>).
This is used to open any type of file with the wanted program.
It can be used in <code>newsboat</code>, <code>neomutt</code> and <code>ranger</code> for instance.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp; <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">BROWSER</span></span><span class="org-string">"</span>; <span class="org-keyword">exit</span>; <span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*)
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*)
setsid mpv --input-ipc-server=/tmp/mpvsoc$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">date</span> +%s<span class="org-rainbow-delimiters-depth-1">)</span> -quiet <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*png|*jpg|*jpe|*jpeg|*gif)
<span class="org-type">curl</span> -sL <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///")</span></span><span class="org-string">"</span> &amp;&amp; sxiv -a <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///")</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*mp3|*flac|*opus|*mp3?source*)
setsid tsp <span class="org-type">curl</span> -LO <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
setsid <span class="org-type">curl</span> -LO <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*)
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">TERMINAL</span></span><span class="org-string">"</span> -e <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">EDITOR</span></span><span class="org-string"> </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span>
<span class="org-keyword">else</span> setsid $<span class="org-variable-name">BROWSER</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; <span class="org-keyword">fi</span> ;;
@@ -879,89 +838,50 @@ This is used in <code>newsboat</code> to handle links
</div>
</div>
</div>
<div id="outline-container-org56e0cc2" class="outline-2">
<h2 id="org56e0cc2"><code>lockscreen</code> - LockScreen</h2>
<div class="outline-text-2" id="text-org56e0cc2">
<p>
First, turn off dunst
</p>
<div class="org-src-container">
<pre class="src src-bash">killall -SIGUSR1 dunst &amp;&amp; <span class="org-type">echo</span> <span class="org-string">"off"</span> &gt; /tmp/dunststatus;
</pre>
</div>
<div id="outline-container-lockscreen" class="outline-2">
<h2 id="lockscreen"><code>lockscreen</code> - Lock Screen</h2>
<div class="outline-text-2" id="text-lockscreen">
<p>
Turn off the music if it is playing.
A nice lockscreen that uses <code>i3lock</code>.
It takes a screenshot, pixelize it and overlay an image in the lockscreens folder.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">MPC_STATE</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">mpc</span> | sed -n <span class="org-string">'2p'</span> | cut -d <span class="org-string">"["</span> -f2 | cut -d <span class="org-string">"]"</span> -f1<span class="org-rainbow-delimiters-depth-1">)</span>
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">First, turn off dunst</span>
killall -SIGUSR1 dunst &amp;&amp; <span class="org-type">echo</span> <span class="org-string">"off"</span> &gt; /tmp/dunststatus;
<span class="org-comment-delimiter"># </span><span class="org-comment">Turn off the music if it is playing.</span>
<span class="org-variable-name">MPC_STATE</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">mpc</span> | sed -n <span class="org-string">'2p'</span> | cut -d <span class="org-string">"["</span> -f2 | cut -d <span class="org-string">"]"</span> -f1<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> $<span class="org-variable-name">MPC_STATE</span> == <span class="org-string">"playing"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
mpc pause
mpc pause
<span class="org-keyword">fi</span>
</pre>
</div>
<p>
Then take a screenshot and process it.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">temp_file</span>=<span class="org-string">"/tmp/screen.png"</span>
<span class="org-type">rm</span> -f $<span class="org-variable-name">temp_file</span>
maim $<span class="org-variable-name">temp_file</span>
convert $<span class="org-variable-name">temp_file</span> -scale 10% -scale 1000% $<span class="org-variable-name">temp_file</span>
</pre>
</div>
<p>
Finally, lock the screen using <code>i3lock</code>.
</p>
<div class="org-src-container">
<pre class="src src-bash">i3lock --no-unlock-indicator --ignore-empty-password --nofork --image=$<span class="org-variable-name">temp_file</span> &amp;&amp; killall -SIGUSR2 dunst &amp;&amp; <span class="org-type">echo</span> <span class="org-string">"on"</span> &gt; /tmp/dunststatus
</pre>
</div>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">revert</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
xset dpms <span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">0</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">trap</span> revert HUP INT TERM
<span class="org-comment-delimiter"># </span><span class="org-comment">turn off screen after 5 seconds</span>
xset +dpms dpms <span class="org-highlight-numbers-number">5</span> <span class="org-highlight-numbers-number">5</span> <span class="org-highlight-numbers-number">5</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Parameters</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Take the screenshot and process it nicely</span>
<span class="org-variable-name">temp_file</span>=<span class="org-string">"/tmp/screen.png"</span>
<span class="org-variable-name">icon</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">HOME</span></span><span class="org-string">/Pictures/Evil_Rick_Sprite.png"</span>
<span class="org-variable-name">width</span>=<span class="org-highlight-numbers-number">1920</span>
<span class="org-variable-name">height</span>=<span class="org-highlight-numbers-number">1080</span>
<span class="org-variable-name">blur_factor</span>=<span class="org-highlight-numbers-number">6</span>
<span class="org-variable-name">lock_blur_factor</span>=<span class="org-highlight-numbers-number">0</span>
<span class="org-type">rm</span> -f $<span class="org-variable-name">temp_file</span>
maim $<span class="org-variable-name">temp_file</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Pixelize the Screenshot</span>
convert $<span class="org-variable-name">temp_file</span> -scale 10% -scale 1000% $<span class="org-variable-name">temp_file</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Overlay a random image in the lockscreens folder</span>
composite -gravity center $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">find</span> ~/.local/data/lockscreens/ -type f | shuf -n <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span> $<span class="org-variable-name">temp_file</span> $<span class="org-variable-name">temp_file</span>;
<span class="org-comment-delimiter"># </span><span class="org-comment">Take the screen shot, blur the image and add the icon</span>
ffmpeg -f x11grab -video_size <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{width}</span></span><span class="org-string">x</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{height}</span></span><span class="org-string">"</span> -y -i $<span class="org-variable-name">DISPLAY</span> -i $<span class="org-variable-name">icon</span> -filter_complex <span class="org-string">"boxblur=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">blur_factor</span></span><span class="org-string">:</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">blur_factor</span></span><span class="org-string">,overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,boxblur=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">lock_blur_factor</span></span><span class="org-string">:</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">lock_blur_factor</span></span><span class="org-string">"</span> -vframes <span class="org-highlight-numbers-number">1</span> $<span class="org-variable-name">temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Alternative</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">maim -d 1 $temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">convert -blur 0x8 $temp_file $temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">convert -composite $temp_file $icon -gravity South -geometry -20x1200 $temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Lock the screen with the image</span>
i3lock --no-unlock-indicator --ignore-empty-password --show-failed-attempts --nofork --image=$<span class="org-variable-name">temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Remove the screenshot</span>
<span class="org-type">rm</span> $<span class="org-variable-name">temp_file</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Don't turn off screen when back from lock</span>
revert
<span class="org-comment-delimiter"># </span><span class="org-comment">Finally, lock the screen using =i3lock=</span>
i3lock --ignore-empty-password --nofork --image=$<span class="org-variable-name">temp_file</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">When unlocking, restart dunst</span>
killall -SIGUSR2 dunst &amp;&amp; <span class="org-type">echo</span> <span class="org-string">"on"</span> &gt; /tmp/dunststatus
</pre>
</div>
</div>
</div>
<div id="outline-container-orgbe881e3" class="outline-2">
<h2 id="orgbe881e3"><code>mopidy-restart</code> - Restart Mopidy</h2>
<div class="outline-text-2" id="text-orgbe881e3">
<div id="outline-container-mopidy-restart" class="outline-2">
<h2 id="mopidy-restart"><code>mopidy-restart</code> - Restart Mopidy</h2>
<div class="outline-text-2" id="text-mopidy-restart">
<p>
Sometimes <code>mopidy</code> need to be restarted&#x2026;
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">pids</span>=<span class="org-rainbow-delimiters-depth-1">(</span> $<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">pgrep</span> -f mopidy<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-1">)</span>
@@ -970,8 +890,8 @@ revert
<span class="org-type">kill</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">pid</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">done</span>
<span class="org-type">echo</span> <span class="org-string">"Killed mopidy."</span>
<span class="org-type">echo</span> <span class="org-string">"Restarting mopidy..."</span>
mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp;
<span class="org-type">echo</span> <span class="org-string">"Done"</span>
@@ -980,9 +900,13 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-orgffe5d25" class="outline-2">
<h2 id="orgffe5d25"><code>upload</code> - Upload Script</h2>
<div class="outline-text-2" id="text-orgffe5d25">
<div id="outline-container-upload" class="outline-2">
<h2 id="upload"><code>upload</code> - Upload Script</h2>
<div class="outline-text-2" id="text-upload">
<p>
Upload a file to <a href="https://0x0.st/">https://0x0.st/</a> and copy the generated url.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-variable-name">TMUX</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
tmux split -v -l <span class="org-highlight-numbers-number">1</span> <span class="org-string">"</span><span class="org-type"><span class="org-string">curl</span></span><span class="org-string"> --progress-bar -F\"file=@</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">\" https://0x0.st | xsel -ib;"</span> &amp;&amp; tmux select-pane -U
@@ -996,9 +920,13 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-orgcd16f91" class="outline-2">
<h2 id="orgcd16f91"><code>weather</code> - Display Weather in terminal</h2>
<div class="outline-text-2" id="text-orgcd16f91">
<div id="outline-container-weather" class="outline-2">
<h2 id="weather"><code>weather</code> - Display Weather in terminal</h2>
<div class="outline-text-2" id="text-weather">
<p>
Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -n <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">*</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">address</span>=<span class="org-string">"wttr.in/"</span>
@@ -1024,9 +952,13 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-org17ef4d2" class="outline-2">
<h2 id="org17ef4d2"><code>readbib</code> - Open Bibliography File</h2>
<div class="outline-text-2" id="text-org17ef4d2">
<div id="outline-container-readbib" class="outline-2">
<h2 id="readbib"><code>readbib</code> - Open Bibliography File</h2>
<div class="outline-text-2" id="text-readbib">
<p>
List all <code>pdf</code> files and open selected one with zathura.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/pdfs/ &amp;&amp; <span class="org-type">ls</span> | rofi -dmenu -lines <span class="org-highlight-numbers-number">20</span> | xargs -I <span class="org-rainbow-delimiters-depth-1">{}</span> zathura <span class="org-rainbow-delimiters-depth-1">{}</span>
</pre>
@@ -1034,19 +966,9 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-orgda667bb" class="outline-2">
<h2 id="orgda667bb"><code>readnotes</code> - Open Note File</h2>
<div class="outline-text-2" id="text-orgda667bb">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/thesis/ressources/notes/pdfs/ &amp;&amp; <span class="org-type">ls</span> *.pdf | rofi -dmenu -lines <span class="org-highlight-numbers-number">20</span> | xargs -I <span class="org-rainbow-delimiters-depth-1">{}</span> zathura <span class="org-rainbow-delimiters-depth-1">{}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge45135c" class="outline-2">
<h2 id="orge45135c"><code>pdf2bib</code> - Extract bibtex entry from PDF file</h2>
<div class="outline-text-2" id="text-orge45135c">
<div id="outline-container-pdf2bib" class="outline-2">
<h2 id="pdf2bib"><code>pdf2bib</code> - Extract bibtex entry from PDF file</h2>
<div class="outline-text-2" id="text-pdf2bib">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf2doi</span> <span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
pdfinfo <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> | <span class="org-type">grep</span> -io <span class="org-string">"doi:.*"</span> | <span class="org-type">grep</span> -Poi <span class="org-string">"10.\d+/[^\s]+"</span> || <span class="org-sh-escaped-newline">\</span>
@@ -1080,11 +1002,12 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-org70ec456" class="outline-2">
<h2 id="org70ec456"><code>pdf2png</code> - Convert a PDF to PNG</h2>
<div class="outline-text-2" id="text-org70ec456">
<div id="outline-container-pdf2png" class="outline-2">
<h2 id="pdf2png"><code>pdf2png</code> - Convert a PDF to PNG</h2>
<div class="outline-text-2" id="text-pdf2png">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> == *.pdf <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Check if the input argumetn is a PDF file</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> == *.pdf <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
pdftoppm -png <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | cut -f 1 -d '.' | sed 's/$/.png/')</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
</pre>
@@ -1092,9 +1015,133 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
</div>
</div>
<div id="outline-container-org7601ca9" class="outline-2">
<h2 id="org7601ca9"><code>pdf-shrink</code> - Pdf Shrink</h2>
<div class="outline-text-2" id="text-org7601ca9">
<div id="outline-container-convert-file" class="outline-2">
<h2 id="convert-file"><code>convert-file</code> - Convert any file to another filetype</h2>
<div class="outline-text-2" id="text-convert-file">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Get filename</span>
<span class="org-variable-name">filename_with_extension</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">basename</span> -- <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Extract extension of the file</span>
<span class="org-variable-name">in_ext</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{filename_with_extension##*.}</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">filename without extension</span>
<span class="org-variable-name">filename_without_extension</span>=$<span class="org-rainbow-delimiters-depth-1">{</span><span class="org-variable-name">filename_with_extension</span>%.*<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert SVG Files</span>
<span class="org-function-name">svg2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf\npng"</span> | rofi -i -dmenu -p <span class="org-string">"Convert SVG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"png"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-string">"pdf"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">pdf2svg file.pdf file.svg</span>
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PDF Files</span>
<span class="org-function-name">pdf2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"svg\npng"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PDF to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Ask if crop?</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"png"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-string">"svg"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert DOCX/PPTX Files</span>
<span class="org-function-name">docx2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf"</span> | rofi -i -dmenu -p <span class="org-string">"Convert DOCX/PPTX to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"pdf"</span>)
lowriter --convert-to pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PNG Files</span>
<span class="org-function-name">png2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PNG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"pdf"</span>)
convert <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.pdf"</span>
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert MP4 Files</span>
<span class="org-function-name">mp42</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"gif"</span> | rofi -i -dmenu -p <span class="org-string">"Convert MP4 to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"gif"</span>)
make-gif <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.gif"</span>
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">in_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"svg"</span>)
svg2
;;
<span class="org-string">"pdf"</span>)
pdf2
;;
<span class="org-string">"mp4"</span>)
mp42
;;
<span class="org-string">"png"</span>)
png2
;;
<span class="org-string">"docx"</span>)
docx2
;;
<span class="org-string">"pttx"</span>)
docx2
;;
<span class="org-keyword">esac</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-pdf-shrink" class="outline-2">
<h2 id="pdf-shrink"><code>pdf-shrink</code> - Pdf Shrink</h2>
<div class="outline-text-2" id="text-pdf-shrink">
<p>
Simply reduces the size of a given pdf file.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">shrink</span> <span class="org-rainbow-delimiters-depth-1">()</span>
<span class="org-rainbow-delimiters-depth-1">{</span>
@@ -1153,7 +1200,7 @@ mopidy --config ~/.config/mopidy/mopidy.conf &gt;/dev/null <span class="org-high
<span class="org-variable-name">OFILE</span>=<span class="org-string">"-"</span>
<span class="org-keyword">fi</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Output resolution defaults to 72 unless given:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Output resolution defaults to 90 unless given:</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> <span class="org-negation-char">!</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">3</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">res</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">3</span></span><span class="org-string">"</span>
<span class="org-keyword">else</span>
@@ -1167,32 +1214,35 @@ check_smaller <span class="org-string">"</span><span class="org-string"><span cl
</div>
</div>
</div>
<div id="outline-container-org4041717" class="outline-2">
<h2 id="org4041717"><code>pdf-delete-annotations</code> - Delete Annotations from PDFs</h2>
<div class="outline-text-2" id="text-org4041717">
<div id="outline-container-pdf-delete-annotations" class="outline-2">
<h2 id="pdf-delete-annotations"><code>pdf-delete-annotations</code> - Delete Annotations from PDFs</h2>
<div class="outline-text-2" id="text-pdf-delete-annotations">
<p>
From: <a href="https://gist.github.com/stefanschmidt/5248592">https://gist.github.com/stefanschmidt/5248592</a>
Taken from this <a href="https://gist.github.com/stefanschmidt/5248592">gist</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash">pdftk $<span class="org-highlight-numbers-number">1</span> output /tmp/uncompressed.pdf uncompress
<span class="org-variable-name">LANG</span>=C sed -n <span class="org-string">'/^\/Annots/!p'</span> /tmp/uncompressed.pdf &gt; /tmp/stripped.pdf
pdftk /tmp/stripped.pdf output $<span class="org-highlight-numbers-number">1</span> compress
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Check if the input argumetn is a PDF file</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> == *.pdf <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
pdftk $<span class="org-highlight-numbers-number">1</span> output /tmp/uncompressed.pdf uncompress
<span class="org-variable-name">LANG</span>=C sed -n <span class="org-string">'/^\/Annots/!p'</span> /tmp/uncompressed.pdf &gt; /tmp/stripped.pdf
pdftk /tmp/stripped.pdf output $<span class="org-highlight-numbers-number">1</span> compress
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge18f381" class="outline-2">
<h2 id="orge18f381"><code>pdf-delete-first-page</code> - Delete first page of PDF</h2>
<div class="outline-text-2" id="text-orge18f381">
<div id="outline-container-pdf-delete-first-page" class="outline-2">
<h2 id="pdf-delete-first-page"><code>pdf-delete-first-page</code> - Delete first page of PDF</h2>
<div class="outline-text-2" id="text-pdf-delete-first-page">
<p>
The requirement is to have <code>pdftk</code> or <code>stapler</code> installed.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f $<span class="org-highlight-numbers-number">1</span> &amp;&amp; $<span class="org-highlight-numbers-number">1</span> == *.pdf <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Argument if a file</span>
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Check if the input argumetn is a PDF file</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f $<span class="org-highlight-numbers-number">1</span> &amp;&amp; $<span class="org-highlight-numbers-number">1</span> == *.pdf <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if </span><span class="org-builtin">type</span> stapler &gt; /dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span>; <span class="org-keyword">then</span>
stapler del <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-highlight-numbers-number">1</span> /tmp/pdftk_out.pdf &amp;&amp; <span class="org-type">mv</span> /tmp/pdftk_out.pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span>
<span class="org-keyword">elif </span><span class="org-builtin">type</span> pdftk &gt; /dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span>; <span class="org-keyword">then</span>
@@ -1206,11 +1256,13 @@ The requirement is to have <code>pdftk</code> or <code>stapler</code> installed.
</div>
</div>
<div id="outline-container-rofi-calc" class="outline-2">
<h2 id="rofi-calc"><code>rofi-calc</code> - Simple Calculation using Rofi</h2>
<div class="outline-text-2" id="text-rofi-calc">
<p>
Run some simple calculations with <code>rofi</code>.
</p>
<div id="outline-container-org7ae8164" class="outline-2">
<h2 id="org7ae8164"><code>rofi-calc</code> - Simple Calculation using Rofi</h2>
<div class="outline-text-2" id="text-org7ae8164">
<div class="org-src-container">
<pre class="src src-bash">rofi -show calc -mode calc -no-show-match -no-sort
</pre>
@@ -1218,11 +1270,14 @@ The requirement is to have <code>pdftk</code> or <code>stapler</code> installed.
</div>
</div>
<div id="outline-container-orge7a6e2d" class="outline-2">
<h2 id="orge7a6e2d"><code>pass-gen</code> - Generate Random Alphanumeric Password</h2>
<div class="outline-text-2" id="text-orge7a6e2d">
<div id="outline-container-pass-gen" class="outline-2">
<h2 id="pass-gen"><code>pass-gen</code> - Generate Random Alphanumeric Password</h2>
<div class="outline-text-2" id="text-pass-gen">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">num</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of caracters"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Ask for the wanted number of caracters</span>
<span class="org-variable-name">num</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of caracters"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Random generation of alphanumeric caracters</span>
<span class="org-variable-name">pass</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">cat</span> /dev/urandom | tr -dc <span class="org-string">'a-zA-Z0-9'</span> | fold -w <span class="org-highlight-numbers-number">32</span> | head -n <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-variable-name">re</span>=<span class="org-string">'^[0-9]+$'</span>
@@ -1230,16 +1285,30 @@ The requirement is to have <code>pdftk</code> or <code>stapler</code> installed.
<span class="org-variable-name">pass</span>=$<span class="org-rainbow-delimiters-depth-1">{</span><span class="org-variable-name">pass</span>:0:$<span class="org-variable-name">num</span><span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">fi</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Send the password to the clipboard</span>
<span class="org-builtin">printf</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">pass</span></span><span class="org-string">"</span> | xclip -sel clip &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">'Password'</span> <span class="org-string">'Generated'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-sxhkd-help" class="outline-2">
<h2 id="sxhkd-help"><code>sxhkd-help</code> - List of keybindings using Rofi</h2>
<div class="outline-text-2" id="text-sxhkd-help">
<div class="org-src-container">
<pre class="src src-bash">awk <span class="org-string">'/^[a-z]/ &amp;&amp; last {print "&lt;small&gt;",$0,"\t",last,"&lt;/small&gt;"} {last=""} /^#/{last=$0}'</span> ~/.config/sxhkd/sxhkdrc<span class="org-rainbow-delimiters-depth-1">{</span>,.i3<span class="org-rainbow-delimiters-depth-1">}</span> |
column -t -s $<span class="org-string">'\t'</span> |
rofi -dmenu -i -markup-rows -no-show-icons -width <span class="org-highlight-numbers-number">1000</span> -lines <span class="org-highlight-numbers-number">15</span> -yoffset <span class="org-highlight-numbers-number">40</span>
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-11-03 mar. 16:26</p>
<p class="date">Created: 2021-01-01 ven. 20:09</p>
</div>
</body>
</html>