From f5740922e8d2c341b7874207d7bf02833aa015d4 Mon Sep 17 00:00:00 2001 From: tokiclover Date: Sat, 27 Sep 2014 08:16:27 +0200 Subject: [PATCH] modules: firefox-profile: init.zsh clean up Cleaned up init.zsh, so the whole initialization code is handled by an anonymous function. This is make variable clean up much easier. FIx the version string (bumped to 3.0, 2.x is standalone script that can be sourced in ~/.zshrc (see my dotfiles repo for that).) Minor fix for mktmp() for non GNU/Linux users. --- modules/firefox-profile/functions/mktmp | 6 +- modules/firefox-profile/init.zsh | 78 ++++++++++++------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/modules/firefox-profile/functions/mktmp b/modules/firefox-profile/functions/mktmp index 10f24272..250418b0 100644 --- a/modules/firefox-profile/functions/mktmp +++ b/modules/firefox-profile/functions/mktmp @@ -28,7 +28,7 @@ return test $# -ge 1 -a -n "$1" || return -local type temp=-XXXXXX tmpdir=${TMPDIR:-/tmp} +local type temp=XXXXXX tmpdir=${TMPDIR:-/tmp} for (( ; $# > 1; )) case $1 { (-d|--dir) @@ -53,13 +53,13 @@ for (( ; $# > 1; )) return;; } -test -n "$1" -a "${1%$temp}" != "$1" +test -n "$1" -a "${1%-$temp}" != "$1" if (( $? )) { die "invalid/null TEMPLATE" return } (( $+commands[uuidgen] )) && temp=$($commands[uuidgen] --random) -local tmp="$tmpdir/${1%$temp}-$temp[1,6]" +local tmp="$tmpdir/${1%$temp}$temp[1,6]" if [[ $type == "dir" ]] { mkdir -p ${mode:+-m$mode} "$tmp" diff --git a/modules/firefox-profile/init.zsh b/modules/firefox-profile/init.zsh index 70e4df01..07f3a7bd 100644 --- a/modules/firefox-profile/init.zsh +++ b/modules/firefox-profile/init.zsh @@ -1,48 +1,50 @@ # -# firefox home profile (fhp) module to maintain the profile +# firefox home profile (fhp) maintains the profile # in a tmpfs or zram backed filesystem # # $Header: firefox-profile/init.zsh Exp $ # $Aythor: (c) 2011-2014 -tclover Exp $ # $License: MIT (or 2-clause/new/simplified BSD) Exp $ -# $Version: 2.0 2014/09/25 21:09:26 Exp $ +# $Version: 3.0 2014/09/26 21:09:26 Exp $ # -function die { - local ret=$? - print -P " %F{red}%1x: %F{yellow}%U%I%u:%f $argv" >&2 - return $ret -} - -setopt EXTENDED_GLOB +# Initialize the temporary directory with an anonymous function +function { + local compressor profile zramdir zsh_hook + + zstyle -s ':prezto:module:firefox-profile' profile 'profile' + zstyle -s ':prezto:module:firefox-profile' compressor 'compressor' + zstyle -b ':prezto:module:firefox-profile' zsh-hook 'zsh_hook' + zstyle -s ':prezto:module:firefox-profile' zramdir 'zramdir' + + # Define a little helper to handle fatal errors + function die { + local ret=$? + print -P " %F{red}%2x: %F{yellow}%U%I%u:%f $argv" >&2 + return $ret + } -zstyle -s ':prezto:module:firefox-profile' profile 'profile' -zstyle -s ':prezto:module:firefox-profile' compressor 'compressor' -zstyle -b ':prezto:module:firefox-profile' zsh-hook 'zsh_hook' -zstyle -s ':prezto:module:firefox-profile' zramdir 'zramdir' + if (( $+compressor )) { +: ${compressor:=lz4 -1 -} + zstyle ':prezto:module:firefox-profile' compressor "$compressor" + } -if [[ -z "$compressor" ]] { -: ${compressor:=lz4 -1 -} - zstyle ':prezto:module:firefox-profile' compressor "$compressor" -} + setopt LOCAL_OPTIONS EXTENDED_GLOB -: ${profile:=${$(print $HOME/.mozilla/firefox/*.default(/N)):t}} -if [[ -z $profile ]] { - unset compressor profile zramdir zsh_hook - die "null firefox home profile" - return -} +: ${profile:=$(print $HOME/.mozilla/firefox/*.default(/N:t))} + if [[ -z $profile ]] { + die "null firefox home profile" + return + } -[[ ${profile%.default} == $profile ]] && profile+=.default -zstyle ':prezto:module:firefox-profile' profile "$profile" + [[ ${profile%.default} == $profile ]] && profile+=.default + zstyle ':prezto:module:firefox-profile' profile "$profile" -if (( $zsh_hook )) { - autoload -Uz add-zsh-hook - add-zsh-hook zshexit fhp -} + if (( $zsh_hook )) { + autoload -Uz add-zsh-hook + add-zsh-hook zshexit fhp + } -# Initialize the temporary directory with an anonymous function -function { local ext=.tar.$compressor[(w)1] local fhpdir="$HOME"/.mozilla/firefox/$profile : ${TMPDIR:=/tmp/$USER} @@ -77,15 +79,13 @@ function { die "failed to mount $mntdir" return } -} -# Finaly, start the firefox home profile -#(( $+functions[fhp] )) || autoload -Uz fhp -if zstyle -t ':prezto:module:firefox-profile' start-profile; then - fhp -fi - -unset compressor profile zramdir zsh_hook + # Finaly, start the firefox home profile + #(( $+functions[fhp] )) || autoload -Uz fhp + if zstyle -t ':prezto:module:firefox-profile' start-profile; then + fhp + fi +} # # vim:fenc=utf-8:ft=zsh:ci:pi:sts=2:sw=2:ts=2: