Update HTML

This commit is contained in:
2021-10-25 14:37:10 +02:00
parent 9f37a18198
commit 705815c64b
29 changed files with 6793 additions and 2163 deletions

View File

@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Binaries</title>
<meta name="author" content="Dehaeze Thomas" />
@@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Binaries</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<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>
@@ -37,14 +37,80 @@
<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="#linkhandler"><code>linkhandler</code> - Open any URL with Default application</a></li>
<li><a href="#filehandler"><code>open</code> - Open any file using <code>rifle</code></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="#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="#convert-file"><code>convert-file</code> - Convert any file to another filetype</a>
<ul>
<li><a href="#org1b30080">Get basic information about the file</a></li>
<li><a href="#org3c942d6">SVG files</a>
<ul>
<li><a href="#org97e362d">SVG to PNG</a></li>
<li><a href="#org0e85a36">SVG to PDF</a></li>
<li><a href="#org1ba34d0">Main function</a></li>
</ul>
</li>
<li><a href="#org05c1a0f">PDF files</a>
<ul>
<li><a href="#org83ee81e">PDF to PNG</a></li>
<li><a href="#orga23708b">PDF to SVG</a></li>
<li><a href="#org1d12e53">PDF Reduce Size</a></li>
<li><a href="#org8772f18">PDF Trim</a></li>
<li><a href="#org38ca491">PDF Extract Pages</a></li>
<li><a href="#org3008b15">Delete First Page</a></li>
<li><a href="#org196a94f">Remove Annotations</a></li>
<li><a href="#orgd159cb6">Main function</a></li>
</ul>
</li>
<li><a href="#orgcbd05fa">DVI files</a>
<ul>
<li><a href="#org85096d3">DVI to PNG</a></li>
<li><a href="#org51dfa18">DVI to SVG</a></li>
<li><a href="#orgc8c76c3">Main function</a></li>
</ul>
</li>
<li><a href="#orgb6c8280">DOCX/PTTX files</a>
<ul>
<li><a href="#org53914ee">DOC to PDF</a></li>
<li><a href="#org36bb433">Main function</a></li>
</ul>
</li>
<li><a href="#orgcadf8bf">GIF files</a>
<ul>
<li><a href="#orge9139bf">GIF to PNG</a></li>
<li><a href="#orgcc9508e">Main function</a></li>
</ul>
</li>
<li><a href="#org1d9c757">PNG files</a>
<ul>
<li><a href="#org7468a4f">PNG to PDF</a></li>
<li><a href="#orge629172">PNG to JPG</a></li>
<li><a href="#org6358e53">PNG Trim</a></li>
<li><a href="#org91c91b7">PNG Resize</a></li>
<li><a href="#orgd118f81">Main function</a></li>
</ul>
</li>
<li><a href="#org70bdad9">JPG files</a>
<ul>
<li><a href="#org2a197f4">JPG to PDF</a></li>
<li><a href="#org18f6058">JPG Resize</a></li>
<li><a href="#orge16bd85">Main function</a></li>
</ul>
</li>
<li><a href="#org7da8026">MP4 files</a>
<ul>
<li><a href="#org4c00ce2">MP4 to GIF</a></li>
<li><a href="#orgac4e160">Main function</a></li>
</ul>
</li>
<li><a href="#org91dd1cd">Case statement</a></li>
</ul>
</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>
@@ -466,7 +532,7 @@ Script taken from <a href="https://github.com/carnager/buku_run">here</a> that a
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-variable-name">val</span> -eq <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</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">elif</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-variable-name">val</span> -eq <span class="org-highlight-numbers-number">0</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</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">{inserttags}</span></span><span class="org-string">"</span> | wc -l<span class="org-rainbow-delimiters-depth-1">)</span> -gt <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-rainbow-delimiters-depth-4">(</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">{inserttags}</span></span><span class="org-string">"</span> | wc -l<span class="org-rainbow-delimiters-depth-4">)</span> -gt <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">taglist</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">{inserttags}</span></span><span class="org-string">"</span> | tr <span class="org-string">'\n'</span> <span class="org-string">','</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">tags</span>=<span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-keyword">for</span> tag<span class="org-keyword"> in</span> $<span class="org-variable-name">taglist</span>; <span class="org-keyword">do</span>
@@ -831,33 +897,50 @@ xsel -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <spa
</div>
<div id="outline-container-linkhandler" class="outline-2">
<h2 id="linkhandler"><code>linkhandler</code> - Open with Default application</h2>
<h2 id="linkhandler"><code>linkhandler</code> - Open any URL with Default application</h2>
<div class="outline-text-2" id="text-linkhandler">
<p>
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.
This is used to open any <b>url</b> with the wanted program.
</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*)
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; ;;
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*gif)
setsid mpv -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)
<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/.*\///;s/%20/ /g")</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/.*\///;s/%20/ /g")</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; ;;
*pdf|*cbz|*cbr)
<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/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &amp;&amp; zathura <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/.*\///;s/%20/ /g")</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; ;;
*svg)
<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/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &amp;&amp; inkview <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/.*\///;s/%20/ /g")</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 <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> ;;
<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; setsid -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">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><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> || setsid -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">BROWSER</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">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>
<span class="org-keyword">esac</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-filehandler" class="outline-2">
<h2 id="filehandler"><code>open</code> - Open any file using <code>rifle</code></h2>
<div class="outline-text-2" id="text-filehandler">
<p>
Simple alternative to <code>xdg-open</code>, uses the <code>rifle</code> program included with <code>ranger</code>.
The default applications are listed <a href="ranger.html#rifle">here</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash">rifle -p $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rifle</span> -l <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> | rofi -dmenu -i | sed -n -e <span class="org-string">'s/\([0-9]*\):.*/\1/p'</span><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">1</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</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">
@@ -1023,6 +1106,11 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
<div id="outline-container-org1b30080" class="outline-3">
<h3 id="org1b30080">Get basic information about the file</h3>
<div class="outline-text-3" id="text-org1b30080">
<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>
@@ -1030,8 +1118,55 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert SVG Files</span>
<div id="outline-container-org3c942d6" class="outline-3">
<h3 id="org3c942d6">SVG files</h3>
<div class="outline-text-3" id="text-org3c942d6">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>inkscape</code></li>
</ul>
</div>
<div id="outline-container-org97e362d" class="outline-4">
<h4 id="org97e362d">SVG to PNG</h4>
<div class="outline-text-4" id="text-org97e362d">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">svg2png_function</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-keyword">if </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</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-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org0e85a36" class="outline-4">
<h4 id="org0e85a36">SVG to PDF</h4>
<div class="outline-text-4" id="text-org0e85a36">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">svg2pdf_function</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-keyword">if </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1ba34d0" class="outline-4">
<h4 id="org1ba34d0">Main function</h4>
<div class="outline-text-4" id="text-org1ba34d0">
<div class="org-src-container">
<pre class="src src-bash"><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>
@@ -1041,37 +1176,306 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
svg2png_function
;;
<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>
svg2pdf_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PDF Files</span>
<div id="outline-container-org05c1a0f" class="outline-3">
<h3 id="org05c1a0f">PDF files</h3>
<div class="outline-text-3" id="text-org05c1a0f">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>pdftocairo</code></li>
<li><code>pdftoppm</code></li>
<li><code>convert</code></li>
<li><code>inkscape</code></li>
<li><code>gs</code></li>
<li><code>pdfcrop</code></li>
<li><code>pdftk</code></li>
</ul>
</div>
<div id="outline-container-org83ee81e" class="outline-4">
<h4 id="org83ee81e">PDF to PNG</h4>
<div class="outline-text-4" id="text-org83ee81e">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf2png_function</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-keyword">if </span><span class="org-builtin">command</span> -v pdftocairo &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftocairo -png -singlefile -cropbox <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">"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdftoppm &amp;&gt; /dev/null; <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">filename_with_extension</span></span><span class="org-string">"</span> &gt; <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">.png"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -density <span class="org-highlight-numbers-number">100</span> -trim -antialias <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> -quality <span class="org-highlight-numbers-number">100</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">.png"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</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-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orga23708b" class="outline-4">
<h4 id="orga23708b">PDF to SVG</h4>
<div class="outline-text-4" id="text-orga23708b">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf2svg_function</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-keyword">if </span><span class="org-builtin">command</span> -v pdftocairo &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftocairo -svg <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">.svg"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdf2svg &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdf2svg <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">.svg"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1d12e53" class="outline-4">
<h4 id="org1d12e53">PDF Reduce Size</h4>
<div class="outline-text-4" id="text-org1d12e53">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdfreduce_function</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-keyword">if </span><span class="org-builtin">command</span> -v gs &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Maybe ask for new filename?</span>
gs -sDEVICE=pdfwrite -dCompatibilityLevel=<span class="org-highlight-numbers-number">1.4</span> -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<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">.red.pdf"</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org8772f18" class="outline-4">
<h4 id="org8772f18">PDF Trim</h4>
<div class="outline-text-4" id="text-org8772f18">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdftrim_function</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-keyword">if </span><span class="org-builtin">command</span> -v pdfcrop &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdfcrop <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_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org38ca491" class="outline-4">
<h4 id="org38ca491">PDF Extract Pages</h4>
<div class="outline-text-4" id="text-org38ca491">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdfextract_function</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-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">pages</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"get first\ndelete first\nextract i-j"</span> | rofi -i -dmenu -p <span class="org-string">"Extract pages"</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">pages</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">pages</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"get first"</span>)
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <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-type">cat</span> 1-1 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">filename_without_extension</span></span><span class="org-string">.first.pdf"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-string">"delete first"</span>)
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <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-type">cat</span> 2-end 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">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-string">"extract i-j"</span>)
<span class="org-comment-delimiter"># </span><span class="org-comment"><span class="org-bold"><span class="org-warning">TODO</span></span></span>
<span class="org-variable-name">page_i</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"From"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">page_j</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"To"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <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-type">cat</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">page_i</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">page_j</span></span><span class="org-string">"</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">filename_with_extension</span></span><span class="org-string">.slice.pdf"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-keyword">esac</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org3008b15" class="outline-4">
<h4 id="org3008b15">Delete First Page</h4>
<div class="outline-text-4" id="text-org3008b15">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf_delete_first_page_function</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-keyword">if </span><span class="org-builtin">command</span> -v stapler &amp;&gt; /dev/null; <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">filename_with_extension</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">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <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-type">cat</span> 2-end output /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">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org196a94f" class="outline-4">
<h4 id="org196a94f">Remove Annotations</h4>
<div class="outline-text-4" id="text-org196a94f">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf_remove_annotations_function</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-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <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> 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-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> compress
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd159cb6" class="outline-4">
<h4 id="orgd159cb6">Main function</h4>
<div class="outline-text-4" id="text-orgd159cb6">
<div class="org-src-container">
<pre class="src src-bash"><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\nreduce"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PDF to"</span><span class="org-rainbow-delimiters-depth-2">)</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\nreduce size\ntrim\nextract pages\ndelete first page\nremove annotations"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PDF 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">"reduce"</span>)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=<span class="org-highlight-numbers-number">1.4</span> -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<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">.red.pdf"</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-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>
pdf2svg_function
;;
<span class="org-string">"png"</span>)
pdf2png_function
;;
<span class="org-string">"reduce size"</span>)
pdfreduce_function
;;
<span class="org-string">"trim"</span>)
pdftrim_function
;;
<span class="org-string">"extract pages"</span>)
pdfextract_function
;;
<span class="org-string">"delete first page"</span>)
pdf_delete_first_page_function
;;
<span class="org-string">"remove annotations"</span>)
pdf_remove_annotations_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert DOCX/PPTX Files</span>
<div id="outline-container-orgcbd05fa" class="outline-3">
<h3 id="orgcbd05fa">DVI files</h3>
<div class="outline-text-3" id="text-orgcbd05fa">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>dvisvgm</code></li>
<li><code>dvipng</code></li>
</ul>
</div>
<div id="outline-container-org85096d3" class="outline-4">
<h4 id="org85096d3">DVI to PNG</h4>
<div class="outline-text-4" id="text-org85096d3">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">dvi2png_function</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-keyword">if </span><span class="org-builtin">command</span> -v dvipng &amp;&gt; /dev/null; <span class="org-keyword">then</span>
dvipng <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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org51dfa18" class="outline-4">
<h4 id="org51dfa18">DVI to SVG</h4>
<div class="outline-text-4" id="text-org51dfa18">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">dvi2svg_function</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-keyword">if </span><span class="org-builtin">command</span> -v dvisvgm &amp;&gt; /dev/null; <span class="org-keyword">then</span>
dvisvgm <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> -o <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">.svg"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgc8c76c3" class="outline-4">
<h4 id="orgc8c76c3">Main function</h4>
<div class="outline-text-4" id="text-orgc8c76c3">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert DVI Files</span>
<span class="org-function-name">dvi2</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 DVI 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">"svg"</span>)
dvi2svg_function
;;
<span class="org-string">"png"</span>)
dvi2png_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgb6c8280" class="outline-3">
<h3 id="orgb6c8280">DOCX/PTTX files</h3>
<div class="outline-text-3" id="text-orgb6c8280">
</div>
<div id="outline-container-org53914ee" class="outline-4">
<h4 id="org53914ee">DOC to PDF</h4>
<div class="outline-text-4" id="text-org53914ee">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">doc2pdf_function</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-keyword">if </span><span class="org-builtin">command</span> -v lowriter &amp;&gt; /dev/null; <span class="org-keyword">then</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org36bb433" class="outline-4">
<h4 id="org36bb433">Main function</h4>
<div class="outline-text-4" id="text-org36bb433">
<div class="org-src-container">
<pre class="src src-bash"><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>
@@ -1081,12 +1485,39 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
doc2pdf_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert GIF Files</span>
<div id="outline-container-orgcadf8bf" class="outline-3">
<h3 id="orgcadf8bf">GIF files</h3>
<div class="outline-text-3" id="text-orgcadf8bf">
</div>
<div id="outline-container-orge9139bf" class="outline-4">
<h4 id="orge9139bf">GIF to PNG</h4>
<div class="outline-text-4" id="text-orge9139bf">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">gif2png_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -coalesce <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">.png"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgcc9508e" class="outline-4">
<h4 id="orgcc9508e">Main function</h4>
<div class="outline-text-4" id="text-orgcc9508e">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert GIF Files</span>
<span class="org-function-name">gif2</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">"png"</span> | rofi -i -dmenu -p <span class="org-string">"Convert GIF to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
@@ -1096,14 +1527,90 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>)
convert -coalesce <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">.png"</span>
gif2png_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PNG Files</span>
<div id="outline-container-org1d9c757" class="outline-3">
<h3 id="org1d9c757">PNG files</h3>
<div class="outline-text-3" id="text-org1d9c757">
</div>
<div id="outline-container-org7468a4f" class="outline-4">
<h4 id="org7468a4f">PNG to PDF</h4>
<div class="outline-text-4" id="text-org7468a4f">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">png2pdf_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge629172" class="outline-4">
<h4 id="orge629172">PNG to JPG</h4>
<div class="outline-text-4" id="text-orge629172">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">png2jpg_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</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">.jpg"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6358e53" class="outline-4">
<h4 id="org6358e53">PNG Trim</h4>
<div class="outline-text-4" id="text-org6358e53">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pngtrim_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -trim <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_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org91c91b7" class="outline-4">
<h4 id="org91c91b7">PNG Resize</h4>
<div class="outline-text-4" id="text-org91c91b7">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pngresize_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">size_type</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"width\nheight"</span> | rofi -i -dmenu -p <span class="org-string">"Maximum:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">size_px</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of px:"</span><span class="org-rainbow-delimiters-depth-2">)</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">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"width"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</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">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_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif</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">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"height"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize 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">size_px</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-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">fi</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd118f81" class="outline-4">
<h4 id="orgd118f81">Main function</h4>
<div class="outline-text-4" id="text-orgd118f81">
<div class="org-src-container">
<pre class="src src-bash"><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\ntrim"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PNG to"</span><span class="org-rainbow-delimiters-depth-2">)</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\njpg\ntrim\nresize"</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>;
@@ -1111,15 +1618,126 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
png2pdf_function
;;
<span class="org-string">"jpg"</span>)
png2jpg_function
;;
<span class="org-string">"trim"</span>)
convert -trim <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_with_extension</span></span><span class="org-string">"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Maybe should ask new filename</span>
pngtrim_function
;;
<span class="org-string">"resize"</span>)
pngresize_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert MP4 Files</span>
<div id="outline-container-org70bdad9" class="outline-3">
<h3 id="org70bdad9">JPG files</h3>
<div class="outline-text-3" id="text-org70bdad9">
</div>
<div id="outline-container-org2a197f4" class="outline-4">
<h4 id="org2a197f4">JPG to PDF</h4>
<div class="outline-text-4" id="text-org2a197f4">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">jpg2pdf_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org18f6058" class="outline-4">
<h4 id="org18f6058">JPG Resize</h4>
<div class="outline-text-4" id="text-org18f6058">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">jpgresize_function</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-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">size_type</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"width\nheight"</span> | rofi -i -dmenu -p <span class="org-string">"Maximum:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">size_px</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of px:"</span><span class="org-rainbow-delimiters-depth-2">)</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">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"width"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</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">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_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif</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">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"height"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize 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">size_px</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-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">fi</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge16bd85" class="outline-4">
<h4 id="orge16bd85">Main function</h4>
<div class="outline-text-4" id="text-orge16bd85">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert JPG Files</span>
<span class="org-function-name">jpg2</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\nresize"</span> | rofi -i -dmenu -p <span class="org-string">"Convert JPG 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>)
jpg2pdf_function
;;
<span class="org-string">"resize"</span>)
jpgresize_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org7da8026" class="outline-3">
<h3 id="org7da8026">MP4 files</h3>
<div class="outline-text-3" id="text-org7da8026">
</div>
<div id="outline-container-org4c00ce2" class="outline-4">
<h4 id="org4c00ce2">MP4 to GIF</h4>
<div class="outline-text-4" id="text-org4c00ce2">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">mp42gif_function</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-keyword">if </span><span class="org-builtin">command</span> -v ffmpeg &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">palette</span>=<span class="org-string">"/tmp/palette.png"</span>
<span class="org-variable-name">width</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"auto"</span> | rofi -i -dmenu -p <span class="org-string">"GIF width"</span><span class="org-rainbow-delimiters-depth-2">)</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">width</span></span><span class="org-string">"</span> = <span class="org-string">"auto"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">filters</span>=<span class="org-string">"fps=15"</span>
<span class="org-keyword">else</span>
<span class="org-variable-name">filters</span>=<span class="org-string">"fps=15,scale=</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">:-1:flags=lanczos"</span>
<span class="org-keyword">fi</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Generate optimal pallette of colors</span>
ffmpeg -v warning -i <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> -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>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert</span>
ffmpeg -v warning -i <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> -i $<span class="org-variable-name">palette</span> -lavfi <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"> [x]; [x][1:v] paletteuse"</span> -y <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">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgac4e160" class="outline-4">
<h4 id="orgac4e160">Main function</h4>
<div class="outline-text-4" id="text-orgac4e160">
<div class="org-src-container">
<pre class="src src-bash"><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>
@@ -1129,18 +1747,30 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<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>
mp42gif_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<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>
<div id="outline-container-org91dd1cd" class="outline-3">
<h3 id="org91dd1cd">Case statement</h3>
<div class="outline-text-3" id="text-org91dd1cd">
<div class="org-src-container">
<pre class="src src-bash"><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">"gif"</span>)
gif2
;;
<span class="org-string">"dvi"</span>)
dvi2
;;
<span class="org-string">"pdf"</span>)
pdf2
;;
@@ -1150,6 +1780,12 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-string">"png"</span>)
png2
;;
<span class="org-string">"jpg"</span>)
jpg2
;;
<span class="org-string">"jpeg"</span>)
jpg2
;;
<span class="org-string">"docx"</span>)
docx2
;;
@@ -1161,6 +1797,7 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
</div>
</div>
</div>
</div>
<div id="outline-container-pdf-shrink" class="outline-2">
<h2 id="pdf-shrink"><code>pdf-shrink</code> - Pdf Shrink</h2>
@@ -1335,7 +1972,7 @@ Run some simple calculations with <code>rofi</code>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>