melimosa

joined 1 week ago
[–] melimosa@piefed.blahaj.zone 1 points 2 days ago

( command | sloooower 0.000277 is pretty much a 3600 bauds output)

[–] melimosa@piefed.blahaj.zone 2 points 2 days ago (1 children)

That's very good.

Generalization and line feed customisation :

function sloooower() {
	BASE_INTERVAL=${1:-0.05}
	RET_ADD_INTERVAL=${2:-0.1}
	CHAR_ADD_INTERVAL=${3:-0}
	while IFS= read -r -n1 char; do
		if [[ -z "$char" ]]; then
			sleep "${RET_ADD_INTERVAL}"
			printf "\n"
		else
			sleep "${CHAR_ADD_INTERVAL}"
			printf "%s" "$char"
		fi
		sleep "${BASE_INTERVAL}"
	done
}
alias sl='ls | sloooower'
[–] melimosa@piefed.blahaj.zone 1 points 2 days ago* (last edited 2 days ago)

I try to organise my data in the cleanest way possible, with the less double possible etc... I end up using a lot of symbolic links. When doing maintenance, sometimes I want to navigate in the "unlogical" way the data are organized, but the PWD variable is not necessarily very cooperative. This alias is really useful in my case :

alias realwd='cd -P .'  

Here is an example :

$ echo $PWD  
/home/me  
$ cd Videos/Torrents/  
$ echo $PWD  
/home/me/Videos/Torrents  
$ realwd  
$ echo $PWD  
/home/me/data/Torrents/Video  

I also do some X application, compositor and WM development, and I have a few aliases to simplify tasks like copying from an Xorg session to an Xnest (and the other way around), or reload the xrandr command from my .xinitrc without duplicating it.

alias screenconf='$(grep -o "xrandr[^&]*" ~/.xinitrc)'  
alias clip2xnext='xclip -selection clip -o -display :0 | xclip -selection clip -i -display :1'  
alias clip2xorg='xclip -selection clip -o -display :1 | xclip -selection clip -i -display :0'  

I have an alias for using MPV+yt-dlp with my firefox cookies :

alias yt="mpv --ytdl-raw-options='cookies-from-browser=firefox'"  

I can't stand too long lines of text on my monitor, particularly when reading manpages, so I set the MANWIDTH env variable.

# Note : if you know that *sometimes* your terminal will be smaller than 80 characters  
# refer to that https://wiki.archlinux.org/title/Man_page  
export MANWIDTH=80  

I use null-pointers a lot, with a shorthand.

# Note: env.sh actually provide other helpful aliases on their homepage  
function envs.sh() {  
	if [ $# != 1 ]; then  
		1>&2 printf "Error, need one argument.\n"  
		return 1  
	fi  
	curl -F'file=@'"$1" https://envs.sh/  
}  

The usual fake editor in my path, so that browsers and other applications open Vim the correct way.

#!/bin/sh  
# st_vim.sh - executable in my ~/.local/bin  
# for example in firefox's about:config :  
#   - view_source.editor.path : set to the value of $(which st_vim.sh)  
#   - view_source.editor.external : set to true  

st -- $EDITOR "$*"  

My .xinitrc is quite classical, I still have this in it (setup for dwm's title bar, people usually install much complicated programs) :

while true; do xsetroot -name "$(date +"%d %H:%M")"; sleep 60; done &  

I also have a lot of stupid scripts for server and desktop maintenance, disks cleaning etc... those are handy but are also very site-specific, let me know if your interested.