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: