mxfb-2025 development ideas

Help for MX Fluxbox
When asking for help, use Quick System Info from MX Tools. It will be properly formatted using the following steps.
1. Click on Quick System Info in MX Tools
2. Right click in your post and paste.
Message
Author
User avatar
Jerry3904
Administrator
Posts: 23057
Joined: Wed Jul 19, 2006 6:13 am

Re: mxfb-2025 development ideas

#91 Post by Jerry3904 »

With all the customization that MXFB users enjoy, I greatly enjoy my go-to browser Vivaldi which runs on the Chromium engine but is regular-user centered, extremely well supported and highly creative. Background is interesting from our perspective.

It just had a nice upgrade and I set up a handsome home screen using a photo of mine and the minimal "icon" Speed Dial option. Am considering to propose making it default for MX-25 (with Firefox also installed)

Image
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
Jerry3904
Administrator
Posts: 23057
Joined: Wed Jul 19, 2006 6:13 am

Re: mxfb-2025 development ideas

#92 Post by Jerry3904 »

Dockmaker has served us well for 7 years or so, but I'm leaning toward a change.

In putting together an OpenBox respin for the Pi, I started using Plank for the first time ever. As probably everybody but me knows already, it works well, has a good Preferences dialogue and is easy to make look good. I'll post a screen grab later today of what I currently have.
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
Melber
Developer
Posts: 1201
Joined: Tue Mar 23, 2021 4:19 pm

Re: mxfb-2025 development ideas

#93 Post by Melber »

why not just use two tint2 panels?
One standard and one with only launcher.

User avatar
siamhie
Global Moderator
Posts: 3219
Joined: Fri Aug 20, 2021 5:45 pm

Re: mxfb-2025 development ideas

#94 Post by siamhie »

Jerry3904 wrote: Sat Oct 26, 2024 7:04 am With all the customization that MXFB users enjoy, I greatly enjoy my go-to browser Vivaldi which runs on the Chromium engine but is regular-user centered.

Am considering to propose making it default for MX-25 (with Firefox also installed)

I'm going to stick with LibreWolf now that Chrome is disabling extensions based on Manifest V2 and Vivaldi will follow suit sometime middle of June 2025.
uBO Lite is V3 ready but that version is also a watered down version of uBO (V2).
This is my Fluxbox . There are many others like it, but this one is mine. My Fluxbox is my best friend. It is my life.
I must master it as I must master my life. Without me, my Fluxbox is useless. Without my Fluxbox, I am useless.

User avatar
Eadwine Rose
Administrator
Posts: 14443
Joined: Wed Jul 12, 2006 2:10 am

Re: mxfb-2025 development ideas

#95 Post by Eadwine Rose »

You'd be amazed at some of the things UBO lite is better at. It blocks plenty on the full setting, and blocks the ads in facebook videos as well. Something the regular version was never able to do here.

Try the AdBlocker Ultimate extension, works pretty similar to regular UBO.
MX-23.6_x64 July 31 2023 * 6.1.0-34amd64 ext4 Xfce 4.20.0 * 8-core AMD Ryzen 7 2700
Asus TUF B450-Plus Gaming UEFI * Asus GTX 1050 Ti Nvidia 535.216.01 * 2x16Gb DDR4 2666 Kingston HyperX Predator
Samsung 870EVO * Samsung S24D330 & P2250 * HP Envy 5030

User avatar
Jerry3904
Administrator
Posts: 23057
Joined: Wed Jul 19, 2006 6:13 am

Re: mxfb-2025 development ideas

#96 Post by Jerry3904 »

Melber wrote: Mon Oct 28, 2024 8:36 am why not just use two tint2 panels?
One standard and one with only launcher.
Because tint2 is not at all quick or easy for new users to configure, while plank is totally available to everyone from the get-go.
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
dolphin_oracle
Developer
Posts: 22033
Joined: Sun Dec 16, 2007 12:17 pm

Re: mxfb-2025 development ideas

#97 Post by dolphin_oracle »

mxfb-menu-generator, modified to make a MX-Tools menu entry.

cut and pasting here, cuz I'm away from my git at the moment, but I had an itch...

**edit*** menu now sorted.

Code: Select all

#!/bin/bash

### mxfb-menu-generator: a tiny script to Create a (non dynamic) fluxbox menu using information on .desktop files, released by PPC, 7/10/2020, under GPLv3
### Modified by MX Linux Devs for use in MX-Fluxbox August 2021

### How to use this script:
### 1. Copy the script below and paste it into your text editor, saving it in your Home as MXFB_menu_generator.sh
### 2. Navigate to that file, right click it > Proprieties > "Permissions" tab > Check the last field, to allow this script to run as a program
### 3. Add the following entry to your menu to access "All Categories" anywhere you want 
#######################################################################################   
#[submenu] (All Apps)
#       [include] (~/.fluxbox/submenus/full_menu) 
#       [separator]
#       [include] (~/.fluxbox/full_menu)
#   [end]
#######################################################################################
### 4.- Now click Menu > All apps > Update menu. Wait for some seconds while the menu is generated

#ensure subfolder menu exists
if [ -d "$HOME/.fluxbox/submenus" ]; then
	mkdir -p "$HOME/.fluxbox/submenus" 
fi

#exit if in chroot
if [ "$UID" = "0" ]; then
  echo "mxfb-menu-generator:  in a chroot, exiting..."
  exit 0
fi

#exit if menu generation toggled off
if [ "$1" = "auto" ]; then
    if [ -e "$HOME/.fluxbox/mxfb-menu-generator-disabled.chk" ]; then
    exit 0
    fi
fi

#check time since last build
time=0
now=$(date +"%s")
if [ -e "$HOME/.fluxbox/submenus/full_menu" ]; then
   time=$(stat --format %Y $HOME/.fluxbox/submenus/full_menu)
fi

if [ $(($now-$time)) -lt 5 ]; then
	exit 0
fi 

Encoding=UTF-8
#
# use session locale
SESSION_LANG=$(sed -n '/^Language=/{s///; s/[.].*/.UTF-8/;p;q}' ~/.dmrc 2>/dev/null) ; 
LANG=${SESSION_LANG:=$LANG}

# i18n - Internationalization
#export TEXTDOMAIN=mxfb-accessories
export TEXTDOMAIN=mx-desktop-menu-l10n
export TEXTDOMAINDIR="/usr/share/locale"

CATEGORIES="Accessories Development Games Graphics Internet Multimedia MX-Tools MX-Live MX-Maintenance MX-Setup MX-Software MX-Utilities Office System Settings"
ALLAPPS=$(gettext "All Applications")
[ "$ALLAPPS" = "All Applications"  ] && ALLAPPS="All Apps"

echo Please wait, creating menu file - stored in ~/.fluxbox/submenus/full_menu ...

if [ ! -d $HOME/.fluxbox ]; then
	mkdir -p $HOME/.fluxbox
fi


cd $HOME/.fluxbox/
mkdir -p submenus
touch submenus/full_menu
FILE="$HOME/.fluxbox/submenus/full_menu"

#echo
#echo If you want to insert this 'All categories'  sub-menu into your MXFB menu:
#echo 'rootMenu > Settings > Configure > Menu'
#echo and insert, anywhere you want, this code:
#echo  ' [submenu] (All apps)'
#echo  '  [include] (~/.fluxbox/submenus/full_menu)'
#echo  '  [separator] '
#echo  '  [exec] (Update Menu) {mxfb-menu-generator} '
#echo  ' [end]'
#echo


#Get system language (to allow localization):
lang=${LANG%%_*}

#Loop through all .desktop files in the applications folder
#lang=fr

LIST="/usr/share/applications/*.desktop"

if [ -n "$(find /var/lib/flatpak/exports/share/applications/ -name *.desktop 2>/dev/null)" ]; then
	LIST="$LIST /var/lib/flatpak/exports/share/applications/*.desktop"
fi

if [ -n "$(find $HOME/.local/share/applications/ -name *.desktop 2>/dev/null)" ]; then
    LIST="$LIST $HOME/.local/share/applications/*.desktop"
fi

if [ -n "$(find $HOME/.local/share/flatpak/exports/share/applications/ -name *.desktop 2>/dev/null)" ]; then
    LIST="$LIST $HOME/.local/share/flatpak/exports/share/applications/*.desktop"
fi

if [ -n "$(find /usr/share/applications/antix/ -name *.desktop 2>/dev/null)" ]; then
    LIST="$LIST /usr/share/applications/antix/*.desktop"
fi

for file in $LIST
do

if [ -f "$file" ]; then
name1=$(grep -o -m 1 '^Name=.*' "$file")
 ### localized menu entries generator (slows the script down, but produces nearly perfect localized menus):
    name2=$name1
	translated_name1=$(grep -o -m 1 "^Name\[$lang\]=.*" "$file")
	[ -z "$translated_name1" ] && note="No localized name found, using the original one" || name2=$translated_name1
	#if the desktop file has the string "Desktop Action" simple use the original untranslated name, to avoid using a translation that's not the name of the app, but the action it does
	grep -q "Desktop Action" "$file" && name2=$name1
    name1=$name2
### end of localized menu entries generator	 

name=$(echo $name1|sed 's/.*\=//') 
command1="$(grep -o -m 1 '^Exec=.*' "$file")"
command=$(echo "$command1" |sed -E 's/Exec\=//g')
name=$(echo "$name" |sed 's/[()]//g')
terminal=$(grep -o -m 1 'Terminal=.*' "$file")
  if [[ $terminal == *"true"* ]]; then
   command=$(echo x-terminal-emulator -e $command) 
  fi
 categories=$(grep -o -m 1 'Categories=.*' "$file")


 nodisplay=$(grep -o -m 1 'NoDisplay=.*' "$file")
  if [[ $nodisplay == *"rue"* ]]; then
    Note="not adding this entry to menu because it has a nodisplay flag"
   else
    echo "[exec] ("$name ")" "{" $command "}" $categories
  fi
  fi
done > /tmp/list.txt

#process MX-Tools categories in temp list
sed -i "s/MX-Live/MX-Tools/" /tmp/list.txt
sed -i "s/MX-Maintenance/MX-Tools/" /tmp/list.txt
sed -i "s/MX-Setup/MX-Tools/" /tmp/list.txt
sed -i "s/MX-Software/MX-Tools/" /tmp/list.txt
sed -i "s/MX-Utilities/MX-Tools/" /tmp/list.txt
sort /tmp/list.txt > ~/.fluxbox/pre-global-menu.txt

rm $FILE

#fix for repeated synaptic menu entry- first instance does not run, so, delete it:
sed -i '/{ synaptic }/d' ~/.fluxbox/pre-global-menu.txt

#### Now divide applications into categories:
#This array has all the available .desktop file categories we want to have on the menu (note: the "." is a quick and dirty workaround, so the script ignores entry nr 0):
array1=( . Utility Development Game Graphics Network AudioVideo MX-Tools MX-Live MX-Maintenance MX-Setup MX-Software MX-Utilities Office System Settings)
#This array corresponds to the previous one, but it's the "user friendly name" that shows on the menu- NOTE: this can be translated to any language!
array2=( . $CATEGORIES)

#Begin LOCALIZATION OF Category sub-menus to a language - pt, add equivalent section for other languages:
#    if [[ $lang == *"pt"* ]];
#    then
#		array2=( . Acessórios Desenvolvimento Jogos Graficos Internet Multimédia Escritório Sistema 'Definições globais')
#		echo A criar submenus em Português
#    fi
#End LOCALIZATION OF Category sub-menus
    
#Create the header of the file
echo "[begin] ($ALLAPPS)" >> $FILE
#Loop through the array- the last number below has to match the number of entries on $array1
for i in {1..15};
do 
 #Create a submenu entry for the current item on $array2
 echo "[submenu] ($(gettext "${array2[$i]}"))"  >> $FILE
#Nested loop to check if the item on the current line of the "pre-global-menu.txt" file matches the current item on $array1, if it matches, add it to the "$FILE" file 
 while read p; 	do
		if [[ $p =~ ${array1[$i]} ]]
			then
				echo $p >> $FILE
		fi
	done <~/.fluxbox/pre-global-menu.txt ;
 echo '[end]' >> $FILE ;	  
done

#Process only entries that don't fit anywhere else:
sed -i '/Utility/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Development/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Game/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Graphics/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/AudioVideo/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Office/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/System/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Settings/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/Network/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Tools/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Live/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Maintenance/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Setup/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Software/d' ~/.fluxbox/pre-global-menu.txt
sed -i '/MX-Utilities/d' ~/.fluxbox/pre-global-menu.txt

#check if the file is not empty, create last submenu and populate it
file="~/.fluxbox/pre-global-menu.txt"
if [ -s "$file" ]
then 
 note="empty file, do nothing"
else
  echo "[submenu] ($(gettext "Other"))"  >> $FILE
  while read p; 	do
		echo $p >> $FILE
  done <~/.fluxbox/pre-global-menu.txt ;
echo '[end]' >> $FILE
fi

###Fix menu errors, so Libreoffice, etc, work without errors
delete="%U"
sed -e s/$delete//g -i $FILE
delete="%u"
sed -e s/$delete//g -i $FILE
delete="%F"
sed -e s/$delete//g -i $FILE
delete="%f"
sed -e s/$delete//g -i $FILE
echo Menu file created and ready to be used

#modify menu to remove empty mx-tools entries
sed -i '0,/\[submenu\] (MX-Live)/{//!b; :a; n; /\[end\]/d; ba;}' ~/.fluxbox/submenus/full_menu
sed -i "/\[submenu\] (MX-Live)/d" ~/.fluxbox/submenus/full_menu
sed -i '0,/\[submenu\] (MX-Maintenance)/{//!b; :a; n; /\[end\]/d; ba;}' ~/.fluxbox/submenus/full_menu
sed -i "/\[submenu\] (MX-Maintenance)/d" ~/.fluxbox/submenus/full_menu
sed -i '0,/\[submenu\] (MX-Setup)/{//!b; :a; n; /\[end\]/d; ba;}' ~/.fluxbox/submenus/full_menu
sed -i "/\[submenu\] (MX-Setup)/d" ~/.fluxbox/submenus/full_menu
sed -i '0,/\[submenu\] (MX-Software)/{//!b; :a; n; /\[end\]/d; ba;}' ~/.fluxbox/submenus/full_menu
sed -i "/\[submenu\] (MX-Software)/d" ~/.fluxbox/submenus/full_menu
sed -i '0,/\[submenu\] (MX-Utilities)/{//!b; :a; n; /\[end\]/d; ba;}' ~/.fluxbox/submenus/full_menu
sed -i "/\[submenu\] (MX-Utilities)/d" ~/.fluxbox/submenus/full_menu


#if fluxbox running, reload menu

test=$(ps -aux)
if [[ "$test" == *"startfluxbox" ]]; then
	fluxbox-remote restart
  killall -SIGUSR1 conky 2>/dev/null
fi
exit 0
Last edited by dolphin_oracle on Mon Oct 28, 2024 12:01 pm, edited 1 time in total.
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.

User avatar
Jerry3904
Administrator
Posts: 23057
Joined: Wed Jul 19, 2006 6:13 am

Re: mxfb-2025 development ideas

#98 Post by Jerry3904 »

Here is the Plank dock I am currently using on my Openbox respin for the Pi, along with its preferences dialog box. When any application is opened it shows up on the dock (as the terminal is doing in the image) and a right-click gives the user the option of pinning it to the dock. A right-click on any existing application there enables removal.
Image
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
ceeslans
Posts: 811
Joined: Sun Apr 14, 2019 3:48 am

Re: mxfb-2025 development ideas

#99 Post by ceeslans »

Jerry3904 wrote: Mon Oct 28, 2024 10:50 am
Melber wrote: Mon Oct 28, 2024 8:36 am why not just use two tint2 panels?
One standard and one with only launcher.
Because tint2 is not at all quick or easy for new users to configure, while plank is totally available to everyone from the get-go.
I can't speak for others, but guess I won't run plank in my setup. Feel its flashy appearance doesn't fit in fluxbox' overall sober / straightforward looks.
And it's rather heavy on memory, compared to (already installed) tint2 launcher panel.
So +1 to @Melber's suggestion. But hey, to each their own...
Sony Vaio VPCF23P (2011), Intel Core i7-2670, 6gb RAM, 240gb SSD, MX-Linux 23 based Fluxbox v/1.3.7+
Lenovo Thinkpad L560 (2016), Intel Core i5-6200, 16gb RAM, 240gb SSD, Devuan Daedalus based Fluxbox v/1.3.7+

User avatar
siamhie
Global Moderator
Posts: 3219
Joined: Fri Aug 20, 2021 5:45 pm

Re: mxfb-2025 development ideas

#100 Post by siamhie »

Eadwine Rose wrote: Mon Oct 28, 2024 10:44 am You'd be amazed at some of the things UBO lite is better at. It blocks plenty on the full setting, and blocks the ads in facebook videos as well. Something the regular version was never able to do here.

Try the AdBlocker Ultimate extension, works pretty similar to regular UBO.

I'm a power user of uBO and have it's block mode set to hard which blocks not just 3rd party scripts/frames but also 3rd party resources (Blocking mode: hard mode). This method will and does break a lot of web sites but I know which cells I need to (temporarily) enable to view the site. I also like the ability to use the element zapper function (not available with Lite) to quickly eliminate items I don't want to see. I can also block those elements permanently with the element picker icon. Another feature I like is that ability to import filter lists. Something you can't do with Lite.

As far as Facebook is concerned, I use the F.B. Purity extension and have been for over 10 years now.
F.B. (Fluff Busting) Purity is a Facebook customizing browser extension. It alters your view of Facebook to show only relevant information to you. It lets you remove the annoying and irrelevant posts from your newsfeed such as game and application spam, ads and sponsored posts. It can also hide the boxes you don't want to see on each side of the newsfeed.
This is my Fluxbox . There are many others like it, but this one is mine. My Fluxbox is my best friend. It is my life.
I must master it as I must master my life. Without me, my Fluxbox is useless. Without my Fluxbox, I am useless.

Locked

Return to “MX Fluxbox Official Release”