From aae380ee382f19885fb806c8e77bf601cf883404 Mon Sep 17 00:00:00 2001 From: lime-desu <114978689+lime-desu@users.noreply.github.com> Date: Mon, 10 Oct 2022 04:35:15 +0000 Subject: [PATCH] Updated Examples (markdown) --- Examples.md | 52 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/Examples.md b/Examples.md index 94366a8..db13ef9 100644 --- a/Examples.md +++ b/Examples.md @@ -1283,26 +1283,44 @@ uninstall() { ``` ### DNF -```sh -# Fuzzy search the available DNF packages and install the selected package/s. -dnfzf-install() { - dnf repoquery -Cq --queryformat '%{name}' | - fzf --multi \ - --with-nth=1 \ - --preview-window 'right,65%,wrap' \ - --preview 'dnf -C --quiet info {1}' | xargs -ro sudo dnf install -} -``` +Interactively Install, Remove and Search DNF packages via fzf ```sh -# List all the packages then remove or uninstall the selected package/s. -dnfzf-remove() { - rpm -qa --qf '%{NAME}\n' | - fzf --multi \ - --preview-window 'right,65%,wrap' \ - --preview 'rpm -qa --info {1}' | xargs -ro sudo dnf remove -} + +#!/bin/bash + +## [0m...4m] == [Normal, Bold, Dim, Italic, Underlined] +declare -r esc=$'\033' +declare -r reset="${esc}[0m" +declare -r red="${esc}[1m${esc}[31m" +# for query and preview color consistency change the 34->36 from blue to "glaucous" (color name) +declare -r blue="${esc}[1m${esc}[34m" + +DNF_INS_QRY="dnf -Cq repoquery --qf '${blue}%{name}'" +DNF_RMV_QRY="dnf -Cq repoquery --qf '${red}%{name}'" +DNF_RMV_PRVW="dnf --color=always -Cq --installed info {+}" +DNF_INS_PRVW="dnf --color=always -Cq info" + +# Delete tmp file used to determine install/remove mode +rm -f /tmp/.dnfzf_rm &> /dev/null + +FZF_DEFAULT_COMMAND="$DNF_INS_QRY" \ + fzf --ansi \ + --query=$* \ + --multi \ + --preview-window="right,65%,wrap" \ + --preview="$DNF_INS_PRVW {1}" \ + --prompt=" Install packages > " \ + --header=" Remove | Install" \ + --bind="enter:execute(if [ -f /tmp/.dnfzf_rm ]; then sudo dnf remove {+}; else sudo dnf install {+}; fi; read -n 1 -s -r -p 'Press any key to continue...' && echo)" \ + --bind="alt-r:unbind(alt-r)+reload($DNF_RMV_QRY --installed)+change-prompt( Remove packages > )+execute-silent(touch /tmp/.dnfzf_rm)+rebind(alt-i)+change-preview:($DNF_RMV_PRVW {+})" \ + --bind="alt-i:unbind(alt-i)+reload($DNF_INS_QRY)+change-prompt( Install packages > )+execute-silent(rm -f /tmp/.dnfzf_rm)+rebind(alt-r)+change-preview:($DNF_INS_PRVW {+})" + ``` +#### Usage: +Alt+i to switch on Install mode + +Alt+u to switch on Remove mode ### v