#!/bin/bash
. $HOME/.config/mabox/mabox.conf
case $LANG in
pl*)
TITLE="Ustawienia Menu i Paneli"
MENU_ITEMS="Konfiguruj Elementy Menu"
OWN_COMMANDS="własne komendy"
FAVORITES="Ulubione"
MAINMENU="Menu główne"
APPS="Programy"
APPS_POS="Pokaż programy w..."
APPS_MAIN="...menu głównym"
APPS_SUB="...submenu"
LEFTPANEL="Lewy panel"
RIGHTPANEL="Prawy panel"
EXITMENU="Dialog wylogowania"
JGBROWSER="Przeglądarka plików/katalogów"
SHOW_HIDDEN="Wyświetlanie ukrytych plików"
EDIT="Edytuj"
FULLHEIGHT="Pełna wysokość"
TOP="Góra"
CENTER="Na środku"
BOTTOM="Dół"
MODULES="Moduły"
RESET="Przywróć domyślne ustawienia"
QUICK_NAV="Szybka nawigacja"
BOOKMARKS="Zakładki GTK"
VBOXES="Maszyny Wirtualne"
PIPEMENUS="Dynamiczne (pipe) menu"
DESKMNGR="Desktop Session Manager"
DESKTOPS="Pulpity i okna"
DESKGRID="DeskGrid"
POPINSTALL="Instaluj popularne programy"
SYSINFO="Informacje o systemie"
SHORTCUTS="Skróty klawiszowe"
MENUPANELS="Ustawienia Menu/Paneli bocznych"
WALLCHANGER="Tapeta i Blokada Ekranu"
TINT2="Ustawienia panelu Tint2"
CONKY="Ustawienia Conky"
SSH_CONN="Połączenia SSH"
LOOKANDFEEL="Wygląd"
BORDER="Obramowanie"
PADDING="Margines wewnętrzny"
RADIUS="Zaokrąglone rogi"
SIDEPANELS_HPOS="Panele boczne pozycja/wysokość"
TOPMARGIN="Margines Paneli Góra/Dół"
SUBSPACING="Odstęp submenu"
ICONS="Ikony"
CIRCLE="Okrągłe ikony (Numix)"
SQUARE="Kwadratowe ikony (Numix)"
SHOW_ICONS="Pokaż ikony"
HIDE_ICONS="Ukryj ikony"
INSTALL="Instaluj"
SIZE="Rozmiar i czcionka"
FONT_FAMILY="Czcionka"
FONT_SIZE="Rozmiar czcionki"
COLOR_SCHEME="Motyw kolorystyczny"
GRADIENT="Kierunek Gradientu"
EDIT_CURRENT="Edytuj aktywny"
FOLLOW_OB="Zgodny z motywem OpenBox"
CHOOSE="Wybierz..."
RANDTHEME="Losowy"
REMOVE="Usuń to menu z panelu"
;;
es*)
TITLE="Menu/Panel lateral"
MENU_ITEMS="Menu Items"
OWN_COMMANDS="Custom Commands"
FAVORITES="Favoritos"
MAINMENU="Main Menu"
APPS="Applicationes"
APPS_POS="Show Applications in..."
APPS_MAIN="...mainmenu"
APPS_SUB="...submenu"
LEFTPANEL="Left panel"
RIGHTPANEL="Right panel"
EXITMENU="Logout Dialog"
JGBROWSER="File/Directory Browser"
SHOW_HIDDEN="Show hidden files"
EDIT="Editar"
FULLHEIGHT="Full Height"
TOP="TOP"
CENTER="Center"
BOTTOM="BOTTOM"
MODULES="Modules"
RESET="Reset to default"
QUICK_NAV="Navegación rápida"
BOOKMARKS="GTK Marcadores"
VBOXES="Virtual Machines"
PIPEMENUS="Menu con extras"
DESKMNGR="Desktop Session Manager"
DESKTOPS="Desktops and Windows"
DESKGRID="Desktop Grid"
POPINSTALL="Instalar Programas populares"
SYSINFO="System information"
SHORTCUTS="Atajos del teclado"
MENUPANELS="Menu/Paneles laterales"
WALLCHANGER="Wallpaper and ScreenLocker"
TINT2="Tint2 panel settings"
CONKY="Conky settings"
SSH_CONN="SSH Connections"
LOOKANDFEEL="Apariencia"
BORDER="Menu Border"
PADDING="Padding"
RADIUS="Rounded Corners"
SIDEPANELS_HPOS="Panels Height/Position"
TOPMARGIN="Panels Top/Bottom Margin"
SUBSPACING="Submenu Spacing"
ICONS="Iconos"
CIRCLE="Circilo iconos (Numix)"
SQUARE="Cuadrado iconos (Numix)"
SHOW_ICONS="Mostrar iconos"
HIDE_ICONS="Ocultar iconos"
INSTALL="Instalar"
SIZE="Tamaño de Menu/Panel lateral"
FONT_FAMILY="Familia tipográfica"
FONT_SIZE="Tamaño de fuente"
COLOR_SCHEME="Esquema de colores"
GRADIENT="Gradient"
EDIT_CURRENT="Editar el actual"
FOLLOW_OB="Similiar al de Openbox"
CHOOSE="Elegir..."
RANDTHEME="Random"
REMOVE="Eliminar este menú del panel"
;;
*)
TITLE="Menu/Panels settings"
MENU_ITEMS="Configure Menu Items"
OWN_COMMANDS="Custom Commands"
FAVORITES="Favorites"
MAINMENU="Main Menu"
APPS="Applications"
APPS_POS="Show Applications in..."
APPS_MAIN="...mainmenu"
APPS_SUB="...submenu"
LEFTPANEL="Left Panel "
RIGHTPANEL="Right Panel"
EXITMENU="Logout Dialog"
JGBROWSER="File/Directory Browser"
SHOW_HIDDEN="Show hidden files"
EDIT="Edit"
FULLHEIGHT="Full Height"
TOP="Top"
CENTER="Center"
BOTTOM="Bottom"
MODULES="Modules"
RESET="Reset to default"
QUICK_NAV="Quick Navigation"
BOOKMARKS="GTK Bookmarks"
VBOXES="Virtual Machines"
PIPEMENUS="Pipe (dynamic) menus"
DESKMNGR="Desktop Session Manager"
DESKTOPS="Desktops and Windows"
DESKGRID="Desktop Grid"
POPINSTALL="Install popular apps"
SYSINFO="System information"
SHORTCUTS="Keyboard shortcuts"
MENUPANELS="Menu/Sidepanels settings"
WALLCHANGER="Wallpaper and ScreenLocker"
TINT2="Tint2 panel settings"
CONKY="Conky settings"
SSH_CONN="SSH Connections"
LOOKANDFEEL="Look and Feel"
BORDER="Menu Border"
PADDING="Padding"
RADIUS="Rounded Corners"
SIDEPANELS_HPOS="Panels Height/Position"
TOPMARGIN="Panels Top/Bottom Margin"
SUBSPACING="Submenu Spacing"
ICONS="Icons"
CIRCLE="Circle icons (Numix)"
SQUARE="Square icons (Numix)"
SHOW_ICONS="Show icons"
HIDE_ICONS="Hide icons"
INSTALL="Install"
SIZE="Menu/Sidepanels Size and Font"
FONT_FAMILY="Font Family"
FONT_SIZE="Font Size"
COLOR_SCHEME="Color Scheme"
GRADIENT="Gradient direction"
EDIT_CURRENT="Edit current"
FOLLOW_OB="Same as OpenBox theme"
CHOOSE="Choose..."
RANDTHEME="Random"
REMOVE="Remove this menu from panel"
;;
esac
#me="mb-jgtools $jgtools_last"
me="jgmenusettings-pipe -s"
L="mb-jgtools places"
R="mb-jgtools right"
out+=("^sep($MENU_ITEMS)")
out+=("$MAINMENU,^checkout(mainmenu_edit)")
out+=("$LEFTPANEL,^checkout(left_edit)")
out+=("$RIGHTPANEL,^checkout(right_edit)")
out+=("$EXITMENU,^checkout(exit_edit)")
out+=("^sep($JGBROWSER)")
[[ $jgbrowser_show_hidden = false ]] && out+=("$SHOW_HIDDEN,mb-setvar jgbrowser_show_hidden=true;$me") || out+=("$SHOW_HIDDEN,mb-setvar jgbrowser_show_hidden=false;$me")
out2+=("^tag(mainmenu_edit)")
out2+=("^sep($MAINMENU)")
out2+=("$EDIT $FAVORITES, geany $HOME/.config/mabox/favorites.csv, geany")
out2+=("^sep($APPS_POS)")
out2+=("$APPS_MAIN,mb-setvar apps_in_submenu=false;mb-jgtools main ipc")
out2+=("$APPS_SUB,mb-setvar apps_in_submenu=true;mb-jgtools main ipc")
out2+=("^sep(Reset)")
out2+=("$RESET,mb-reset mainmenu")
out2+=("^tag(left_edit)")
out2+=("^sep($LEFTPANEL)")
out2+=("$EDIT $OWN_COMMANDS ($TOP), geany $HOME/.config/mabox/places-prepend.csv, geany")
#out2+=("^sep()")
out2+=("^sep($MODULES)")
[[ $places_quicknav == false ]] && out2+=("$QUICK_NAV,mb-setvar places_quicknav=true;$L") || out2+=("$QUICK_NAV,mb-setvar places_quicknav=false;$L")
[[ $places_bookmarks == false ]] && out2+=("$BOOKMARKS,mb-setvar places_bookmarks=true;$L") || out2+=("$BOOKMARKS,mb-setvar places_bookmarks=false;$L")
[[ $places_vboxes == false ]] && out2+=("$VBOXES,mb-setvar places_vboxes=true;$L") || out2+=("$VBOXES,mb-setvar places_vboxes=false;$L")
out2+=("^sep($PIPEMENUS)")
[[ $places_menusettingspipe = false ]] && out2+=("$MENUPANELS,mb-setvar places_menusettingspipe=true;$L") || out2+=("$MENUPANELS,mb-setvar places_menusettingspipe=false;$L")
[[ $places_jgwallpaperchanger = false ]] && out2+=("$WALLCHANGER,mb-setvar places_jgwallpaperchanger=true;$L") || out2+=("$WALLCHANGER,mb-setvar places_jgwallpaperchanger=false;$L")
[[ $places_jgdesktops = false ]] && out2+=("$DESKTOPS,mb-setvar places_jgdesktops=true;$L") || out2+=("$DESKTOPS,mb-setvar places_jgdesktops=false;$L")
[[ $places_jgdeskmngr = false ]] && out2+=("$DESKMNGR,mb-setvar places_jgdeskmngr=true;$L") || out2+=("$DESKMNGR,mb-setvar places_jgdeskmngr=false;$L")
[[ $places_jgdeskgrid = false ]] && out2+=("$DESKGRID,mb-setvar places_jgdeskgrid=true;$L") || out2+=("$DESKGRID,mb-setvar places_jgdeskgrid=false;$L")
[[ $places_sysinfopipe = false ]] && out2+=("$SYSINFO,mb-setvar places_sysinfopipe=true;$L") || out2+=("$SYSINFO,mb-setvar places_sysinfopipe=false;$L")
#[[ $places_keyspipe = false ]] && out2+=("$SHORTCUTS,mb-setvar places_keyspipe=true;$L") || out2+=("$SHORTCUTS,mb-setvar places_keyspipe=false;$L")
[[ $places_sshpipe = false ]] && out2+=("$SSH_CONN,mb-setvar places_sshpipe=true;$L") || out2+=("$SSH_CONN,mb-setvar places_sshpipe=false;$L")
[[ $places_softwarepipe = false ]] && out2+=("$POPINSTALL,mb-setvar places_softwarepipe=true;$L") || out2+=("$POPINSTALL,mb-setvar places_softwarepipe=false;$L")
[[ $places_tint2pipe = false ]] && out2+=("$TINT2,mb-setvar places_tint2pipe=true;$L") || out2+=("$TINT2,mb-setvar places_tint2pipe=false;$L")
[[ $places_conkypipe = false ]] && out2+=("$CONKY,mb-setvar places_conkypipe=true;$L") || out2+=("$CONKY,mb-setvar places_conkypipe=false;$L")
out2+=("^sep()")
out2+=("$EDIT $OWN_COMMANDS ($BOTTOM), geany $HOME/.config/mabox/places-append.csv, geany")
out2+=("^sep(Reset)")
out2+=("$RESET,mb-reset leftpanel")
out2+=("^tag(right_edit)")
out2+=("^sep($RIGHTPANEL)")
out2+=("$EDIT $OWN_COMMANDS ($TOP), geany $HOME/.config/mabox/right-prepend.csv, geany")
out2+=("$EDIT $OWN_COMMANDS ($BOTTOM), geany $HOME/.config/mabox/right-append.csv, geany")
out2+=("^sep(Reset)")
out2+=("$RESET,mb-reset rightpanel")
out2+=("^tag(exit_edit)")
out2+=("^sep($EXITMENU)")
out2+=("$EDIT $EXITMENU, geany $HOME/.config/mabox/exit.csv, geany")
out2+=("^sep(Reset)")
out2+=("$RESET,mb-reset logout")
##
out+=("^sep($LOOKANDFEEL)")
out+=("$BORDER [ ${jgtools_border:-0} ],^checkout(mborder)")
out+=("$PADDING [ ${jgtools_padding:-0} ],^checkout(mpadding)")
out+=("$RADIUS [ ${jgtools_radius:-0} ],^checkout(mradius)")
out+=("$SUBSPACING [ ${submenu_spacing:-0} ],^checkout(subspacing)")
out+=("^sep()")
out+=("$SIDEPANELS_HPOS [ ${panels_heightpos:-center} ],^checkout(sidepanelpos)")
out2+=("^tag(mborder)")
#for i in 0 1 2 3 4; do out2+=("${i},mb-setvar jgtools_border=${i};$me");done
for i in 0 1 2 3 4 5 6 8 10 12; do out2+=("$(printf "%3s,%s" "$i" "mb-setvar jgtools_border=${i};$me")");done
out2+=("^tag(mpadding)")
#for i in 0 1 2 3 4; do out2+=("${i},mb-setvar jgtools_border=${i};$me");done
for i in 0 2 4 6 8 10 12 14 16 18 20 22 24 28 32 40; do out2+=("$(printf "%3s,%s" "$i" "mb-setvar jgtools_padding=${i};$me")");done
out2+=("^tag(mradius)")
for i in 0 1 2 3 4 6 8 12 14 16 18 20 40; do out2+=("$(printf "%3s,%s" "$i" "mb-setvar jgtools_radius=${i};$me")");done
out2+=("^tag(topmargin)")
for i in 0 20 30 40 50 60 80 100 120 160 200; do out2+=("$(printf "%4s,%s" "$i" "mb-setvar panels_topmargin=${i};$me")");done
#for i in 0 20 30 40 50 60 80 100; do out2+=("${i},mb-setvar panels_topmargin=${i};$me");done
out2+=("^tag(subspacing)")
for i in -20 -8 -6 -4 -2 0 1 2 4 6 8 10 12 14 16 18 20; do out2+=("$(printf "%4s,%s" "$i" "mb-setvar submenu_spacing=${i};$me")");done
#for i in -8 -6 -4 -2 0 1 2 3 4 5 6; do out2+=("${i},mb-setvar submenu_spacing=${i};$me");done
out2+=("^tag(sidepanelpos)")
out2+=("^sep($SIDEPANELS_HPOS)")
out2+=("$FULLHEIGHT,mb-setvar panels_heightpos=full;$me")
out2+=("^sep()")
out2+=("$TOP,mb-setvar panels_heightpos=top;$me")
out2+=("$CENTER,mb-setvar panels_heightpos=center;$me")
out2+=("$BOTTOM,mb-setvar panels_heightpos=bottom;$me")
out2+=("^sep()")
out2+=("$TOPMARGIN [ ${panels_topmargin:-0} ],^checkout(topmargin)")
out2+=("^tag(fontsize)")
for i in 7 8 9 10 11 12 14 16 18 20; do out2+=("$(printf "%4s,%s" "$i" "mb-setvar menu_font_size=${i};mb-setvar jgmenu_item_height=$((i*2));mb-setvar jgmenu_icon_size=$((i*2-2));$me")");done
out+=("^sep($SIZE)")
out+=("$FONT_SIZE [ ${menu_font_size:-0} ],^checkout(fontsize)")
out+=("$FONT_FAMILY[ ${menu_font_family:-0} ],^checkout(fonty)")
case $menu_font_family in
"Noto Sans Light") nol="";;
"Noto Sans Medium") nom="";;
Jet*) je="";;
Aut*) au="";;
Deja*) de="";;
Robo*) ro="";;
Inco*) in="";;
*);;
esac
out2+=("^tag(fonty)")
out2+=("^sep($FONT_FAMILY)")
out2+=("$nol Noto Sans Light,mb-setvar \"menu_font_family='Noto Sans Light'\";$me")
out2+=("$nom Noto Sans Medium,mb-setvar \"menu_font_family='Noto Sans Medium'\";$me")
out2+=("$je JetBrains Mono Regular,mb-setvar \"menu_font_family='JetBrains Mono Regular'\";$me")
out2+=("$au Autour One,mb-setvar \"menu_font_family='Autour One'\";$me")
out2+=("$de DejaVu Serif,mb-setvar \"menu_font_family='DejaVu Serif'\";$me")
out2+=("$ro Roboto Light,mb-setvar \"menu_font_family='Roboto Light'\";$me")
out2+=("$in Inconsolata,mb-setvar menu_font_family=Inconsolata;$me")
########## THEMES
out+=("^sep($COLOR_SCHEME)")
ob_file=$HOME/.config/openbox/rc.xml
[[ -f $ob_file ]] && wm_theme=$(awk '// {while (getline n) {if (match(n, //)){l=n; exit}}} END {split(l, a, "[<>]"); print a[3]}' "$ob_file")
if [ $jgmenu_theme != obtheme ]; then #INNY NIŻ OB THEME
. $HOME/.config/mabox/jgobthemes/${jgmenu_theme}.colorrc > /dev/null 2>&1 &
out+=("$CHOOSE [$jgmenu_theme],^checkout(motywy)")
out+=("$EDIT_CURRENT: ($jgmenu_theme),geany $HOME/.config/mabox/jgobthemes/$jgmenu_theme.colorrc,geany")
out+=("$RANDTHEME,mb-setvar jgmenu_theme=$(basename -s .colorrc $(ls ~/.config/mabox/jgobthemes/*.colorrc | shuf -n 1));$me")
out+=("$FOLLOW_OB,mb-setvar jgmenu_theme=obtheme;$me
^sep()")
out+=("$GRADIENT [ ${menu_gradient_pos:-none} ],^checkout(gradient)")
out2+=("^tag(gradient)")
for i in none top right bottom left top_left top_right bottom_left bottom_right; do out2+=("$(printf "%14s,%s" "$i" "mb-setvar menu_gradient_pos=${i} $HOME/.config/mabox/jgobthemes/$jgmenu_theme.colorrc;$me")");done
out2+=("^tag(motywy)")
else
. $HOME/.config/mabox/jgobthemes/${wm_theme// /_}.colorrc > /dev/null 2>&1 &
#out+=("#${menu_gradient_pos}\n")
out+=("$CHOOSE [${wm_theme// /_}],^checkout(motywy)")
out+=("$EDIT_CURRENT: (${wm_theme// /_}),geany $HOME/.config/mabox/jgobthemes/${wm_theme// /_}.colorrc,geany")
out+=("$RANDTHEME,mb-setvar jgmenu_theme=$(basename -s .colorrc $(ls ~/.config/mabox/jgobthemes/*.colorrc | shuf -n 1));$me")
out+=("$FOLLOW_OB,mb-setvar jgmenu_theme=obtheme;$me
^sep()")
out+=("$GRADIENT [ ${menu_gradient_pos:-none} ],^checkout(gradient)")
out2+=("^tag(gradient)")
for i in none top right bottom left top_left top_right bottom_left bottom_right; do out2+=("$(printf "%14s,%s" "$i" "mb-setvar menu_gradient_pos=${i} $HOME/.config/mabox/jgobthemes/${wm_theme// /_}.colorrc;$me")");done
out2+=("^tag(motywy)")
fi
for item in "$HOME"/.config/mabox/jgobthemes/*colorrc; do
theme="${item##*/}"
out2+=("${theme%.*},mb-setvar jgmenu_theme=${theme%.*};$me")
done
########## ICONS
out+=("^sep($ICONS)")
if [ $jgmenu_use_icons == true ]; then
out+=("$HIDE_ICONS [ ${jgmenu_icon_theme} ],mb-setvar jgmenu_use_icons=false;$me")
else
out+=("$SHOW_ICONS [ ${jgmenu_icon_theme} ],mb-setvar jgmenu_use_icons=true;$me")
fi
out+=("^sep()")
out+=("$SQUARE,mb-setvar jgmenu_icon_theme=Numix-Square;mb-setvar jgmenu_use_icons=true;$me")
out+=("$CIRCLE,mb-setvar jgmenu_icon_theme=Numix-Circle;mb-setvar jgmenu_use_icons=true;$me")
if [ -d /usr/share/icons/BeautyLine ];then
out+=("BeautyLine,mb-setvar jgmenu_icon_theme=BeautyLine;mb-setvar jgmenu_use_icons=true;$me")
else
out+=("$INSTALL BeautyLine icons, pamac-installer beautyline")
fi
if [ -d /usr/share/icons/Sardi-Arc ];then
out+=("^sep()")
out+=("Sardi,^checkout(sardi)")
out2+=("^tag(sardi)")
out2+=("Sardi,mb-setvar jgmenu_icon_theme=Sardi;mb-setvar jgmenu_use_icons=true;$me")
out2+=("Sardi-Orb-Colora,mb-setvar jgmenu_icon_theme=Sardi-Orb-Colora;mb-setvar jgmenu_use_icons=true;$me")
out2+=("Sardi-Flat,mb-setvar jgmenu_icon_theme=Sardi-Flat;mb-setvar jgmenu_use_icons=true;$me")
out2+=("Sardi-Flexible,mb-setvar jgmenu_icon_theme=Sardi-Flexible;mb-setvar jgmenu_use_icons=true;$me")
out2+=("Sardi-Mono,mb-setvar jgmenu_icon_theme=Sardi-Mono;mb-setvar jgmenu_use_icons=true;$me")
else
out+=("^sep()")
out+=("$INSTALL Sardi icons, pamac-installer sardi-icons")
fi
### RUN
if [[ $1 == "-s" ]]; then
. /usr/bin/pipemenu-standalone.cfg
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}
MENU_HALIGN="left"
jgmenu_icon_size=0
JGWIDTH=40
menu_margin_x=${submenu_spacing:-0}
[ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius
mkconfigfile
cat < ${MENU_ITEMS}
$(printf '%s\n' "${out[@]}")
$(printf '%s\n' "${out2[@]}")
$(printf '%s\n' "${out3[@]}")
EOF
jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null
exit 0
fi
printf '%s\n' "${out[@]}"
if [ $1 == "-r" ]; then
printf '%s\n' "^sep()"
printf '%s\n' "$REMOVE,mb-setvar places_menusettingspipe=false;mb-jgtools places"
fi
printf '%s\n' "${out2[@]}"
printf '%s\n' "${out3[@]}"