Re: firefox et lien mailto

Auteur: Julien Steinhauser <j+obsd4a_at_ldd.fr>
Date: Thu, 21 May 2020 00:51:12 +0200
Frédéric GALUSIK <openbsd_at_galusik.fr> :

> Intéressant. As tu une marche à suivre , un exemple ?

Le script aurait besoin d'être nettoyé des trucs persos avant
publication mais le principe est simple, récupérer le contenu du clic
droit ou de la sélection dans une variable, par exemple :

	[ "$1" ] && f="$1" || \
		{
			xcb=$(xsel -b --display ':0' -o)
			[ "$xcb" ] && {
				f="$xcb"
				xsel -b -c
			} || {
				f=$(xsel -p --display ':0' -o)
				xsel -p -c
			}
		}

Vérif qu'on a bien quelque chose à traiter et passer dans un terminal
si on est pas déjà dedans :

	[ ! "$f" ] && {
		msg='Nothing given to download, abort'
		_die
	}
	
	[ ! -t 0 ] && {
		exec st -e "$0" "$f"
	}

Tout ce qui précède semble devoir être fait dans un autre ordre mais
je préfère ne faire apparaître de nouvelle fenêtre de terminal que s'il
y aura vraiment quelque chose à faire dedans.

Exemple de case :

	case "$f" {
		https://soundcloud.com/* )
			youtube-dl --youtube-skip-dash-manifest -f best \
				--no-part --no-playlist "$f"
			;;
		_at_(ftp://*|*.diff|*.patch) )
			ftp "$f"
			;;
		_at_(git://*|*.git|http?(s)://github.com/*/*) )
			[[ "$f" = *.git ]] && \
				ndir=$(basename "${f%.*}") || \
				ndir="${f##*/}"
			git clone "$f"
			;;
		# etc …
	}
	# Ici d'autres trucs selon des variables éventuellement
	# initialisées dans le case ou plus tôt
	ls
	exec ksh

Même sans être le script complet, ça donne déjà une idée. 
--
Julien
ReÇu le 21/05/2020 00:51

Cette archive a été créée par hypermail 2.3.0 : 11/03/2021 09:22 CET