Forum › Forums › antiX-development › Development › bug in script desktop-menu? antiX 19.x 32bit/64bit
- This topic has 55 replies, 6 voices, and was last updated May 13-10:53 pm by Robin.
-
AuthorPosts
-
April 26, 2022 at 7:04 pm #82130Member
Robin
Hello @Dave ,
Just wanted to let you know, the default command
desktop-menu --write-out-global
has ceased working for me after one of the last complete system upgrades of antiX 19.3 (32 bit) from the default repos (sorry, can’t tell you when exactly the behaviour has changed, I just noticed it first time some days ago, took some time to make sure it is not an issue caused by my specific installation).
When clicking on the respective menu entry nothing happens. So I tried starting it from a console window:$ desktop-menu --write-out-global Writing Menu: fluxbox Traceback (most recent call last): File "/usr/local/bin/desktop-menu", line 313, in <module> build_menu() File "/usr/local/bin/desktop-menu", line 277, in build_menu text = file((USER_HOME+"/"+Var.Conf_Dir+"/"+Var.App_File), "w") IOError: [Errno 13] Keine Berechtigung: '/usr/share/desktop-menu//.fluxbox/menu-applications'It doesn’t seem to rebuild the menu at all, nothing changes (running on IceWM desktop)
When looking into the users home folder, in the subfolder icwm, where the expected file should reside, it turns out there is a symbolic link pointing to the /usr/share… folder. Obviously the script tries to follow this link instead removing it and create a modified copy of the original file from /usr/share…
Maybe this issue is caused by a python update, or some other modification which came by one of the updates of last weeks/months.Have confirmation from other users having observed the same behaviour after updating the 19.5 64bit original ISO (live) to the most recent state from the repos (apt upgrade) some days ago. Before updating everything worked fine for them still.
Maybe you could check what’s going on here.
Best regards
RobinWindows is like a submarine. Open a window and serious problems will start.
April 26, 2022 at 7:19 pm #82132MemberRobin
::Update:
Script runs still fine when sudoed.
But then it changes symbolic link target file itself
/usr/share/desktop-menu/.icewm/menu-applications
instead the file residing in
/home/<user>/.icewm
(which is the symbolic link)My conclusion:
Either the way python deals with w command while opening files was changed or the respective file in home folder was replaced by a symbolic link most recently.Windows is like a submarine. Open a window and serious problems will start.
April 26, 2022 at 10:25 pm #82144Forum Admin
Dave
::I do not know if this has ever worked since I originally updated the script.
The reason; From conversation with BobC slightly before you had noticed this.
The menu is automatically updated through an apt hook.
This is done in a system wide configuration and it is done as the root user affecting all users by default as the user files are symlinked to there. Originally when I had updated this to include an apt hook I did not think the menu should have a refresh button (Well I did, but commented out). I am not certain if the current “Refresh menu” menu entry actually does anything. This is because it cannot overwrite the symlink and the original menu files which it points to are owned by root and unwritable to the user. Being a system wide file it cannot really be controlled by a user configuration under ~/.desktop-menu/desktop-menu.conf. One of the unwritten rules is not to modify the user configuration files directly. Therefor altering the main ~/.wm/menu file or ~/.wm/menu-applications via script was a no no (and alot of people at the time complained that manually editing the menu file was not set as default anymore). This is why the apt hook does not edit the users file directly and a symlink is used.IMHO, making a configuration file for these options is not really any different than altering the menu file directly. When I had originally made the modification to allow an automatically updated menu I thought the “Refresh menu” entry should be commented out and uncommented if the user would like a different application menu than default.
You may be able to get around the permission issue by making the files symlinked to have “user” as the primary group with read and write permissions. Try as root:
chown root:users /usr/share/desktop-menu/.*/menu-applications chmod 664 /usr/share/desktop-menu/.*/menu-applicationsComputers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
April 27, 2022 at 12:21 am #82147MemberRobin
::Many thanks, Dave for looking into this.
I can confirm your proposed workaround by simply editing the permissions in the /usr/share/… folders works fine, as expected.
But I am in doubt a bit about the concept of setting a symbolic link in the users home folder instead of copying the file. I believe this way it will produce confusion when a second user in system sets his desktop to a different language, since the script probably overwrites the default system wide menu files instead of the user owned copies which should live in the home folders, following man IceWM. Have not tested whether my suspicion is true by now, but will report as soon I have checked this.
Windows is like a submarine. Open a window and serious problems will start.
April 27, 2022 at 2:58 am #82150Forum Admin
Dave
::But I am in doubt a bit about the concept of setting a symbolic link in the users home folder instead of copying the file. I believe this way it will produce confusion when a second user in system sets his desktop to a different language, since the script probably overwrites the default system wide menu files instead of the user owned copies which should live in the home folders, following man IceWM. Have not tested whether my suspicion is true by now, but will report as soon I have checked this.
Indeed. Without testing this would be the case.
As there is a “rule” to avoid automatically overwriting files in the user’s home directory this (having users with 2 differing locales) will continue to be a problem with automatically updating using apt hook. Alternatively the user could remove the symlinks, make an empty menu-applications file, and run the menu command. Then change the “Refresh menu” button to use the command desktop-menu –write-out.rm ~/.icewm/menu-applications touch ~/.icewm/menu-applications desktop-menu --write-out sed "s/\-global//g" -i ~/.icewm/menuHowever this will require pressing the “Refresh menu” button (or running desktop-menu –write-out) any time the menu needs to be updated. (After installing apps, removing apps, updating the system, etc)
If we want to keep the apt hook menu updating but allow for differing menus under the user’s home directory then we would have to accept that the menu-applications file will get overwritten. Then desktop-menu could be changed so the global option works in the users home directory and would be invoked by the apt hook with something like
su -c "desktop-menu --write-out-global" USERNAME_HEREfor each user. Also keep in mind that this would delay apt by the amount of time currently seen once for each user. (when the apt ouput shows updating icewm, updating fluxbox, updating jwm)- This reply was modified 1 year ago by Dave.
Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
April 27, 2022 at 8:20 am #82157MemberRobin
::Good morning Dave (no idea what time in your place, but here the sun came over the horizon 3 hours ago),
If we want to keep the apt hook menu updating but allow for differing menus under the user’s home directory then we would have to accept that the menu-applications file will get overwritten.
Which would conflict with the rule not to touch users home directory obviously. Yes, this is true. So we need a workaround. I gave some thought to the thing. It’s actually a bit difficult to let the config files of programs live in users homes while these need get set straight by system updates, when having to follow a rule like that (which is obviously inherited from debian).
I believe all we’d need to do is to let the actual config files live in a place outside the users home folders, just as you did with a single target of multiple symbolic links from all users homes before, but now we need to target one file per user, so the symbolic link in his home folder points to his specific menu file, and we can safely update individually. We would be able to update them automatically still without violating the rule not to touch users home, but this modification allows to work user specific instead of corrupting menus on multilingual antiX systems. A suitable place could be e.g. within a folder like
/usr/share/antiX-menus/<username>/menu-applications
or whatever you like best, and in skel we’d need to adjust the target of the respective symbolic link to be placed during new users home creation to meet the menu folder in /usr/share… matching the actual user name.On a system with not many users (e.g. 1-3) the amount of time to perform the additional writeout of menus shouldn’t be a problem, but I can imagine it will take way to long on a system with e.g. more than 20 (or even 100) users. So there should be a tiny gui script to allow user to choose his preference in antiX control center according to what suites him best, e.g. a simple yad/gtkdialog radio button:
Menu options: x update menus globally (for all users, takes some more time on installing and updating software.) o update menus only for me (<username>).(Basically this option needs to appear in control center only in case we have more than one user present at system, so it could be added while adding a second user and removed when after a user removal only a single user is left, but this is secondary, it can live there as well in a single user system, it doesn’t hurt. Also the default could be set to the first option on systems with 1-3 users and to the second option on systems with more users, but again, this is secondary and probably bloats the script unnecessarily.)
But we have to care for all other users get informed about the new or updated software present, in case there was no global write-out done.
So we could e.g. send an informational text e.g. to /usr/var/spool/mail which could read like:There was a program installed or updated by another user of this system. Please make sure to update your menu to allow easy access to it.
so all the other users get informed when logging on. Alternatively we could place user specific flagfiles or scriptfiles somewhere and this way let happen the writeout for the individual users on their next logon automatically, removing the flag or script once it was done.
Did I miss something? This modification doesn’t look to much complicated to me, keeping things as simple as possible, while not loosing the functionality of automatic menu update by apt-hooks.
The manual invocation of the write-out the menu comes into play when we add the ability to allow user to switch between different styles of his menu according to his needs, as you have already added to a test version of your script I’ve seen. Name only, GenericName only, or both, or additional comment. (This adition also makes it necessary already to have the menu file updates per user, otherwise all users of a system would be affected by a change of the personal settings of other users always)
So the menu gui in control center drafted above would simply get some additional buttons:x Display Program Name only o Display Generic Name only o Display Name and Generic Name both o Display additional Commentinvoking your update-menu script with one or more of the respective new commandline options –Name –GenericName –Comment.
Once having a Menu settings options dialog like this present in control center, we could even remove/comment out the existing main menu entry “Update menu”, since it is probably no longer needed.
What do you think about it?
Windows is like a submarine. Open a window and serious problems will start.
April 27, 2022 at 11:48 am #82160MemberRobin
::Update:
First design study for proposed Control Center Menu config script (I’ve used yad here as an example:)userchoice="$(yad --plug=$$ --tabnum=1 --list --fixed --no-headers --no-borders\ --text="<b>"$"Menu Update Options""</b>\n""Applies to automatic updates only" \ --radiolist \ --print-column=3 \ --column="" --column="Update Options":RB --column="":HD \ "TRUE" "update menu globally (all users)" "1" \ "FALSE" "update menu only for me ($(whoami))" "2" & \ yad --plug=$$ --tabnum=2 --list --fixed --no-headers --no-borders \ --text="<b>"$"Menu Display Options""</b>\n""Applies to you only. Show:" \ --radiolist \ --print-column=3 \ --column="" --column="Display Options":RB --column="":HD \ "TRUE" $"Name only" "1"\ "FALSE" $"Generic Name only" "2" \ "FALSE" $"Name and Generic Name" "3" \ "FALSE" $"Name and Comment" "4" \ "FALSE" $"Generic Name and Comment" "5" \ "FALSE" $"Name, Generic Name and Comment" "6" &\ yad --title="Menu Options" --center --fixed --undecorated \ --width=600 --borders=20 --no-borders --window-icon=gtk-preferences \ --paned --key=$$ --orient=hor --splitter=280 \ --button=$"Don't apply changes":5 --button=$"Apply changes":6)"; echo $userchoiceSimply copy and paste this into a console window to see the window design.
Combined with a bit of simple conditional branching in a bash script to evaluate users choice this should be enough already to hand over the needed command line options to your most recent version of desktop-menu script, and also to execute the needed actions to set the convenient menu updating method along with its aftermath.
Attachments:
Windows is like a submarine. Open a window and serious problems will start.
April 27, 2022 at 4:25 pm #82188Member
iznit
::only in case we have more than one user present at system, so it could be added while adding a second user and removed when after a user removal only a single user is leftWould need to check “2+ users have home directories?” or “2+ users have login permission?”, right?
Because multiple ‘users’ will awlays exist [[[ backup, nobody ]]]April 27, 2022 at 6:37 pm #82197Member
marcelocripe
::Because multiple ‘users’ will awlays exist [[[ backup, nobody ]]]
When one or more people use the same computer, each of these people will be able to have their user access to antiX and each will have their personal settings preserved. Examples of uses: in home use by a family, in a business environment, a computer where several students access the same computer and each has their own username and password, etc.
Robin, is there still time to ask for more options in the right column of the GUI?
The aim is to satisfy the display of the order of Name, Generic Name and Comment in various possible arrangements and satisfy all existing languages and all antiX users.“TRUE” $”Name only” “1”\
“FALSE” $”Generic Name only” “2” \
“FALSE” $”Comment only” “3” \
“FALSE” $”Name and Generic Name” “4” \
“FALSE” $”Generic Name and Name” “5” \
“FALSE” $”Name and Comment” “6” \
“FALSE” $”Comment and Name” “7” \
“FALSE” $”Generic Name and Comment” “8” \
“FALSE” $”Comment and Generic Name” “9” \
“FALSE” $”Name, Generic Name and Comment” “10” \
“FALSE” $”Name, Comment and Generic Name” “11” \
“FALSE” $”Generic Name, Comment and Name” “12” \
“FALSE” $”Generic Name, Name and Comment” 13″ \
“FALSE” $”Comment, Name and Generic Name ” “14” \
“FALSE” $”Comment, Generic Name and Name” “15” &\Is my truth table correct? Will these options be able to meet all possible provisions?
I hope this is possible to implement.
The antiX will become the easiest operating system to understand on planet Earth.
– – – – –
Because multiple ‘users’ will awlays exist [[[ backup, nobody ]]]
Quando uma ou mais pessoas utilizam o mesmo computador, cada uma destas pessoas poderão ter o seu usuário de acesso ao antiX e cada um terá as suas configurações pessoais preservadas. Exemplos de utilizações: no uso caseiro por uma família, no ambiente empresarial, um computador onde vários alunos acessam o mesmo computador e cada um possui o seu usuário e senha de acesso, etc.
Robin, ainda dá tempo de pedir mais opções na coluna da direita da GUI?
O objetivo é atender a exibição da ordem de Name, Generic Name e Comment em várias disposições possíveis e satisfazer todos os idiomas existentes e a todos os usuários do antiX.“TRUE” $”Name only” “1”\
“FALSE” $”Generic Name only” “2” \
“FALSE” $”Comment only” “3” \
“FALSE” $”Name and Generic Name” “4” \
“FALSE” $”Generic Name and Name” “5” \
“FALSE” $”Name and Comment” “6” \
“FALSE” $”Comment and Name” “7” \
“FALSE” $”Generic Name and Comment” “8” \
“FALSE” $”Comment and Generic Name” “9” \
“FALSE” $”Name, Generic Name and Comment” “10” \
“FALSE” $”Name, Comment and Generic Name” “11” \
“FALSE” $”Generic Name, Comment and Name” “12” \
“FALSE” $”Generic Name, Name and Comment” 13″ \
“FALSE” $”Comment, Name and Generic Name ” “14” \
“FALSE” $”Comment, Generic Name and Name” “15” &\A minha tabela da verdade está correta? Estas opções conseguirão atender a todas as disposições possíveis?
Eu espero que isto seja possível de ser implementado.
O antiX se tornará o sistema operacional mais fácil de ser compreendido do planeta Terra.
- This reply was modified 1 year ago by marcelocripe.
April 27, 2022 at 7:03 pm #82199MemberRobin
::Many thanks, @iznit, for your more detailed specification of the term »user«, narrowing it down to what I actually intended to express: »users with home directories or login permission«.
Moreover we’d need to add a third button (no big deal) in case the »refresh menu« entry is actually removed from main menu, but this is something the antiX devs should decide, in which position they like it best: Either within this proposed control center dialog, or keep it as a separate entry in main menu, or maybe even in both places.
Is my truth table correct? Will these options be able to meet all possible provisions?
I hope this is possible to implement.Sure, why not? (Even when this is not something what you actually would call a truth table.) In case this is needed to allow correct word order in foreign languages, we should actually check whether this is supported by IceWM (and the other window managers involved). The GUI script itself can get adapted easily to take these additional entries, just like you already correctly did.
Windows is like a submarine. Open a window and serious problems will start.
April 28, 2022 at 5:46 pm #82236Member
marcelocripe
::Sure, why not? (Even when this is not something what you actually would call a truth table.) In case this is needed to allow correct word order in foreign languages, we should actually check whether this is supported by IceWM (and the other window managers involved). The GUI script itself can get adapted easily to take these additional entries, just like you already correctly did.
I was looking at the “truth table” I replaced the 0 and 1 with N, G and C. Missing one option, don’t display the apps submenus.
FALSE” $”No Comment, No Generic Name and No Name” “16” &\
or
FALSE” $”Do Not Display Application Submenus” “16” &\
This could be an option to satisfy people who say the menus are “bloated”, this way they won’t see the application submenus, they will only see the first level menu and the personal menu submenus.
I can’t help with programming, but I can help with suggestions and you can count on me to help you test the program.
The GUI worked flawlessly on antiX 21 full 64-bit, as well as being very nice and light.
– – – – –
Sure, why not? (Even when this is not something what you actually would call a truth table.) In case this is needed to allow correct word order in foreign languages, we should actually check whether this is supported by IceWM (and the other window managers involved). The GUI script itself can get adapted easily to take these additional entries, just like you already correctly did.
Eu estava analisando a “tabela da verdade” que eu substituí os 0 e 1 por N, G e C. Falta uma opção, não exibir os submenus aplicativos.
FALSE” $”No Comment, No Generic Name and No Name” “16” &\
ou
FALSE” $”Do Not Display Application Submenus” “16” &\
Esta poderia ser uma opção para satisfazer as pessoas que dizem que os menus estão “inchados”, desta forma eles não verão os submenus aplicativos, apenas verão o menu do primero nível e os submenus do menu pessoal.
Eu não cosigo ajudar na programação, mas posso ajudar com sugestões e vocês podem contar comigo para ajudar nos testes do programa.
A GUI funcionou perfeitamente no antiX 21 full de 64 bits, além de ser muito bonita e leve.
April 28, 2022 at 6:08 pm #82237MemberRobin
::First sketch for the intended GUI bash script (doesn’t actually change anything at system, presently only infrastructure to handle and store some of the needed user specific settings, but prepared already to communicate with desktop-menu script. Translation resource not present at transifex yet.
#!/bin/bash # GPL v3 # Copyright 2022 the antiX comunity" (Entry needed to comply with EU legislation) # antiX-menu-config # GUI tool to configure menu display options and menu update behaviour in antiX (and MX) # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of # the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public # License along with this program. If not, see http://www.gnu.org/licenses/ # written by Robin-antiX for the antiX community 4/2022 # translations to foreign languages: # https://www.transifex.com/antix-linux-community-contributions/antix-contribs/antix-menu-config # to improve a poorly translated string for this script please sign in for free at transifex and join the translation team. # gettext translation config TEXTDOMAINDIR=/usr/share/locale TEXTDOMAIN=antix-menu-config # general settings config_folder="$HOME/.config/antiX-menu-config" config_file="$config_folder"/settings base_folder="/usr/share/antiX-menus" private_folder="$base_folder"/"$(whoami)" private_menus="$private_folder"/menu-applications key_upd="upd=" key_disp="disp=" menu_upd_select=(false false) menu_disp_select=(false false false false false false) opt_disp[0]="--Name" opt_disp[1]="--GenericName" opt_disp[2]="--Name --GenericName" opt_disp[3]="--Name --Comment" opt_disp[4]="--GenericName --Comment" opt_disp[5]="--Name --GenericName --Comment" opt_upd[0]="--write-out-global" opt_upd[1]="--write-out" function change_update_mode { # under construction echo "do something useful in here" } function apply_setting_disp { # under construction desktop-menu "${opt_upd[$setting_upd]}" "${opt_disp[$setting_disp]}" } function gui-dialog { menu_upd_select[$stored_upd]="true" menu_disp_select[$stored_disp]="true" userchoice="$(yad --plug=$$ --tabnum=1 --list --fixed --no-headers --no-borders \ --text="<b>"$"Menu Update Options""</b>\n"$"Applies to automatic updates only" \ --radiolist --no-selection --print-column=3 \ --column="" --column="Update Options":RB --column="":HD \ ${menu_upd_select[0]} $"update menu globally (all users)" "0" \ ${menu_upd_select[1]} $"update menu only for me ($(whoami))" "1" & \ yad --plug=$$ --tabnum=2 --list --fixed --no-headers --no-borders \ --text="<b>"$"Menu Display Options""</b>\n"$"Applies to you only. Show:" \ --radiolist --no-selection --print-column=3 \ --column="" --column="Display Options":RB --column="":HD \ ${menu_disp_select[0]} $"Name only" "0"\ ${menu_disp_select[1]} $"Generic Name only" "1" \ ${menu_disp_select[2]} $"Name and Generic Name" "2" \ ${menu_disp_select[3]} $"Name and Comment" "3" \ ${menu_disp_select[4]} $"Generic Name and Comment" "4" \ ${menu_disp_select[5]} $"Name, Generic Name and Comment" "5" & \ yad --title="Menu Options" --center --fixed --undecorated \ --width=600 --borders=20 --no-borders --window-icon=gtk-preferences \ --paned --key=$$ --orient=hor --splitter=280 \ --button=$"Don't apply changes":5 --button=$"Apply changes":6)" #echo "$userchoice" } function read_stored_settings { if [ -e "$config_file" ]; then stored_upd=$(sed -n "s/^"$key_upd"\([[:digit:]]\)/\1/p" "$config_file") stored_disp=$(sed -n "s/^"$key_disp"\([[:digit:]]\)/\1/p" "$config_file") else if [ $(ls -l /home | grep ^d | wc -l) -le 3 ]; then stored_upd=0 else stored_upd=1 fi stored_disp=0 [ ! -d "$config_folder" ] && mkdir -p "$config_folder" echo "$key_upd=$stored_upd" > "$config_file" echo "$key_disp=$stored_disp" >> "$config_file" fi } function write_settings_file { sed -i "s/^$key_upd..*$/$key_upd$setting_upd/" "$config_file" sed -i "s/^$key_disp..*$/$key_disp$setting_disp/" "$config_file" } function analyse_results { if [ "$userchoice" != "" ]; then setting_upd="$(echo $userchoice | tr -d ' \n\r' | cut -d'|' -f1)" setting_disp="$(echo $userchoice | tr -d ' \n\r' | cut -d'|' -f2)" else echo "user abort" exit 0 fi } read_stored_settings gui-dialog analyse_results write_settings_file #change_update_mode #apply_setting_disp echo "${opt_upd[$setting_upd]}" echo "${opt_disp[$setting_disp]}" exit 0I didn’t include Marcelos proposal for additional entries for languages following different word orders by now. This would make things to much more confusing when testing, and some additional entries like that can get added later easily, once the whole thing works stable. (Moreover we still need to find out whether IceWM and the other WMs would accept different orders within entries-texts before we could add them here.)
While running, the script will create the ~/.config/antiX-menus-config subdirectory within your home folder to store your personal menu settings, and read it from there on next time it is started.
(Remark: The paths stored in the variables $base_folder, $private_folder and $private_menus are unused by now.)@Dave : To proceed from here with this GUI script I’d need to know whether or how the default symbolic link in the users homes will be changed by antiX solving the original problem and its followup. I’ve described most detailed a possible solution some postings above.
Windows is like a submarine. Open a window and serious problems will start.
April 28, 2022 at 8:47 pm #82239MemberRobin
::Additional observation in your most recent testing version of desktop-menu (I’ve got from Marcelo and BobC, it reports itself as Ver. 3.0):
There are missing two variable declarations of the new variables for taking the added options, to allow it being executed properly:
$ desktop-menu --write-out-global Writing Menu: fluxbox Traceback (most recent call last): File "/usr/local/bin/desktop-menu", line 349, in <module> build_menu() File "/usr/local/bin/desktop-menu", line 321, in build_menu process_menu(menu) File "/usr/local/bin/desktop-menu", line 173, in process_menu process_menu(entry) File "/usr/local/bin/desktop-menu", line 188, in process_menu if generic_names: NameError: name 'generic_names' is not defined$ desktop-menu --write-out-global Writing Menu: fluxbox Traceback (most recent call last): File "/usr/local/bin/desktop-menu", line 350, in <module> build_menu() File "/usr/local/bin/desktop-menu", line 322, in build_menu process_menu(menu) File "/usr/local/bin/desktop-menu", line 173, in process_menu process_menu(entry) File "/usr/local/bin/desktop-menu", line 192, in process_menu if comments: NameError: name 'comments' is not definedProposed solution: Just add in the declarations section (e.g. line 252/253) the two additional entries:
... 251 ... 252 generic_names = "" 253 comments = "" 254 ... ...This will fix the issue, so please add these lines, and also, if you could manage it: The help message doesn’t explain anything about the –write-out-global option. What exactly does this thing? (Sorry, I’m not that experienced in python, it would take some hours for me to understand it on my own from the code.)
Windows is like a submarine. Open a window and serious problems will start.
April 29, 2022 at 12:23 am #82248MemberRobin
::Here a next proposal:
If you’d replace in line 115 (within the last else clause of the conditional branch) the expression
icon = missing_iconby the term
icon = entry.getIcon()the script doesn’t anymore replace formerly existing icons in menu by a red x on white ground, the missing icon symbol obviously, while it wouldn’t run slower (at least I couldn’t notice any difference, please double check). There are a lot of icons removed and replaced by the missing-symbol in menu without this fix, among them even the antiX logo itself and many other programs are concerned.
This way the script version 3.0 runs fine even on antiX 19.x , so you’d not need to care for two different recent versions any longer, and we can profit from the latest additions (command line options –GenericName and –Comment) on machines only able running antiX 19 also.
Windows is like a submarine. Open a window and serious problems will start.
April 29, 2022 at 12:40 am #82249MemberRobin
::@marcelocripe : Just have checked: It’s not that difficult to allow the reversed word and entry order in the menus. IceWM is not involved directly in this at all, since all the logic is done by Daves desktop-menu script. I can modify it easily so it’ll work with the reversed order also.
@Dave : In case you have this script on gitlab somewhere, I could send you my fixes and proposals as a cumulative merge request instead of posting here every issue individually. Please don’t hesitate to say if you’d not appreciate this. But in case you like it better, just let me know the link where to find it.
Windows is like a submarine. Open a window and serious problems will start.
-
AuthorPosts
- You must be logged in to reply to this topic.
