#!/bin/bash # jglockscreen - configure betterlockscreen # CONFIG_DIR="$HOME/.config/mbscreenlocker/" SCRNLOCKCFG="$HOME/.config/mbscreenlocker/mbscreenlocker.conf" # Make config directory if not exist mkdir -p $CONFIG_DIR # If config file not exist create one with defaults if [ ! -f $SCRNLOCKCFG ]; then cat < ${SCRNLOCKCFG} # Effect to use: dim, blur, dimblur or pixel effect=pixel # ScreenLocker program: betterlockscreen or i3lock screenlocker=i3lock EOF fi # read config variables from file source <(grep = $SCRNLOCKCFG) case $LANG in pl*) LOCK="Zablokuj ekran" GENIMGS="Generuj obrazy tła" LOCKER="Blokada ekranu (super+l)" TYPETO="wpisz hasło aby odblokować" SELECT_IMG="Wybierz obrazek" CACHE="Użyj aktualnej tapety" EFFECT="Efekt (ustaw i wypróbuj)" DIM="przyciemnienie" BLUR="rozmycie" DIMBLUR="przyciemnienie i rozmycie" PIXEL="pikseloza" DESK="Rozmyty pulpit" EDITCONF="Edytuj plik konfiguracyjny" LEFTPANEL="Lewy panel" ;; *) LOCK="Lock screen now" GENIMGS="Update Images" LOCKER="ScreenLocker (super+l)" TYPETO="type password to unlock" SELECT_IMG="Select image file" CACHE="Cache current wallpaper for ScreenLock" EFFECT="Effect (set and run)" DIM="dim" BLUR="blur" DIMBLUR="dim and blur" PIXEL="pixel" DESK="Blurred desktop" EDITCONF="Edit config file" LEFTPANEL="Left panel" ;; esac . $HOME/.config/mabox/mabox.conf me="jglockscreen -s" #help='\nBased on Mabox forum member Shwaybo idea.\n\nchange wallpapers from a directory, never using the same picture twice until all the pictures have been shown, and rotating x number of seconds (configurable) before the next wallpaper change.\n' out+=("^sep($LOCKER)") out+=("^sep($TYPETO") #out+=("^sep(Betterlockscreen)") out+=("$LOCK,mbscreenlocker") out+=("^sep($GENIMGS)") out+=("$SELECT_IMG,mbscreenlocker -s") out+=("$CACHE,mbscreenlocker -c") out+=("^sep($EFFECT)") if [ $effect == "dim" -a $screenlocker != "i3lock" ];then out+=("[ $DIM ],mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=dim $SCRNLOCKCFG;mbscreenlocker") else out+=("$DIM,mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=dim $SCRNLOCKCFG;mbscreenlocker") fi if [ $effect == "blur" -a $screenlocker != "i3lock" ];then out+=("[ $BLUR ],mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=blur $SCRNLOCKCFG;mbscreenlocker") else out+=("$BLUR,mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=blur $SCRNLOCKCFG;mbscreenlocker") fi if [ $effect == "dimblur" -a $screenlocker != "i3lock" ];then out+=("[ $DIMBLUR ],mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=dimblur $SCRNLOCKCFG;mbscreenlocker") else out+=("$DIMBLUR,mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=dimblur $SCRNLOCKCFG;mbscreenlocker") fi if [ $effect == "pixel" -a $screenlocker != "i3lock" ];then out+=("[ $PIXEL ],mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=pixel $SCRNLOCKCFG;mbscreenlocker") else out+=("$PIXEL,mb-setvar screenlocker=betterlockscreen $SCRNLOCKCFG;mb-setvar effect=pixel $SCRNLOCKCFG;mbscreenlocker") fi out+=("^sep()") if [ $screenlocker = "i3lock" ];then out+=("[ $DESK ],mb-setvar screenlocker=i3lock $SCRNLOCKCFG;mbscreenlocker") else out+=("$DESK,mb-setvar screenlocker=i3lock $SCRNLOCKCFG;mbscreenlocker") fi out+=("^sep()") out+=("$EDITCONF ,xdg-open $SCRNLOCKCFG") out2+=("^tag(interval)") for i in 3 5 10 30 60 120 300 600 1800 3600; do out2+=("$(printf " %4s,%s" "$i" "mb-setvar interval=${i} $CONFIG_FILE;$me")");done ### RUN if [[ "$1" == "-s" ]]; then . /usr/share/mb-jgtools/pipemenu-standalone.cfg . $HOME/.config/mabox/mabox.conf out+=("^sep()") out+=(" ⮜ $LEFTPANEL,mb-jgtools places") if [[ $panels_heightpos == "top" ]]; then MENU_VALIGN="top" MENU_MARGIN_Y=${panels_topmargin:-0} elif [[ $panels_heightpos == "bottom" ]]; then MENU_VALIGN="bottom" MENU_MARGIN_Y=${panels_topmargin:-0} else MENU_VALIGN="center" fi MENU_PADDING_TOP=${jgtools_padding:-0} MENU_HALIGN="left" jgmenu_icon_size=0 JGWIDTH=40 menu_margin_x=${submenu_spacing:-0} [ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius [ -z $jgmenu_use_borders ] && menu_border=0 mkconfigfile cat < ${MENU_ITEMS} $(printf '%s\n' "${out[@]}") $(printf '%s\n' "${out2[@]}") EOF jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null exit 0 fi printf '%s\n' "${out[@]}" if [[ $1 == "-r" ]]; then case $LANG in pl*) REMOVE="Usuń to menu z panelu";; es*) REMOVE="Eliminar este menú del panel";; *) REMOVE="Remove this menu from panel";; esac printf '%s\n' "^sep()" printf '%s\n' "$REMOVE,mb-setvar places_jglockscreen=false;mb-jgtools places" fi printf '%s\n' "${out2[@]}" echo $effect echo $screenlocker