diff --git a/bin/mb-jgtools b/bin/mb-jgtools index 2b0a649..7d9927a 100755 --- a/bin/mb-jgtools +++ b/bin/mb-jgtools @@ -79,6 +79,538 @@ printf "" fi } +# TABS FOR LEFT SIDEPANEL +tabs(){ +AREA_CFG="$HOME/.config/areaclick.conf" +case $LANG in + pl*) + _DESKTOPS="Pulpity" + _ADD_DESKTOP="Dodaj nowy pulpit" + _REMOVE_LAST="Usuń ostatni pulpit" + _CURSOR="Kursor" + _DESK_SERVICES="Usługi pulpitu" + _TINT2="Panel tint2" + _CONKY="Sesja Conky" + _PICOM="Picom kompozytor" + _RUNNING="(wł)" + _STOPPED="(wył)" + _MONITORBLANK="Wygaszanie monitora" + _ON="(wł)" + _OFF="(wył)" + _WMTWEAKS="Ulepszenia Menadżera Okien" + _SHOW_DESK="Pokaż pulpit - lewy klik" + _SWITCH_DESK="Zmień pulpit - kółko myszy" + _FOCUS="Fokus podąża za myszą" + _AREACLICK="AreaClick" + _AREA_DESC="klikalne rogi i krawędzie ekranu" + _ABOUT_AREACLICK="O AreaClick" + _AREA_WIDTH="rozmiar obszaru" + _EDIT_AREACONF="Edytuj areaclick.conf" + _RESET_AREACONF="Resetuj plik konfiguracyjny" + _RESET_SURE="Na pewno?" + _RESET_YES="Tak, resetuj" + _WM_MARGIN="Marginesy Openbox" + _OBCONF_MARG="ObConf -> Marginesy" + _SET_ALL_MARG="ustaw wszystkie na:" + _CONKY_CLICK="Klikalne Conky" + _C_LCLICK="własne akcje po lewy klik" + _C_RCLICK="menu kontekstowe po prawy klik" + _C_SIMPLIFIEDMENU="uproszczone menu kontekstowe" + _TOOLS="Narzędzia" + _WALLMENU="Menu Tapet" + _CONKY_MANAGER="Manadżer widżetów Conky" + _FONTS="Ustawienia Czcionek" + _PANEL_SETTINGS="Ustawienia Panelu" + _ADV_PROFILE="Zaawansowane" + _PROFILE="Profil" + _PRO_MABOX="pełne możliwości domyślny" + _PRO_BASIC="uproszczony dla początkujących" + _SIDE_LEFT="Lewy Panel Boczny" + _BOOKMARKS="Zakładki" + _VBOXES="Maszyny Wirtualne (VirtualBox)" + _MABOX_TOOLS="Narzędzia Maboxa" + + _ALLMENU_SETTINGS="Globalne ustawienia menu" + _FONTS="Czcionki" + _FONT_FAMILY="Czcionka" + _EDIT_FAVFONTS="Edytuj listę ulubionych fontów" + _FONT_SIZE="Rozmiar czcionki" + _ITEM_FONT="Element" + _TITLE_FONT="Tytuł/Separator" + _INCREASE="Powiększ" + _DECREASE="Pomniejsz" + _LINEHEIGHT="Wysokość elementu menu" + _FONT_CUSTOM="Wybierz czcionkę i rozmiar..." + + _COLOR_SCHEME="Motyw kolorystyczny" + _CHOOSE="Wybierz..." + _RANDTHEME="Losowy" + _FEATURES="Możliwości" +_CUSTOM_COMMANDS="Własne Komendy" +_IN_MAIN="w Menu Głównym" +_EDIT="Edytuj" +_FAVORITES="Ulubione" +_BELOW_APPS="Pod aplikacjami" +_RESET_MAIN="Resetuj menu główne" +_IN_LEFT="w Lewym Panelu Bocznym" +_TOP="Góra" +_BOTTOM="Dół" +_IN_RIGHT="w Prawym Panelu Bocznym" +_RESET="Resetuj" +_MAINMENU_SETTINGS="Menu Główne" +_SEARCH_FIELD="Pole wyszukiwania" +_APPS_SUB="Aplikacje w podmenu" +_ICONS="pokaż Ikony" +_ICON_SET="Zestaw Ikon" +_INSTALL="Instaluj" + ;; + *) + _DESKTOPS="Desktops" + _ADD_DESKTOP="Add new desktop" + _REMOVE_LAST="Remove last desktop" + _CURSOR="Cursor" + _DESK_SERVICES="Desktop services" + _TINT2="Panel tint2" + _CONKY="Conky session" + _PICOM="Picom compositor" + _RUNNING="(running)" + _STOPPED="(stopped)" + _MONITORBLANK="Monitor blanking" + _ON="(on)" + _OFF="(off)" + _WMTWEAKS="Window Manager tweaks" + _SHOW_DESK="Show Desktop on left click" + _SWITCH_DESK="Switch Desktop on mousewheel" + _FOCUS="Focus follow Mouse" + _AREACLICK="AreaClick" + _AREA_DESC="clickable screen corners and edges" + _ABOUT_AREACLICK="About AreaClick" + _AREA_WIDTH="click area size" + _EDIT_AREACONF="Edit areaclick.conf" + _RESET_AREACONF="Reset config to defaults" + _RESET_SURE="Are you sure?" + _RESET_YES="Yes, reset to defaults" + _WM_MARGIN="Openbox Margin" + _OBCONF_MARG="ObConf -> Margins" + _SET_ALL_MARG="set all margins to:" + _CONKY_CLICK="Conky click actions" + _C_LCLICK="run custom actions on Left-click" + _C_RCLICK="show context menu on Right-click" + _C_SIMPLIFIEDMENU="simplified context menu" + _TOOLS="Tools" + _WALLMENU="Wallpaper Menu" + _CONKY_MANAGER="Conky Widget Manager" + _FONTS="Fonts settings" + _PANEL_SETTINGS="Panel settings" + _ADV_PROFILE="Advanced" + _PROFILE="Desktop Profile" + _PRO_MABOX="full featured distro default" + _PRO_BASIC="simplified (for beginners)" + + _SIDE_LEFT="Left Side Panel" + _SIDE_RIGHT="Right Side Panel" + _BOOKMARKS="Bookmarks" + _VBOXES="Virtual Machines" + _MABOX_TOOLS="Mabox Tools" + + + _ALLMENU_SETTINGS="Global menu settings" + _FONTS="Menu Fonts" + _FONT_FAMILY="Font Family" + _EDIT_FAVFONTS="Edit favorited fonts list" + _FONT_SIZE="Font Size" + _ITEM_FONT="Item" + _TITLE_FONT="Title/Separator" + _INCREASE="Increase" + _DECREASE="Decrease" + _LINEHEIGHT="Item height" + _FONT_CUSTOM="Select custom font and size..." + + _COLOR_SCHEME="Color Scheme" + _CHOOSE="Choose..." + _RANDTHEME="Random" + _FEATURES="Features" +_CUSTOM_COMMANDS="Custom Commands" +_IN_MAIN="in Main Menu" +_EDIT="Edit" +_FAVORITES="Favorites" +_BELOW_APPS="Below apps" +_RESET_MAIN="Reset mainmenu" +_IN_LEFT="in Left Side Panel" +_TOP="Top" +_BOTTOM="Bottom" +_IN_RIGHT="in Right Side Panel" +_RESET="Reset" +_MAINMENU_SETTINGS="Main Menu" +_SEARCH_FIELD="Search Field" +_APPS_SUB="Apps in submenu" +_ICONS="Show Icons" +_ICON_SET="Icon set" +_INSTALL="Install" + ;; +esac + + +out+=("^tag(commands)") +out+=("^sep($_MY_COMMANDS)") +out+=(". $HOME/.config/mabox/places-prepend.csv") +out+=("^sep()") +out+=(" $_EDIT_OWN_COMMANDS,xdg-open $HOME/.config/mabox/places-prepend.csv") +out+=("${arrow_string_left} ${arrow_string_left} ${arrow_string_left},^back()") + +out+=("^tag(desktop)") +out+=("^sep($_DESKTOP_SETTINGS)") +desktops=$(wmctrl -d |wc -l) + +out+=("$_DESKTOPS [ ${desktops} ],^checkout(desks)") +out2+=("^tag(desks)") +out2+=("^sep($_DESKTOPS)") +out2+=("  $_ADD_DESKTOP,obxml desktops $((desktops+1));$me desktop") +[[ "$desktops" -gt "1" ]] && out2+=("  $_REMOVE_LAST,obxml desktops $((desktops-1));$me desktop") + +out+=("^sep()") +out+=(" 󰇀 $_CURSOR,^pipe(jgcursor)") +out+=("^sep($_TOOLS)") +out+=("$_PANEL_SETTINGS,jgtint2-pipe -s") +out+=(" $_FONTS,colorizer-fonts -s") +out+=(" $_CONKY_MANAGER,colorizer-conky -s") +out+=(" $_WALLMENU,jgwallpaperchanger -s") +out+=(" $PICOMSETTINGS,jgpicom-pipe -s") +out+=("^sep($_DESK_SERVICES)") + +if pidof conky &>/dev/null; then +out+=("${cbon} $_CONKY $_ON  - c ,conky_toggle;$me desktop") +else +out+=("${cboff} $_CONKY $_OFF  - c ,conky_toggle;$me desktop") +fi +if pidof picom &>/dev/null; then +out+=("${cbon} $_PICOM $_ON  - p ,compton_toggle;$me desktop") +else +out+=("${cboff} $_PICOM $_OFF  - p ,compton_toggle;$me desktop") +fi +if pidof tint2 &>/dev/null;then +out+=("${cbon} $_TINT2 $_ON,tint2_toggle;$me desktop") +else +out+=("${cboff} $_TINT2 $_OFF,mb-tint2-session &>/dev/null;$me desktop") +fi +out+=("^sep()") +# MONITOR BLANKING +if (xset q|grep --quiet "DPMS is Enabled");then +out+=("󰷛 $_MONITORBLANK $_ON  - A - b ,noblank;$me desktop") +else +out+=("󰍹 $_MONITORBLANK $_OFF  - A - b ,noblank;$me desktop") +fi + +# DESKTOP MOUSE ACTIONS +mousewheel=$(xml sel -N a=http://openbox.org/3.4/rc -t -v '/a:openbox_config/a:mouse/a:context[@name="Root"]/a:mousebind[@action="Click"][@button="Up"]/a:action/a:to' $HOME/.config/openbox/rc.xml) +focus=$(xml sel -N a=http://openbox.org/3.4/rc -t -v '/a:openbox_config/a:focus/a:followMouse' $HOME/.config/openbox/rc.xml) +areaclick=$(xml sel -N a=http://openbox.org/3.4/rc -t -v '/a:openbox_config/a:mouse/a:context[@name="Root"]/a:mousebind[@action="Press"][@button="Left"]/a:action/a:command' $HOME/.config/openbox/rc.xml) + + + +# AREACLICK +if [[ "${areaclick}" == "areaclick" ]]; then +if source ~/.config/areaclick.conf ;then + if [[ "${sidearea}" -gt "0" ]];then + out+=("${cbon} $_AREACLICK ($_AREA_WIDTH: ${sidearea}px),^checkout(sparea)") + else + out+=("${cboff} $_AREACLICK $_STOPPED,^checkout(sparea)") + fi + out2+=("^tag(sparea)") + out2+=("^sep(AreaClick)") + out2+=("^sep($_AREA_DESC)") + #out2+=("$ABOUT_AREACLICK,mb-docs areaclick") + out2+=("^sep($_AREA_WIDTH (px))") + [[ "${sidearea}" == "0" ]] && out2+=("${ron} 0 (disabled),areaclick area 0;$me desktop") || out2+=("${roff} 0 (disable),areaclick area 0;$me desktop") + out2+=("^sep()") + [[ "${sidearea}" == "2" ]] && out2+=("${ron} 2px,areaclick area 2;$me desktop") || out2+=("${roff} 2px,areaclick area 2;$me desktop") + [[ "${sidearea}" == "10" ]] && out2+=("${ron} 10px,areaclick area 10;$me desktop") || out2+=("${roff} 10px,areaclick area 10;$me desktop") + [[ "${sidearea}" == "60" ]] && out2+=("${ron} 60px,areaclick area 60;$me desktop") || out2+=("${roff} 60px,areaclick area 60;$me desktop") + [[ "${sidearea}" == "100" ]] && out2+=("${ron} 100px,areaclick area 80;$me desktop") || out2+=("${roff} 100px,areaclick area 100;$me desktop") + [[ "${sidearea}" == "200" ]] && out2+=("${ron} 200px,areaclick area 200;$me desktop") || out2+=("${roff} 200px,areaclick area 200;$me desktop") + out2+=("^sep()") + out2+=("$_EDIT_AREACONF,areaclick editconf") + out2+=("^sep()") + out2+=("$_RESET_AREACONF,^checkout(spreseta)") + out3+=("^tag(spreseta)") + out3+=("^sep($_RESET_SURE)") + out3+=("\"\"\"$_RESET_YES\"\"\", areaclick reset;$me desktop") + + out2+=("^sep($_WM_MARGIN)") + m_top=$(obxml sel /a:openbox_config/a:margins/a:top) + m_bottom=$(obxml sel /a:openbox_config/a:margins/a:bottom) + m_left=$(obxml sel /a:openbox_config/a:margins/a:top) + m_right=$(obxml sel /a:openbox_config/a:margins/a:top) + out2+=("^sep( $m_left $m_top $m_bottom $m_right ") + #out2+=("$OBCONF_MARG,obconf") + out2+=("^sep($_SET_ALL_MARG)") + out2+=("0,obxml margin all 0;$me desktop") + out2+=("^sep()") + out2+=("1px,obxml margin all 1;$me desktop") + out2+=("2px,obxml margin all 2;$me desktop") + out2+=("4px,obxml margin all 4;$me desktop") + out2+=("8px,obxml margin all 8;$me desktop") + out2+=("16px,obxml margin all 16;$me desktop") + fi +fi + + + +out+=("^sep($_CONKY_CLICK)") +[[ "${conky_leftclick}" == "off" ]] && out+=("${cboff} $_C_LCLICK,mb-setvar conky_leftclick=on;$me desktop") || out+=("${cbon} $_C_LCLICK,mb-setvar conky_leftclick=off;$me desktop") +[[ "${conky_rightclick}" == "off" ]] && out+=("${cboff} $_C_RCLICK,mb-setvar conky_rightclick=on;$me desktop") || out+=("${cbon} $_C_RCLICK,mb-setvar conky_rightclick=off;$me desktop") +out+=("^sep()") +[[ "${conky_basicmode}" == "on" ]] && out+=("${cbon} $_C_SIMPLIFIEDMENU,mb-setvar conky_basicmode=off;$me desktop") || out+=("${cboff} $_C_SIMPLIFIEDMENU,mb-setvar conky_basicmode=on;$me desktop") + +out+=("^sep($_WMTWEAKS)") +if [[ "${areaclick}" != "areaclick" ]]; then + lclick=$(xml sel -N a=http://openbox.org/3.4/rc -t -v '/a:openbox_config/a:mouse/a:context[@name="Root"]/a:mousebind[@action="Press"][@button="Left"]/a:action/@name' $HOME/.config/openbox/rc.xml) + if [[ ! -z "$lclick" ]];then + [[ "$lclick" = "none" ]] && out+=("${cboff} $_SHOW_DESK,obxml show_desk on;$me desktop") || out+=("${cbon} $_SHOW_DESK,obxml show_desk off;$me desktop") + fi +else + if source ~/.config/areaclick.conf ;then + [[ "${cmd_center}" == "show_desktop" ]] && out+=("${cbon} $_SHOW_DESK,mb-setvar cmd_center=none $AREA_CFG;$me desktop") || out+=("${cboff} $_SHOW_DESK,mb-setvar cmd_center=show_desktop $AREA_CFG;$me desktop") + fi +fi + + +if [[ ! -z "$mousewheel" ]];then +[[ "$mousewheel" = "none" ]] && out+=("${cboff} $_SWITCH_DESK,obxml switch_desk on;$me desktop") || out+=("${cbon} $_SWITCH_DESK,obxml switch_desk off;$me desktop") +fi +[[ "$focus" = "no" ]] && out+=("${cboff} $_FOCUS,obxml focus_follow_mouse on;$me desktop") || out+=("${cbon} $_FOCUS,obxml focus_follow_mouse off;$me desktop") + +out+=("^sep($_ADV_PROFILE)") +profile=${profile:-mabox} +out+=("$_PROFILE [ ${profile} ],^checkout(profil)") +out2+=("^tag(profil)") +out2+=("^sep($_PROFILE)") +[[ "${profile}" == "mabox" ]] && out2+=("${ron} mabox: $_PRO_MABOX,$me desktop") || out2+=("${roff} mabox: $_PRO_MABOX,mabox-profile mabox;$me desktop") +[[ "${profile}" == "basic" ]] && out2+=("${ron} basic: $_PRO_BASIC,$me desktop") || out2+=("${roff} basic: $_PRO_BASIC,mabox-profile basic;$me desktop") + +out+=(" Mabox Colorizer (gui),ycolorizer") +out+=("${arrow_string_left} ${arrow_string_left} ${arrow_string_left},^back()") + + +out+=("^tag(docs)") +out+=("^sep($_DOCS)") +case $LANG in + pl*) + out+=(" Mabox Colorizer GUI,ycolorizer") + out+=(" Poznaj SuperClick,jgdeskgrid -s") + out+=("^sep(Tutoriale (online))") + out+=("Wprowadzenie do Maboxa (5 min),xdg-open https://pl.maboxlinux.org/krotkie-wprowadzenie-do-pulpitu-maboxa/") + out+=("Przewodnik Użytkownika 2026 nowy! ,xdg-open https://pl.maboxlinux.org/przewodnik-uzytkownika/wprowadzenie-do-mabox-linux/") + out+=("^sep(WWW)") + out+=(" Forum dyskusyjne,xdg-open https://forum.maboxlinux.org") + out+=(" Strona www,xdg-open https://maboxlinux.org") + out+=(" Manual,xdg-open https://manual.maboxlinux.org") + out+=(" Developer Blog,xdg-open https://blog.maboxlinux.org") + out+=("^sep()") + out+=(" Mabox na Distrowatch,xdg-open https://distrowatch.com/table.php?distribution=mabox") + out+=("^sep(Media społecznościowe)") + out+=(" Reddit,xdg-open https://old.reddit.com/r/MaboxLinux/") + out+=(" Youtube,xdg-open https://www.youtube.com/c/MaboxLinux") + out+=(" Odysee,xdg-open https://odysee.com/@mabox-linux:8") + out+=(" Facebook,xdg-open https://facebook.com/maboxlinux/") + out+=(" Twitter,xdg-open https://twitter.com/MaboxLinux/") + out+=("󰙯 Discord,xdg-open https://discord.com/invite/kFAuuh8GEw") + out+=("^sep(Lubisz Maboxa?)") + out+=(" Wesprzyj jego rozwój,xdg-open https://maboxlinux.org/donate/") + ;; + *) + out+=(" Mabox Colorizer GUI,ycolorizer") + out+=(" SuperClick Trainer,jgdeskgrid -s") + out+=("^sep(Tutorials (online))") + out+=("5 min intro to Mabox Desktop,xdg-open https://blog.maboxlinux.org/a-quick-5-minutes-intro-to-mabox-desktop/") + out+=("Mabox User Guide 2026 new! ,xdg-open https://maboxlinux.org/users-guide/introduction-to-mabox-linux-desktop/") + out+=("^sep(WWW)") + out+=(" Community forum,xdg-open https://forum.maboxlinux.org") + out+=(" Website,xdg-open https://maboxlinux.org") + out+=(" Manual,xdg-open https://manual.maboxlinux.org") + out+=(" Developer Blog,xdg-open https://blog.maboxlinux.org") + out+=("^sep()") + out+=(" Mabox on Distrowatch,xdg-open https://distrowatch.com/table.php?distribution=mabox") + out+=("^sep(Social media)") + out+=(" Reddit,xdg-open https://old.reddit.com/r/MaboxLinux/") + out+=(" Youtube,xdg-open https://www.youtube.com/c/MaboxLinux") + out+=(" Odysee,xdg-open https://odysee.com/@mabox-linux:8") + out+=(" Facebook,xdg-open https://facebook.com/maboxlinux/") + out+=(" Twitter,xdg-open https://twitter.com/MaboxLinux/") + out+=("󰙯 Discord,xdg-open https://discord.com/invite/kFAuuh8GEw") + out+=("^sep(Do you like Mabox?)") + out+=(" Support Mabox,xdg-open https://maboxlinux.org/donate/") + ;; +esac + +out+=("${arrow_string_left} ${arrow_string_left} ${arrow_string_left},^back()") + +out+=("^tag(menus)") +out+=("^sep($_SIDE_LEFT)") +[[ $places_quicknav == false ]] && out+=("${cboff} $QUICK_NAV,mb-setvar places_quicknav=true;$me menus") || out+=("${cbon} $QUICK_NAV,mb-setvar places_quicknav=false;$me menus") +[[ $places_bookmarks == false ]] && out+=("${cboff} $_BOOKMARKS,mb-setvar places_bookmarks=true;$me menus") || out+=("${cbon} $_BOOKMARKS,mb-setvar places_bookmarks=false;$me menus") +if [[ -x "$(command -v VBoxManage)" ]]; then +[[ $places_vboxes == false ]] && out+=("${cboff} $_VBOXES,mb-setvar places_vboxes=true;$me menus") || out+=("${cbon} $_VBOXES,mb-setvar places_vboxes=false;$me menus") +fi +[[ $places_maboxtools == false ]] && out+=("${cboff} $_MABOX_TOOLS,mb-setvar places_maboxtools=true;$me menus") || out+=("${cbon} $_MABOX_TOOLS,mb-setvar places_maboxtools=false;$me menus") +out+=("^sep()") +out+=(" $_CUSTOM_COMMANDS ($_TOP), xdg-open $HOME/.config/mabox/places-prepend.csv") +out+=(" $_CUSTOM_COMMANDS ($_BOTTOM), xdg-open $HOME/.config/mabox/places-append.csv") +out+=("^sep()") +out+=("$_RESET $_CUSTOM_COMMANDS,^checkout(splccommands)") +out2+=("^tag(splccommands)") +out2+=("^sep($_RESET $_CUSTOM_COMMANDS)") +out2+=("^sep($_IN_LEFT)") +out2+=("$_RESET,mb-reset leftpanel") + + +out+=("^sep($_MAINMENU_SETTINGS)") + +[[ $search_field = "false" ]] && out+=("${cboff} $_SEARCH_FIELD,mb-setvar search_field=true;$me menus")||out+=("${cbon} $_SEARCH_FIELD,mb-setvar search_field=false;$me menus") +[[ $apps_in_submenu == "true" ]] && out+=("${cbon} $_APPS_SUB,mb-setvar apps_in_submenu=false;$me menus") || out+=("${cboff} $_APPS_SUB,mb-setvar apps_in_submenu=true;$me menus") +if [[ $jgmenu_use_icons == "true" ]];then +out+=("${cbon} $_ICONS,mb-setvar jgmenu_use_icons=false;$me menus") +out+=("$_ICON_SET [ $jgmenu_icon_theme ],^checkout(mmicons)") +out2+=("^tag(mmicons)") +out2+=("^sep($_ICON_SET)") +out2+=("Numix Square,mb-setvar jgmenu_icon_theme=Numix-Square;mb-setvar jgmenu_use_icons=true;$me menus") +out2+=("Numix Circle,mb-setvar jgmenu_icon_theme=Numix-Circle;mb-setvar jgmenu_use_icons=true;$me menus") +if [ -d /usr/share/icons/Papirus ];then +out2+=("Papirus,mb-setvar jgmenu_icon_theme=Papirus;mb-setvar jgmenu_use_icons=true;$me menus") +else +out2+=("$_INSTALL Papirus icons, pamac-installer papirus-icon-theme") +fi +if [ -d /usr/share/icons/BeautyLine ];then +out2+=("BeautyLine,mb-setvar jgmenu_icon_theme=BeautyLine;mb-setvar jgmenu_use_icons=true;$me menus") +else +out2+=("$_INSTALL BeautyLine icons, pamac-installer beautyline") +fi +if [ -d /usr/share/icons/Sardi-Arc ];then +out2+=("^sep()") +out2+=("Sardi,mb-setvar jgmenu_icon_theme=Sardi;mb-setvar jgmenu_use_icons=true;$me menus") +out2+=("Sardi-Orb-Colora,mb-setvar jgmenu_icon_theme=Sardi-Orb-Colora;mb-setvar jgmenu_use_icons=true;$me menus") +out2+=("Sardi-Flat,mb-setvar jgmenu_icon_theme=Sardi-Flat;mb-setvar jgmenu_use_icons=true;$me menus") +out2+=("Sardi-Flexible,mb-setvar jgmenu_icon_theme=Sardi-Flexible;mb-setvar jgmenu_use_icons=true;$me menus") +out2+=("Sardi-Mono,mb-setvar jgmenu_icon_theme=Sardi-Mono;mb-setvar jgmenu_use_icons=true;$me menus") +else +out2+=("^sep()") +out2+=("$_INSTALL Sardi icons, pamac-installer sardi-icons") +fi +else +out+=("${cboff} $_ICONS,mb-setvar jgmenu_use_icons=true;$me menus menus") +fi + +out+=("^sep()") +out+=(" $_CUSTOM_COMMANDS ($_FAVORITES), xdg-open $HOME/.config/mabox/favorites.csv") +out+=(" $_CUSTOM_COMMANDS ($_BELOW_APPS), xdg-open $HOME/.config/mabox/mainmenu_below_apps.csv") +out+=("$_RESET $_CUSTOM_COMMANDS,^checkout(ccommands)") +out2+=("^tag(ccommands)") +out2+=("^sep($_RESET $_CUSTOM_COMMANDS)") +out2+=("^sep($_IN_MAIN)") +out2+=("$_RESET,mb-reset mainmenu") + +out+=("^sep($_SIDE_RIGHT)") +#out2+=("^sep($_IN_RIGHT)") +out+=(" $_CUSTOM_COMMANDS ($_TOP), xdg-open $HOME/.config/mabox/right-prepend.csv") +out+=(" $_CUSTOM_COMMANDS ($_BOTTOM), xdg-open $HOME/.config/mabox/right-append.csv") +out+=("^sep()") +out+=("$_RESET $_CUSTOM_COMMANDS,^checkout(sprccommands)") +out2+=("^tag(sprccommands)") +out2+=("^sep($_RESET $_CUSTOM_COMMANDS)") +out2+=("^sep($_IN_RIGHT)") +out2+=("$_RESET,mb-reset rightpanel") + +out+=("^sep($_ALLMENU_SETTINGS)") +# FONTS +out+=("^sep($_FONTS)") +out+=("󰛖 $_TITLE_FONT [ $menu_sep_font_family $menu_sep_font_size ],^checkout(sptitlefont)") +out+=("󰛖 $_ITEM_FONT [ $menu_font_family $menu_font_size ],^checkout(spitemfont)") +out+=("$_LINEHEIGHT [$((item_height_factor / 2))%],^checkout(splineheight)") + +out2+=("^tag(spitemfont)") +out2+=("^sep($_ITEM_FONT)") +out2+=("󰛖 $_FONT_CUSTOM,mb-setfont menu_item;$me") +out2+=("^sep()") + +if [ -f "$HOME/.config/mabox/fonts.list" ];then + mapfile -t favfonts < <( grep -vE "^($|#)" ~/.config/mabox/fonts.list) +else + mapfile -t favfonts < <( grep -vE "^($|#)" /usr/share/mabox-colorizer/fonts.list) + cp /usr/share/mabox-colorizer/fonts.list ~/.config/mabox/ +fi + + if [ "${#favfonts[@]}" -gt 0 ];then + out2+=("^sep($_FONT_FAMILY)") + for fon in "${favfonts[@]}";do + [[ "$menu_font_family" == "$fon" ]] && out2+=("${ron} ${fon},$me menus") || out2+=("${roff} ${fon},mb-setvar \"menu_font_family='${fon}'\";$me menus") + done + fi + out2+=("^sep()") + out2+=(" $_EDIT_FAVFONTS,geany ~/.config/mabox/fonts.list") + out2+=("^sep($_FONT_SIZE)") + out2+=("󰧴 $_INCREASE $((menu_font_size+1)) px,mb-setvar menu_font_size=$((menu_font_size+1));$me menus") + out2+=("󰧳 $_DECREASE $((menu_font_size-1)) px,mb-setvar menu_font_size=$((menu_font_size-1));$me menus") + out2+=("^sep()") + sizes=(14 13 12 11 10 9 8) + for i in "${sizes[@]}" + do + [[ "$menu_font_size" == "$i" ]] && out2+=("${ron} $i px,$me") || out2+=("${roff} $i px,mb-setvar menu_font_size=$i;$me menus") + done + + +out2+=("^tag(sptitlefont)") +out2+=("^sep($_TITLE_FONT)") +out2+=("󰛖 $_FONT_CUSTOM,mb-setfont menu_sep;$me menus") +out2+=("^sep()") + +if [ "${#favfonts[@]}" -gt 0 ];then + out2+=("^sep($_FONT_FAMILY)") + for fon in "${favfonts[@]}";do + [[ "$menu_sep_font_family" == "$fon" ]] && out2+=("${ron} ${fon},$me") || out2+=("${roff} ${fon},mb-setvar \"menu_sep_font_family='${fon}'\";$me menus") + done + fi + out2+=("^sep()") + out2+=(" $_EDIT_FAVFONTS,geany ~/.config/mabox/fonts.list") + out2+=("^sep($_FONT_SIZE)") + out2+=("󰧴 $_INCREASE $((menu_sep_font_size+1)) px,mb-setvar menu_sep_font_size=$((menu_sep_font_size+1));$me menus") + out2+=("󰧳 $_DECREASE $((menu_sep_font_size-1)) px,mb-setvar menu_sep_font_size=$((menu_sep_font_size-1));$me menus") + out2+=("^sep()") + sizes=(14 13 12 11 10 9 8) + for i in "${sizes[@]}" + do + [[ "$menu_sep_font_size" == "$i" ]] && out2+=("${ron} $i px,$me menus") || out2+=("${roff} $i px,mb-setvar menu_sep_font_size=$i;$me menus") + done + +out2+=("^tag(splineheight)") + for i in 160 180 200 240 280 320 400; do + [[ "${item_height_factor}" == "$i" ]] && out2+=("${ron} $((i / 2))%,$me menus") || out2+=("${roff} $((i / 2))%,mb-setvar item_height_factor=${i};$me menus") + done + + +### MENU THEMES +out+=("^sep($_COLOR_SCHEME)") + +out+=("$_RANDTHEME,jgctl randomscheme;$me menus") +out+=("$_CHOOSE ,mb-jgtools mstylesel") +#out+=("$_CHOOSE ,^checkout(spmotywy)") +#out2+=("^tag(spmotywy)") + +#for item in /usr/share/mb-jgtools/jgobthemes/*colorrc; do +# theme="${item##*/}" +# #notify-send.sh "th" "$item" +# out2+=("${theme%.*},jgctl applyoldscheme ${item};$me menus") +#done +out+=(" Menu Colorizer (advanced),colorizer-menus -s") + + + +out+=("^sep()") +out+=("${arrow_string_left} ${arrow_string_left} ${arrow_string_left},^back()") + +printf '%s\n' "${out[@]}" +printf '%s\n' "${out2[@]}" +} + WEBBROWSER="exo-open --launch WebBrowser" OSNAME=$(lsb_release -d | awk '{print $2}') @@ -86,90 +618,7 @@ OSVERSION=$(lsb_release -r | awk '{print $2}') #OSCODE=$(lsb_release -c | awk '{print $2}') OSCODE=$(grep CODENAME /etc/lsb-release |cut -d '=' -f2) -mkconfigfile() { -cat < ${CONFIG_FILE} -position_mode = ${POSITION_MODE:-fixed} -csv_cmd = apps -stay_alive = 0 -hide_back_items = ${HIDE_BACK_ITEMS:-0} -terminal_exec = terminator -terminal_args = -e -tabs = ${TABS:-220} -menu_border = ${jgtools_border:-0} - -# MENU MARGIN -menu_margin_x = ${menu_margin_x:-0} -menu_margin_y = ${MENU_MARGIN_Y:-0} -sub_spacing = ${submenu_spacing:-0} - -menu_width = ${JGWIDTH:-40} -menu_height_min = ${MENU_HEIGHT_MIN:-0} -menu_height_max = ${MENU_HEIGHT_MAX:-0} -menu_padding_top = ${MENU_PADDING_TOP:-70} -menu_padding_right = ${jgtools_padding:-0} -menu_padding_bottom = ${jgtools_padding:-0} -menu_padding_left = ${jgtools_padding:-0} -menu_radius = ${MENU_RADIUS:-0} -menu_valign = ${MENU_VALIGN:-top} -menu_halign = ${MENU_HALIGN:-left} - -item_height = $((menu_font_size*item_height_factor/100)) -item_halign = ${ITEM_HALIGN:-left} -item_padding_x = 4 - -item_margin_x = ${item_margin_x:-0} -item_margin_y = ${item_margin_y:-1} -item_radius = ${item_radius:-2} -item_border = ${item_border:-0} -arrow_string = ${arrow_string:-} - -columns = ${COLUMNS:-1} -menu_gradient_pos = ${menu_gradient_pos:-none} -color_menu_bg = ${color_menu_bg:-#222222 80} -color_menu_bg_to = ${color_menu_bg_to:- #000000 100} -color_menu_border = ${color_menu_border:-#2f9b85 100} -color_norm_bg = ${color_norm_bg:-#000000 0} -color_norm_fg = ${color_norm_fg:-#CCCCCC 100} -color_sel_bg = ${color_sel_bg:-#169f6f 60} -color_sel_fg = ${color_sel_fg:-#f8f8f8 100} -color_sel_border = ${color_sel_border:-#504e65 100} -color_sep_fg = ${color_sep_fg:-#4D4D4D 100} -color_sep_bg = ${color_sep_bg:-#169f6f 100} -color_title_fg = ${color_title_fg:-#4D4D4D 100} -color_title_border = ${color_title_border:-#169f6f 100} -color_title_bg = ${color_title_bg:-#169f6f 100} -color_scroll_ind = ${color_scroll_ind:-#504e65 100} - -sep_markup = font='${menu_sep_font:-${jgmenu_font}}' -sep_halign = ${sep_halign:-center} -sep_height = ${sep_height:-5} -font = ${jgmenu_font:-Noto Sans Medium 9} - -icon_size = $((icons*menu_font_size*item_height_factor/100)) -icon_norm_alpha = 70 -icon_sel_alpha = 100 - -icon_text_spacing = $((iconmargin+8)) -icon_theme = ${jgmenu_icon_theme:-Numix-Square} -EOF - -case $jgmenu_theme in - default) - ;; - obtheme) - 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 [ ! -f "$HOME/.config/mabox/jgobthemes/${wm_theme// /_}.colorrc" ]; then - obtheme2jgmenu - fi -cat "$HOME/.config/mabox/jgobthemes/${wm_theme// /_}.colorrc" >> $CONFIG_FILE - ;; - *) -cat "$HOME/.config/mabox/jgobthemes/${jgmenu_theme}.colorrc" >> $CONFIG_FILE - ;; -esac - -} +. /usr/share/mb-jgtools/jgtools.inc #MENU GŁÓWNE main() { @@ -191,7 +640,7 @@ case "$1" in esac MENU_MARGIN_Y=80 -HIDE_BACK_ITEMS=1 +#HIDE_BACK_ITEMS=1 panels_topmargin=0 case $LANG in @@ -246,7 +695,7 @@ SEARCH_TEXT="" SEARCH_FIELD="" else MENU_PADDING_TOP=$((jgtools_padding + 24)) -SEARCH_TEXT="@text,,$((jgtools_padding + 24)),$((jgtools_padding + 4)),150,20,0,left,top,auto,#000000," +SEARCH_TEXT="@text,,$((jgtools_padding + 24)),$((jgtools_padding + 4)),150,20,0,left,top,auto,#000000," SEARCH_FIELD="@search,,$((jgtools_padding + 38)),$((jgtools_padding + 4)),150,20,2,left,top,auto,#000000 0,$TYPE_TO_SEARCH" fi @@ -274,12 +723,11 @@ $EXIT,mb-jgtools mblogout,system-shutdown ^tag($SETTINGS) . ~/.config/mabox/settings.csv -^sep($HELP) -$UGUIDE,^checkout(userguide),distributor-logo-mabox -Mabox Forum,xdg-open https://forum.maboxlinux.org/,distributor-logo-mabox +#^sep($HELP) +#$UGUIDE,^checkout(userguide),distributor-logo-mabox -^tag(userguide) -. /usr/share/mb-jgtools/userguide.csv +#^tag(userguide) +#. /usr/share/mb-jgtools/userguide.csv . ~/.config/mabox/settings_tags.csv ^tag(apps) @@ -302,18 +750,16 @@ $SCREENSHOT,mb-jgtools screenshot,emblem-photos ^sep() $LOCKSCR,mbscreenlocker,system-lock-screen ^sep() -$WALLMENU,jgwallpaperchanger -s,wallpaper -^sep() $EXIT,mb-jgtools mblogout,system-shutdown ^tag($SETTINGS) . ~/.config/mabox/settings.csv -^sep($HELP) -$UGUIDE,^checkout(userguide),distributor-logo-mabox -MaboxForum,xdg-open https://forum.maboxlinux.org/,distributor-logo-mabox +#^sep($HELP) +#$UGUIDE,^checkout(userguide),distributor-logo-mabox -^tag(userguide) -. /usr/share/mb-jgtools/userguide.csv + +#^tag(userguide) +#. /usr/share/mb-jgtools/userguide.csv . ~/.config/mabox/settings_tags.csv EOF @@ -321,11 +767,12 @@ EOF fi -[[ "$jgmenu_use_icons" == "false" ]] && icons=0 iconmargin=0 || icons=1 iconmargin=2 +[[ "$jgmenu_use_icons" == "false" ]] && icons=0 iconmargin=0 || icons=1 iconmargin=8 mkconfigfile CACHE_DIR="$HOME/.cache/mmenu" mkdir -p ${CACHE_DIR} +echo menu_height_mode=dynamic >> ${CONFIG_FILE} XDG_CACHE_HOME=${CACHE_DIR} jgmenu --config-file=${CONFIG_FILE} 2>/dev/null #trap 'on_exit' EXIT } @@ -350,10 +797,11 @@ menu_margin_x=${submenu_spacing:-0} #### Compact or full height if [[ $panels_heightpos == "full" ]]; then eval $(xdotool getdisplaygeometry --shell) - MENU_HEIGHT_MIN="$HEIGHT" + MENU_HEIGHT_MAX="$((HEIGHT - 80))" MENU_HEIGHT_MAX=$MENU_HEIGHT_MIN MENU_RADIUS="0" menu_margin_x="0" + MENU_MARGIN_Y=40 elif [[ $panels_heightpos == "top" ]]; then MENU_VALIGN="top" MENU_MARGIN_Y=${panels_topmargin:-0} @@ -367,7 +815,9 @@ fi case $LANG in pl*) TYPE_TO_SEARCH="pisz, aby wyszukać" - SOFT_MANAGEMENT="Zarządzanie oprogramowaniem" + _MY_COMMANDS="Moje polecenia" + _EDIT_OWN_COMMANDS="Edytuj własne komendy" + SOFT_MANAGEMENT="Zarządzanie oprogramowaniem" PAMAC_UPDATE="Aktualizacja systemu (Pamac)" CLI_UPDATE="Aktualizacja systemu (cli)" PAMAC="Menadżer pakietów - Pamac" @@ -412,10 +862,13 @@ case $LANG in THEME_MNGR="Menadżer schematów" UGUIDE_TITLE="Przewodnik Użytkownika Mabox" UGUIDE=". /usr/share/mb-jgtools/userguide_PL.csv" - FINISHED=" Finished! Press ENTER to quit" + FINISHED=" Zakończono! Wciśnij ENTER by wyjść" + _MENU_SETTINGS="ustawienia menu" ;; es*) TYPE_TO_SEARCH="Buscar" + _MY_COMMANDS="My commands" + _EDIT_OWN_COMMANDS="Edit own commands" SOFT_MANAGEMENT="Agregar/Quitar Software" PAMAC_UPDATE="Actualizar el sistema(Tienda)" CLI_UPDATE="Actualizar en la terminal (cli)" @@ -462,10 +915,13 @@ case $LANG in UGUIDE_TITLE="Mabox User Guide" UGUIDE=". /usr/share/mb-jgtools/userguide.csv" FINISHED=" Finished! Press ENTER to quit" + _MENU_SETTINGS="menu settings" ;; *) TYPE_TO_SEARCH="type to search" - SOFT_MANAGEMENT="Software management" + _MY_COMMANDS="My commands" + _EDIT_OWN_COMMANDS="Edit own commands" + SOFT_MANAGEMENT="Software management" PAMAC_UPDATE="System update (Pamac)" CLI_UPDATE="System update (cli)" PAMAC="Pamac" @@ -511,10 +967,11 @@ case $LANG in UGUIDE_TITLE="Mabox User Guide" UGUIDE=". /usr/share/mb-jgtools/userguide.csv" FINISHED=" Finished! Press ENTER to quit" + _MENU_SETTINGS="menu settings" ;; esac -[ $jgmenu_use_icons == false ] && icons=0 iconmargin=0 || icons=1 iconmargin=2 +[ $jgmenu_use_icons == false ] && icons=0 iconmargin=0 || icons=1 iconmargin=8 if [ $panels_heightpos == "full" ]; then @@ -543,14 +1000,14 @@ cat < ${RHEAD} @text,,$((jgtools_padding + 100)),$((jgtools_padding + 10)),200,30,0,left,top,#EEEEEE ,${WINCLR},$OSNAME Linux $OSVERSION $OSCODE #@icon,,$((jgtools_padding + 2)),$((jgtools_padding + 2)),48,48,4,left,top,,,/usr/share/icons/hicolor/48x48/apps/distributor-logo-mabox.png @rect,,$((jgtools_padding + 4)),$((jgtools_padding + 120)),160,22,0,left,top,#222222 50,#222222 80, -@search,,$((jgtools_padding + 8)),$((jgtools_padding + 120)),292,20,4,left,top,#EEEEEE,##EEEEEE,""" $TYPE_TO_SEARCH""" +@search,,$((jgtools_padding + 8)),$((jgtools_padding + 120)),292,20,4,left,top,#EEEEEE,##EEEEEE,""" $TYPE_TO_SEARCH""" EOF else cat < ${RHEAD} #@icon,,$((jgtools_padding + 2)),$((jgtools_padding + 10)),48,48,4,left,top,,,/usr/share/icons/hicolor/48x48/apps/distributor-logo-mabox.png @text,,$((jgtools_padding + 56)),$((jgtools_padding + 10)),200,20,4,left,top,auto,#111111,$OSNAME $OSVERSION $OSCODE @text,,$((jgtools_padding + 56)),$((jgtools_padding + 30)),200,20,4,left,top,auto,#444444,$USER@$HOSTNAME -@search,,$((gtools_padding + 80)),$((jgtools_padding + 50)),292,20,4,left,top,auto,#262626,""" $TYPE_TO_SEARCH""" +@search,,$((gtools_padding + 80)),$((jgtools_padding + 50)),292,20,4,left,top,auto,#262626,""" $TYPE_TO_SEARCH""" EOF fi @@ -558,8 +1015,8 @@ mkconfigfile cat < ${MENU_ITEMS} . ${RHEAD} + $_MY_COMMANDS,^root(commands) -. $HOME/.config/mabox/right-prepend.csv ^sep($SETTINGS) #$MCC,mcc,mcc,distributor-logo-mabox @@ -587,6 +1044,14 @@ $SCREENSHOT,mb-jgtools screenshot,emblem-photos . $HOME/.config/mabox/right-append.csv . $HOME/.config/mabox/exit.csv +^sep() +󱁤 $_MENU_SETTINGS,mb-jgtools places menus +^tag(commands) +^sep($_MY_COMMANDS) +. $HOME/.config/mabox/right-prepend.csv +^sep() + $_EDIT_OWN_COMMANDS,xdg-open $HOME/.config/mabox/places-prepend.csv +${arrow_string_left} ${arrow_string_left} ${arrow_string_left},^back() ^tag(system) @@ -630,7 +1095,6 @@ ${arrow_string_left} $BACK,^back() Mabox Website,xdg-open https://maboxlinux.org/,distributor-logo-mabox Mabox Forum,xdg-open https://forum.maboxlinux.org/,distributor-logo-mabox Mabox Manual,xdg-open https://manual.maboxlinux.org/,distributor-logo-mabox -Donate,xdg-open https://ko-fi.com/maboxlinux,application-community ^sep(Manjaro) Stable Updates,xdg-open https://forum.manjaro.org/c/announcements/stable-updates/,distributor-logo-manjaro Manjaro Wiki,xdg-open https://wiki.manjaro.org,distributor-logo-manjaro @@ -659,7 +1123,6 @@ Conky Website,xdg-open http://conky.cc,conky Conky Github,xdg-open https://github.com/brndnmtthws/conky/wiki,conky Conky ArchWiki,xdg-open https://wiki.archlinux.org/index.php/Conky,conky -#. $HOME/.config/mabox/online-resources.csv ^sep() ${arrow_string_left} $BACK,^back() @@ -667,20 +1130,36 @@ EOF CACHE_DIR="$HOME/.cache/mrightpanel" mkdir -p ${CACHE_DIR} +echo menu_height_mode=dynamic >> ${CONFIG_FILE} XDG_CACHE_HOME=${CACHE_DIR} jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null } places() { #mb-setvar jgtools_last="\"places\"" +me="mb-jgtools places" + +case "$1" in + commands)option="--checkout=commands";; + docs)option="--checkout=docs";; + desktop)option="--checkout=desktop";; + menus)option="--checkout=menus";; + *)option="";; +esac + CONFIG_FILE=$(mktemp) MENU_ITEMS=$(mktemp) QNAV=$(mktemp) +MTOOLS=$(mktemp) LHEAD=$(mktemp) trap "rm -f ${CONFIG_FILE} ${MENU_ITEMS} ${QNAV} ${LHEAD}" EXIT case $LANG in pl*) + _MY_COMMANDS="Moje polecenia" + _DOCS="Dokumentacja+" + _DESKTOP_SETTINGS="Ustawienia Pulpitu Mabox" + _MENU_SETTINGS="Ustawienia Menu" QUICK_NAV="Szybka nawigacja" HOME_DIR="Katalog Domowy" ROOTDIR="Katalog główny" @@ -699,11 +1178,17 @@ case $LANG in DESKTOPS="Pulpity i Okna" SUPERCLICK="SuperClick" WALLCHANGER="Tapety i stylizacja pulpitu" - _MUSIC_SOUND_MENU="Music & Sound menu" + _MUSIC_SOUND_MENU="Menu Muzyka & Dźwięki" LOCKSCREEN="Blokada Ekranu" MBHELPER="Paleta komend" + _EDIT_OWN_COMMANDS="Edytuj własne komendy" + _MENU_SETTINGS="ustawienia menu" ;; es*) + _MY_COMMANDS="My Commands" + _DOCS="Docs & Helpers" + _DESKTOP_SETTINGS="Mabox Desktop Settings" + _MENU_SETTINGS="Menu Settings" QUICK_NAV="Navegación rápida" HOME_DIR="Carpeta personal" ROOTDIR="Directorio raíz" @@ -725,8 +1210,14 @@ case $LANG in _MUSIC_SOUND_MENU="Music & Sound menu" LOCKSCREEN="Screen Locker" MBHELPER="Cmd palette" + _EDIT_OWN_COMMANDS="Edit own commands" + _MENU_SETTINGS="menu settings" ;; *) + _MY_COMMANDS="My Commands" + _DOCS="Docs & Helpers" + _DESKTOP_SETTINGS="Mabox Desktop Settings" + _MENU_SETTINGS="Menu Settings" QUICK_NAV="Quick Navigation" HOME_DIR="Home Directory" ROOTDIR="Main Directory" @@ -748,6 +1239,8 @@ case $LANG in _MUSIC_SOUND_MENU="Music & Sound menu" LOCKSCREEN="Screen Locker" MBHELPER="Cmd palette" + _EDIT_OWN_COMMANDS="Edit own commands" + _MENU_SETTINGS="menu settings" ;; esac @@ -759,10 +1252,10 @@ menu_margin_x=${submenu_spacing:-0} #### Compact or full height if [[ $panels_heightpos == "full" ]]; then eval $(xdotool getdisplaygeometry --shell) -MENU_HEIGHT_MIN="$HEIGHT" -MENU_HEIGHT_MAX=$MENU_HEIGHT_MIN +MENU_HEIGHT_MAX="$((HEIGHT - 88))" MENU_RADIUS="0" menu_margin_x="0" +MENU_MARGIN_Y=44 elif [[ $panels_heightpos == "top" ]]; then MENU_VALIGN="top" MENU_MARGIN_Y=${panels_topmargin:-0} @@ -774,10 +1267,11 @@ else fi +TABS=200 JGWIDTH=40 icons=0 iconmargin=0 -MENU_PADDING_TOP=$((jgtools_padding + 60)) +#MENU_PADDING_TOP=$((jgtools_padding + 60)) #BOTTOM_IMG=${places_bottom_img:-/usr/share/mb-jgtools/mabox_3D_silver.png} #if [[ $places_softwarepipe || $places_sysinfopipe || $places_keyspipe ]];then pipeseparator="^sep($PIPEMENUS)";fi @@ -787,10 +1281,10 @@ if [ $places_quicknav == true ];then cat < ${QNAV} ^sep($QUICK_NAV) $ROOTDIR,^pipe(jgbrowser /),folder - $HOME_DIR,^pipe(jgbrowser),folder-home +󰋜 $HOME_DIR,^pipe(jgbrowser),folder-home $(basename $(xdg-user-dir DOWNLOAD)),^pipe(jgbrowser $(xdg-user-dir DOWNLOAD)),folder-download $(basename $(xdg-user-dir DOCUMENTS)),^pipe(jgbrowser $(xdg-user-dir DOCUMENTS)),folder-documents - $(basename $(xdg-user-dir MUSIC)),^pipe(jgbrowser $(xdg-user-dir MUSIC)),folder-music + 󰎇 $(basename $(xdg-user-dir MUSIC)),^pipe(jgbrowser $(xdg-user-dir MUSIC)),folder-music $(basename $(xdg-user-dir PICTURES)),^pipe(jgbrowser $(xdg-user-dir PICTURES)),folder-pictures $(basename $(xdg-user-dir VIDEOS)),^pipe(jgbrowser $(xdg-user-dir VIDEOS)),folder-video EOF @@ -798,19 +1292,36 @@ else QNAV="" fi -# PIPEMENUS -[ $places_menusettingspipe == true ] && menusettingspipe="󰍜 $MENUPANELS,^pipe(jgmenusettings-pipe -r)" && pipesep="^sep($PIPEMENUS)" -[ $places_tint2pipe == true ] && tint2pipe=" $TINT2SETTINGS,^pipe(jgtint2-pipe -r)" && pipesep="^sep($PIPEMENUS)" -[ $places_sysinfopipe == true ] && sysinfopipe=" $SYSINFO,^pipe(jgsysinfo-pipe -r)" && pipesep="^sep($PIPEMENUS)" -#[ $places_keyspipe == true ] && keyspipe=" $SHORTCUTS,^pipe(jgkeys-pipe -r)" && pipesep="^sep($PIPEMENUS)" +[ -v places_maboxtools ] && : || mb-setvar places_maboxtools=true +if [ $places_maboxtools == "true" ];then + +#[ $places_menusettingspipe == true ] && menusettingspipe="󰍜 $MENUPANELS,^pipe(jgmenusettings-pipe -r)" && pipesep="^sep($PIPEMENUS)" +#[ $places_sysinfopipe == true ] && sysinfopipe=" $SYSINFO,^pipe(jgsysinfo-pipe -r)" && pipesep="^sep($PIPEMENUS)" [ $places_sshpipe == true ] && sshpipe=" $SSH_CONN,^pipe(jgssh -r)" && pipesep="^sep($PIPEMENUS)" -[ $places_softwarepipe == true ] && softwarepipe=" $POPINSTALL,^pipe(jgsoftware-pipe -r)" && pipesep="^sep($PIPEMENUS)" -[[ $places_conkypipe == true || -z ${places_conkypipe} ]] && conkypipe=" $CONKYSETTINGS,colorizer-conky -s" && pipesep="^sep($PIPEMENUS)" +[ $places_softwarepipe == true ] && softwarepipe="󰊠 $POPINSTALL,^pipe(jgsoftware-pipe -r)" && pipesep="^sep($PIPEMENUS)" [[ $places_jgdeskmngr == true || -z ${places_jgdeskmngr} ]] && jgdeskmngr=" $DESKMNGR,^pipe(jgdeskmngr -r)" && pipesep="^sep($PIPEMENUS)" -[[ $places_jgdesktops == true || -z ${places_jgdesktops} ]] && jgdesktops=" $DESKTOPS,^pipe(jgdesktops -r)" && pipesep="^sep($PIPEMENUS)" [[ $places_jgdeskgrid == true || -z ${places_jgdeskgrid} ]] && jgdeskgrid=" $SUPERCLICK,jgdeskgrid -s" && pipesep="^sep($PIPEMENUS)" -[[ $places_jgwallpaperchanger == true || -z ${places_jgwallpaperchanger} ]] && jgwallpaperchanger=" $WALLCHANGER,jgwallpaperchanger -s" && pipesep="^sep($PIPEMENUS)" [[ $places_jglockscreen == true || -z ${places_jglockscreen} ]] && jglockscreen=" $LOCKSCREEN,^pipe(jglockscreen -r)" && pipesep="^sep($PIPEMENUS)" +cat < ${MTOOLS} +$pipesep +$softwarepipe +^sep() +$jgdeskgrid +$jglockscreen +$jgdeskmngr +$sshpipe +#󰌳 $_MUSIC_SOUND_MENU,mb-music -s +#$sysinfopipe +# $MBHELPER  + F1 ,mbhelper -s +#$menusettingspipe +^sep() + $_COLORIZER,ycolorizer +EOF +else +MTOOLS="" +fi + + # VBOXES if [[ -x "$(command -v VBoxManage)" ]]; then @@ -835,7 +1346,7 @@ JGWIDTH=$((jgtools_padding + 270 + jgtools_padding)) MENU_PADDING_TOP=$((jgtools_padding + 152)) cat < ${LHEAD} @icon,,$((jgtools_padding)),$((jgtools_padding)),270,150,4,left,top,,,${THUMB} -#@icon,,$((jgtools_padding - 6)),$((jgtools_padding - 6)),48,48,4,left,top,,,/usr/share/icons/hicolor/48x48/apps/mbcc.png + @rect,,$((jgtools_padding + 2)),$((jgtools_padding + 122)),240,22,0,left,top,#222222 20,#222222 70, @text,,$((jgtools_padding + 68)),$((jgtools_padding + 118)),180,30,0,left,top,#EEEEEE ,${WINCLR},$OSNAME Linux $OSVERSION $OSCODE #@text,,$((jgtools_padding + 62)),$((jgtools_padding + 30)),180,20,4,left,top,#222222,#444444,$USER@$HOSTNAME @@ -852,37 +1363,24 @@ mkconfigfile cat < ${MENU_ITEMS} . ${LHEAD} - -. $HOME/.config/mabox/places-prepend.csv + $_MY_COMMANDS,^root(commands) + $_DOCS,^root(docs) + $_DESKTOP_SETTINGS,^root(desktop) +# $_MENU_SETTINGS,^root(menus) +#. $HOME/.config/mabox/places-prepend.csv . ${QNAV} - $(gtkbookmarks) -$pipesep -$softwarepipe -$tint2pipe -$jgwallpaperchanger - $_CONFIG_FONTS,colorizer-fonts -s - $PICOMSETTINGS,jgpicom-pipe -s -$conkypipe -^sep() - $_COLORIZER,colorizer -s -^sep() -$jgdeskgrid -$jgdesktops -$jglockscreen -$jgdeskmngr - $_MUSIC_SOUND_MENU,mb-music -s -$sysinfopipe -$sshpipe -# $MBHELPER  + F1 ,mbhelper -s -$menusettingspipe +. ${MTOOLS} + ${vboxes} . $HOME/.config/mabox/places-append.csv +󱁤 $_MENU_SETTINGS,^root(menus) +$(tabs) EOF - -jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null +echo menu_height_mode=dynamic >> ${CONFIG_FILE} +jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} ${option} 2>/dev/null } mblogout() { @@ -922,7 +1420,7 @@ JGWIDTH=$((jgtools_padding + 270 + jgtools_padding)) MENU_PADDING_TOP=$((jgtools_padding + 152)) TABS="200" icons=1 -iconmargin=2 +iconmargin=12 item_height_factor=300 #jgmenu_font="Noto Sans Medium 11" @@ -989,7 +1487,7 @@ cat < ${MENU_ITEMS} . $HOME/.config/mabox/exit.csv $(printf '%s\n' "${SW[@]}") ^sep() -$CANCEL esc,exit 1,gtk-close +$CANCEL esc,exit 1,gtk-close $(printf '%s\n' "${SW2[@]}") EOF CACHE_DIR="$HOME/.cache/mblogout" @@ -1147,21 +1645,21 @@ fi mkconfigfile out+=("^sep($SCRNSHOTS [$EXT])") -out+=(" $FULLSCR,^root(full)") +out+=(" 󰀟 $FULLSCR,^root(full)") out+=(" $ACTIVE_WIN,^root(window)") out+=(" $ACTIVE_WIN_NO_DECOR,^root(borderless)") -out+=(" $SELECTED,^root(selected)") +out+=(" 󰆞 $SELECTED,^root(selected)") #  Multimonitor, scrot -m $IMG -e $VIEW out+=("^sep()") out+=(" $OPEN_SCR_DIR,xdg-open $(xdg-user-dir PICTURES)/screenshots") out+=("^sep()") -out+=(" $OPTIMIZE_IMG ,xdg-open https://squoosh.app") +out+=(" $OPTIMIZE_IMG ,xdg-open https://squoosh.app") out+=("^sep($SCRNREC [$container ${AUD} $framerate fps])") -out+=(" $FULLREC,mb-screenrec -f") -out+=(" $AREA,mb-screenrec -a") +out+=(" 󰀟 $FULLREC,mb-screenrec -f") +out+=(" 󰆞 $AREA,mb-screenrec -a") out+=("^sep()") out+=(" $OPEN_REC_DIR,xdg-open $(xdg-user-dir VIDEOS)/Recordings") @@ -1173,10 +1671,10 @@ out+=(" $SETTINGS,^root(settings)") #out+=("  $CANCEL esc,exit 1") out+=("^tag(full)") out+=("^sep($FULLSCR )") -out+=(" $NOW,scrot $IMG -e $VIEW") -out+=(" $SEC5,scrot -d 5 $IMG -e $VIEW") -out+=(" $SEC10,scrot -d 10 $IMG -e $VIEW") -out+=(" $SEC15,scrot -d 15 $IMG -e $VIEW") +out+=(" 󰀟 $NOW,maim $IMG;viewnior ${IMG}") +out+=(" 󰀟 $SEC5,maim -d 5 $IMG;viewnior ${IMG}") +out+=(" 󰀟 $SEC10,maim -d 10 $IMG;viewnior ${IMG}") +out+=(" 󰀟 $SEC15,maim -d 15 $IMG;viewnior ${IMG}") out+=("^sep()") out+=(" ${arrow_string_left} $BACK,^back()") out+=("^tag(window)") @@ -1197,21 +1695,21 @@ out+=("^sep()") out+=(" ${arrow_string_left} $BACK,^back()") out+=("^tag(selected)") out+=("^sep($SELECTED)") -out+=(" $NOW,\"\"\"maim -s -l -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") -out+=(" $SEC5,\"\"\"maim -s -l --delay=5 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") -out+=(" $SEC10,\"\"\"maim -s -l --delay=10 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") -out+=(" $SEC15,\"\"\"maim -s -l --delay=15 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") +out+=(" 󰆞 $NOW,\"\"\"maim -s -l -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") +out+=(" 󰆞 $SEC5,\"\"\"maim -s -l --delay=5 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") +out+=(" 󰆞 $SEC10,\"\"\"maim -s -l --delay=10 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") +out+=(" 󰆞 $SEC15,\"\"\"maim -s -l --delay=15 -b 3 --color=0.3,0.4,0.6,0.4 ${IMG};viewnior ${IMG}\"\"\"") out+=("^sep()") out+=(" ${arrow_string_left} $BACK,^back()") out+=("^tag(settings)") out+=("^sep($EXTENSION)") -[[ "${EXT}" == "webp" ]] && out+=(" WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${EXT}" == "png" ]] && out+=(" PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${EXT}" == "jpg" ]] && out+=(" JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${EXT}" == "webp" ]] && out+=("${ron} WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} WebP (.webp),mb-setvar image_extension=webp ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${EXT}" == "png" ]] && out+=("${ron} PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} PNG (.png),mb-setvar image_extension=png ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${EXT}" == "jpg" ]] && out+=("${ron} JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} JPG (.jpg),mb-setvar image_extension=jpg ${CNF_FILE};mb-jgtools screenshot ipc") out+=("^sep($VIDEOSETTINGS)") -[[ "${AUD}" == "audio" ]] && out+=(" $REC_AUDIO,mb-setvar record_audio=no ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" $REC_AUDIO,mb-setvar record_audio=yes ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${AUD}" == "audio" ]] && out+=("${cbon} $REC_AUDIO,mb-setvar record_audio=no ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${cboff} $REC_AUDIO,mb-setvar record_audio=yes ${CNF_FILE};mb-jgtools screenshot ipc") out+=("$FORMAT [ ${container} ],^checkout(format)") out+=("$FRAMERATE [ ${framerate} ],^checkout(framerate)") out+=("^sep()") @@ -1220,17 +1718,17 @@ out+=(" ${arrow_string_left} $BACK,^back()") out+=("^tag(format)") out+=("^sep($FORMAT)") -[[ "$container" == "webm" ]] && out+=(" WebM,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" WebM,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "$container" == "mkv" ]] && out+=(" MKV,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" MKV,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "$container" == "mp4" ]] && out+=(" MP4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" MP4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "$container" == "webm" ]] && out+=("${ron} WebM,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} WebM,mb-setvar container=webm ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "$container" == "mkv" ]] && out+=("${ron} MKV,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} MKV,mb-setvar container=mkv ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "$container" == "mp4" ]] && out+=("${ron} MP4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} MP4,mb-setvar container=mp4 ${CNF_FILE};mb-jgtools screenshot ipc") out+=("^tag(framerate)") out+=("^sep($FRAMERATE)") -[[ "${framerate}" == "60" ]] && out+=(" 60,mb-setvar framerate=60 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 60,mb-setvar framerate=60 ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${framerate}" == "30" ]] && out+=(" 30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${framerate}" == "25" ]] && out+=(" 25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${framerate}" == "24" ]] && out+=(" 24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${framerate}" == "15" ]] && out+=(" 15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc") -[[ "${framerate}" == "10" ]] && out+=(" 10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=(" 10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "60" ]] && out+=("${ron} 60,mb-setvar framerate=60 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 60,mb-setvar framerate=60 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "30" ]] && out+=("${ron} 30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 30,mb-setvar framerate=30 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "25" ]] && out+=("${ron} 25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 25,mb-setvar framerate=25 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "24" ]] && out+=("${ron} 24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 24,mb-setvar framerate=24 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "15" ]] && out+=("${ron} 15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 15,mb-setvar framerate=15 ${CNF_FILE};mb-jgtools screenshot ipc") +[[ "${framerate}" == "10" ]] && out+=("${ron} 10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc") || out+=("${roff} 10,mb-setvar framerate=10 ${CNF_FILE};mb-jgtools screenshot ipc") cat < ${MENU_ITEMS} @@ -1240,6 +1738,7 @@ $(printf '%s\n' "${out[@]}") EOF #cat "${MENU_ITEMS}" +echo menu_height_mode=dynamic >> ${CONFIG_FILE} jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null } @@ -1255,7 +1754,7 @@ HIDE_BACK_ITEMS=1 MENU_PADDING_TOP=${jgtools_padding:-0} TABS="90" -[ $jgmenu_use_icons == false ] && icons=0 iconmargin=0 || icons=1 iconmargin=2 +[ $jgmenu_use_icons == false ] && icons=0 iconmargin=0 || icons=1 iconmargin=8 mkconfigfile @@ -1266,6 +1765,76 @@ cat < ${MENU_ITEMS} EOF jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null } +mstylesel(){ +case $LANG in + pl*) + _RANDTHEME="Losowy" + + ;; + *) + _RANDTHEME="Random" + ;; +esac +last="${1}" +me="mb-jgtools mstylesel" +out+=("${arrow_string_left} ${arrow_string_left} ${arrow_string_left},mb-jgtools places menus") +out+=("^sep(Menu Colorscheme Selector)") +out+=("$_RANDTHEME,jgctl randomscheme;$me") +#out+=("_TWEAKS,^root(tweaks)") +out+=("^sep(Color schemes)") +for item in /usr/share/mb-jgtools/jgobthemes/*colorrc; do + theme="${item##*/}" + #notify-send.sh "th" "$item" + out+=("${theme%.*},jgctl applyoldscheme ${item};$me ${theme%.*}") +done +#out+=("^tag(tweaks)") +#out+=("^sep(Tweaks)") +#out+=("jgctl color_norm_bg 5,$me $last") +#out+=("back,^back()") + +menu_margin_x=${submenu_spacing:-0} +eval $(xdotool getdisplaygeometry --shell) +MENU_HEIGHT_MAX="$((HEIGHT - 80))" +MENU_RADIUS="0" +menu_margin_x="0" +MENU_MARGIN_Y=40 + +TABS=200 +JGWIDTH=40 +icons=0 +iconmargin=0 + +read WALLPATH<<< $(grep file "$HOME"/.config/nitrogen/bg-saved.cfg | tail -1 | cut -d'=' -f2) +THUMBDIR="$HOME/.cache/colorizer/thumbs" + mkdir -p ${THUMBDIR} + NAME=${WALLPATH////_} + if [[ "${NAME}" =~ ^_home_.* ]]; then + n=${#HOME} + ((n++)) + NAME=${NAME:${n}} + fi + THUMB="${THUMBDIR}/${NAME}.png" + if [[ ! -f "$THUMB" ]] + then + convert ${WALLPATH} -resize 270x150^ -gravity center -extent 270x150 ${THUMB} + fi +JGWIDTH=$((jgtools_padding + 270 + jgtools_padding)) +MENU_PADDING_TOP=$((jgtools_padding + 152)) + +cat < ${MENU_ITEMS} +@icon,,$((jgtools_padding)),$((jgtools_padding)),270,150,4,left,top,,,${THUMB} + +@rect,,$((jgtools_padding + 4)),$((jgtools_padding + 120)),160,22,0,left,top,#222222 50,#222222 80, +@search,,$((jgtools_padding + 8)),$((jgtools_padding + 120)),292,20,4,left,top,#EEEEEE,##EEEEEE,""" $TYPE_TO_SEARCH ${last}""" + +$(printf '%s\n' "${out[@]}") +EOF +mkconfigfile +echo menu_height_mode=dynamic >> ${CONFIG_FILE} +jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} ${option} 2>/dev/null + +} + #--------------------------------------------------------------------+ #Color picker, usage: printf $BLD$CUR$RED$BBLU'Hello World!'$DEF | @@ -1301,7 +1870,8 @@ case "$1" in mblogout) mblogout "$2";; settings) settings "$2";; screenshot) screenshot "$2";; - places) places;; + places) places "$2";; + mstylesel) mstylesel "$2";; *) echo -e " ${GRN}Kolekcja narzędzi dla Mabox-a stworzonych z pomocą Jgmenu