parent
12c21bef58
commit
a25edbd1c6
@ -1,10 +1,66 @@
|
||||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ENABLED=yes
|
||||
[[ ${ENABLED} == "yes" ]] || exit 0
|
||||
|
||||
. /usr/lib/ublinux/default
|
||||
|
||||
# Фиксим ~/.config/gtk-3.0/bookmarks подставляя тукущего пользователя вместо ${USER}
|
||||
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
||||
|
||||
sed -i "s/\${USER}/${USER}/g" ~/.config/gtk-3.0/bookmarks
|
||||
add_bookmarks(){
|
||||
urlencode(){
|
||||
local LC_ALL=C
|
||||
local input_string="$1"
|
||||
local encoded_string=""
|
||||
local char
|
||||
for (( i = 0; i < ${#input_string}; i++ )); do
|
||||
char="${input_string:i:1}"
|
||||
case "${char}" in
|
||||
[a-zA-Z0-9/.~_-])
|
||||
encoded_string+="${char}"
|
||||
;;
|
||||
*)
|
||||
printf -v hex_char '%%%02X' "'${char}"
|
||||
encoded_string+="${hex_char}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
echo "${encoded_string}"
|
||||
}
|
||||
BOOKMARKS_PATH="${HOME}/.config/gtk-3.0/bookmarks"
|
||||
if [[ -f ${HOME}/.config/user-dirs.dirs ]]; then
|
||||
source "${HOME}/.config/user-dirs.dirs"
|
||||
else
|
||||
XDG_DESKTOP_DIR=$(xdg-user-dir DESKTOP 2>/dev/null)
|
||||
XDG_DOWNLOAD_DIR=$(xdg-user-dir DOWNLOAD 2>/dev/null)
|
||||
XDG_TEMPLATES_DIR=$(xdg-user-dir TEMPLATES 2>/dev/null)
|
||||
XDG_PUBLICSHARE_DIR=$(xdg-user-dir PUBLICSHARE 2>/dev/null)
|
||||
XDG_DOCUMENTS_DIR=$(xdg-user-dir DOCUMENTS 2>/dev/null)
|
||||
XDG_MUSIC_DIR=$(xdg-user-dir MUSIC 2>/dev/null)
|
||||
XDG_PICTURES_DIR=$(xdg-user-dir PICTURES 2>/dev/null)
|
||||
XDG_VIDEOS_DIR=$(xdg-user-dir VIDEOS 2>/dev/null)
|
||||
fi
|
||||
# Если не получены каталоги, то выйти
|
||||
if [[ -n ${XDG_DESKTOP_DIR} || -n ${XDG_DOWNLOAD_DIR} || -n ${XDG_TEMPLATES_DIR} || -n ${XDG_PUBLICSHARE_DIR} \
|
||||
|| -n ${XDG_DOCUMENTS_DIR} || -n ${XDG_MUSIC_DIR} || -n ${XDG_PICTURES_DIR} || -n ${XDG_VIDEOS_DIR} ]]; then
|
||||
true
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
[[ -e ${HOME}/.config/gtk-3.0/bookmarks ]] || touch ${BOOKMARKS_PATH}
|
||||
for SELECT_XDG_DIR in "${XDG_DESKTOP_DIR}" "${XDG_DOWNLOAD_DIR}" "${XDG_TEMPLATES_DIR}" "${XDG_PUBLICSHARE_DIR}" "${XDG_DOCUMENTS_DIR}" "${XDG_MUSIC_DIR}" "${XDG_PICTURES_DIR}" "${XDG_VIDEOS_DIR}"; do
|
||||
[[ ${SELECT_XDG_DIR} == ${HOME} ]] && continue
|
||||
URLENCODE_XDG_DIR="file://$(urlencode "${SELECT_XDG_DIR}")"
|
||||
grep -Eq "^${URLENCODE_XDG_DIR}$" ${BOOKMARKS_PATH} || echo "${URLENCODE_XDG_DIR}" >> ${BOOKMARKS_PATH}
|
||||
done
|
||||
|
||||
# Создадим ссылку символическую на публичный общий каталог, для быстрого общего доступа
|
||||
[[ -d ${XDG_PUBLICSHARE_DIR} && -d /home/usershares && ! -L ${XDG_PUBLICSHARE_DIR}/usershares ]] && ln -s /home/usershares ${XDG_PUBLICSHARE_DIR}/usershares
|
||||
true
|
||||
}
|
||||
|
||||
################
|
||||
##### MAIN #####
|
||||
################
|
||||
|
||||
add_bookmarks
|
||||
|
||||
Loading…
Reference in new issue