Final commit, ready for tagging

This commit is contained in:
Matthieu Fortin (CPC/CCP) 2024-11-21 15:20:16 -05:00
parent f6fe2d9c2d
commit 596a773dd2
11 changed files with 176 additions and 8 deletions

View file

@ -322,9 +322,9 @@ up() {
cd () cd ()
{ {
if [ -n "$1" ]; then if [ -n "$1" ]; then
builtin cd "$@" && ls builtin cd "$@" && la
else else
builtin cd ~ && ls builtin cd ~ && la
fi fi
} }

View file

@ -22,7 +22,7 @@ tab_pos_msgwin=0
tab_label_length=1000 tab_label_length=1000
show_indent_guide=false show_indent_guide=false
show_white_space=false show_white_space=false
show_line_endings=false show_line_endings=true
show_line_endings_only_when_differ=false show_line_endings_only_when_differ=false
show_markers_margin=true show_markers_margin=true
show_linenumber_margin=true show_linenumber_margin=true

View file

@ -1,14 +1,15 @@
[files] [files]
recent_files= recent_files=/home/matt/TCLI-Data-Repo/CMPFOR/Course-Documentation/CDD_COMFOR_Final_2016.txt;
recent_projects= recent_projects=
current_page=0 current_page=0
FILE_NAME_0=16572;None;0;EUTF-8;1;1;0;%2Fhome%2Fmatt%2FTCLI-Data-Repo%2FCMPFOR%2FCourse-Documentation%2FCDD_COMFOR_Final_2016.txt;0;4
[project] [project]
session_file= session_file=
project_file_path=/home/matt/Projects project_file_path=/home/matt/Projects
[geany] [geany]
treeview_position=241 treeview_position=0
msgwindow_position=794 msgwindow_position=794
geometry=0;0;1906;1026;1; geometry=0;0;1906;1026;1;
sidebar_page=0 sidebar_page=0

View file

@ -17,6 +17,7 @@ monitor=,preferred,auto,1
# Set programs that you use # Set programs that you use
$terminal = kitty $terminal = kitty
$fileManager = dolphin $fileManager = dolphin
$emoji = rofi -mode emoji -show emoji -kb-secondary-copy '' -kb-custom-1 Ctrl+c
$menu = ~/.config/rofi/launcher.sh $menu = ~/.config/rofi/launcher.sh
#$menu = ~/.config/rofi/launchers/type-2/launcher.sh #$menu = ~/.config/rofi/launchers/type-2/launcher.sh
#$menu = wofi --show drun #$menu = wofi --show drun
@ -228,6 +229,7 @@ bind = $mainMod, O, layoutmsg, swapwithmaster
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, J, togglesplit, # dwindle
bindd = $mainMod, period, Emoji selector, exec, $emoji
bindd = $mainMod, I, Switch between master/dwingle, exec, $HOME/.config/hypr/switchlayout.sh bindd = $mainMod, I, Switch between master/dwingle, exec, $HOME/.config/hypr/switchlayout.sh
bindd = $mainMod, S, Launch menu to modify/create script, exec, autoscriptmenu bindd = $mainMod, S, Launch menu to modify/create script, exec, autoscriptmenu

View file

@ -15,7 +15,7 @@ set -euo pipefail
EOM EOM
chmod +x $SCRIPT_FILE chmod +x "$SCRIPT_FILE"
fi fi
$EDITOR $SCRIPT_FILE $EDITOR "$SCRIPT_FILE"

View file

@ -2,5 +2,5 @@
set -euo pipefail set -euo pipefail
#selected=$(ls "$HOME/.local/bin" | tofi --prompt-text "Select script") #selected=$(ls "$HOME/.local/bin" | tofi --prompt-text "Select script")
selected=$(find "$HOME/.local/bin" -maxdepth 1 -type f -exec basename {} \; | sort | wofi --dmenu --sort-order=alphabetical -p "Select Script: ") selected=$(find -L "$HOME/.local/bin" -maxdepth 1 -type f -exec basename {} \; | sort | rofi -dmenu "Select Script: ")
autoscript "$selected" autoscript "$selected"

View file

@ -1,6 +1,12 @@
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail
if [ $# -eq 0 ]; then
echo "Error: No arguments provided."
echo "Usage: getpid <name_of_process>"
exit 1
fi
srch="$1" srch="$1"
ps -ef | awk -v this="$0" -v search="$srch" '{ ps -ef | awk -v this="$0" -v search="$srch" '{

3
scripts/.local/bin/menu' Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
set -euo pipefail

11
scripts/.local/bin/rmscript Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
set -euo pipefail
# Check if at least one argument is provided
if [ $# -eq 0 ] || [ ! -e "$HOME/.local/bin/$1" ]; then
echo "Error: No script file provided or script does not exist."
echo "Usage: rmscript <SCRIPT_FILE>"
exit 1 # Exit with a non-zero status indicating an error
fi
rm -f "$HOME/.local/bin/$1" && echo "$1 erased."

View file

@ -0,0 +1,8 @@
#!/bin/bash
set -euo pipefail
selected=$(find -L "$HOME/.local/bin" -type f -exec basename {} \; | sort | rofi -dmenu -p "Select Script to delete: ")
[[ -z "$selected" ]] && exit
rmscript "$selected"

137
scripts/.local/bin/rofi-emoji Executable file
View file

@ -0,0 +1,137 @@
#!/usr/bin/env bash
set -euo pipefail
# Source: https://gist.github.com/Tadly/0741821d3694deaec1ee454a95c591fa
#
# Use rofi to pick emoji because that's what this
# century is about apparently...
#
# Requirements:
# rofi, xsel, xdotool, curl, xmllint
#
# Usage:
# 1. Download all emoji
# $ rofi-emoji --download
#
# 2. Run it!
# $ rofi-emoji
#
# Notes:
# * You'll need a emoji font like "Noto Emoji" or "EmojiOne".
# * Confirming an item will automatically paste it WITHOUT
# writing it to your clipboard.
# * Ctrl+C will copy it to your clipboard WITHOUT pasting it.
#
# Where to save the emojis file.
EMOJI_FILE="$HOME/.cache/emojis.txt"
# Urls of emoji to download.
# You can remove what you don't need.
URLS=(
'https://emojipedia.org/people/'
'https://emojipedia.org/nature/'
'https://emojipedia.org/food-drink/'
'https://emojipedia.org/activity/'
'https://emojipedia.org/travel-places/'
'https://emojipedia.org/objects/'
'https://emojipedia.org/symbols/'
'https://emojipedia.org/flags/'
)
function notify() {
if [ "$(command -v notify-send)" ]; then
notify-send "$1" "$2"
fi
}
function download() {
notify "$(basename "$0")" 'Downloading all emoji for your pleasure'
echo "" > "$EMOJI_FILE"
for url in "${URLS[@]}"; do
echo "Downloading: $url"
# Download the list of emoji and remove all the junk around it
emojis=$(curl -s "$url" | \
xmllint --html \
--xpath '//ul[@class="emoji-list"]' - 2>/dev/null)
# Get rid of starting/closing ul tags
emojis=$(echo "$emojis" | head -n -1 | tail -n +1)
# Extract the emoji and its description
emojis=$(echo "$emojis" | \
sed -rn 's/.*<span class="emoji">(.*)<\/span> (.*)<\/a><\/li>/\1 \2/p')
echo "$emojis" >> "$EMOJI_FILE"
done
notify "$(basename "$0")" "We're all set!"
}
function rofi_menu() { # {{{
rofi -width 25 -lines 7 -dmenu -i -p 'emoji: ' \
-kb-row-tab '' \
-kb-row-select Tab \
-kb-custom-1 Ctrl+c
}
# }}}
function repeat() { # {{{
local rplc str="$1" count="$2"
rplc="$(printf "%${count}s")"
echo "${rplc// /"$str"}"
}
# }}}
function toclipboard() { # {{{
xclip -i -selection primary
xclip -o -selection primary | xclip -i -selection clipboard
}
# }}}
function display() {
local emoji line exit_code quantifier
emoji=$(cat "$EMOJI_FILE" | grep -v '#' | grep -v '^[[:space:]]*$')
line="$(echo "$emoji" | rofi_menu)"
exit_code=$?
line=($line)
last=${line[${#line[@]}-1]}
quantifier="${last:${#last}-1:1}"
if [[ ! "$quantifier" =~ [0-9] ]]; then
quantifier=1
fi
emoijs="$(repeat "${line[0]}" "$quantifier")"
if [ $exit_code == 0 ]; then
xdotool type --clearmodifiers "$emoijs"
echo -n "$emoijs" | toclipboard
elif [ $exit_code == 10 ]; then
echo -n "$emoijs" | toclipboard
fi
}
# Some simple argparsing
if [[ "$1" =~ -D|--download ]]; then
download
exit 0
elif [[ "$1" =~ -h|--help ]]; then
echo "usage: $0 [-D|--download]"
exit 0
fi
# Download all emoji if they don't exist yet
if [ ! -f "$EMOJI_FILE" ]; then
download
fi
# display displays :)
display