Author |
Message |
greengeek

Joined: 20 Jul 2010 Posts: 5834 Location: Republic of Novo Zelande
|
Posted: Sat 28 Feb 2015, 15:27 Post subject:
Why fixmenus required?? [SOLVED] Subject description: When .desktop file already present. |
|
I have added a programme (xvkbd) into my Slacko 5.6 derivative (via a manual remaster) and the pet I used contains a .desktop file which in theory should allow xvkbd to appear in the 'utility' menu.
However, after I reboot I do not initially see xvkbd in the utility menu. I can start xvkbd from the terminal so I know it works fine. I can see the .desktop file in /usr/share/applications so I don't understand why this was not reflected correctly during the boot process.
What I can do to get past this is after booting I can use a terminal to issue 'fixmenus' and 'jwm -restart' commands and then I do see xvkbd appear correctly in the utility menu. As a trial I have then remastered again and added a script into /root/Startup as follows:
Code: | #!/bin/bash
fixmenus
sleep 1
jwm -restart |
This works, and now my puppy boots with correct menu contents.
Does anyone have any idea why Puppy sometimes does not update the menus during the boot process?
I dont think there is anything wrong with my .desktop file as I get the same issue with other programmes aswell. Anyway, here is the contents of my xvkbd .desktop file:
Code: | [Desktop Entry]
Encoding=UTF-8
Name=XVkbd virtual keyboard
Name[fr]=Clavier virtuel XVkbd
Icon=mini-keyboard.xpm
Comment=Virtual keyboard for xorg
Comment[fr]=Un clavier virtuel pour xorg
Exec=xvkbd
Terminal=false
Type=Application
Categories=Utility
GenericName=XVkbd xorg virtual keyboard |
Last edited by greengeek on Mon 09 Mar 2015, 04:30; edited 1 time in total
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 15041 Location: Gatineau (Qc), Canada
|
Posted: Sat 28 Feb 2015, 16:48 Post subject:
|
|
Hi, greengeek.
It's a bug, I suppose. I stopped complaining about it. It's a "fact of Puppy
life", to be diplomatic about it.
If you really want to update the jwm menu, only trust the console!
I made myself a script similar to yours, and it fails sometimes. Depends
on the kind of breakfast jwm had... Also, it prefers Costa-Rican, not
Columbian, coffee! Fickle animal, this jwm...
Switch to pekwm or icewm !!!
BFN.
_________________ musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)
|
Back to top
|
|
 |
mikeb

Joined: 23 Nov 2006 Posts: 11331
|
Posted: Sat 28 Feb 2015, 18:46 Post subject:
|
|
hmm theres a big hairy thread all about jwm and its love of menu standards... its simply does not handle desktop file at all...a hacky script does and that hacky script is usually run by installers but if you took a route that does not then it does not ...
if you follow me...
worry not if you don't
mike
|
Back to top
|
|
 |
LazY Puppy

Joined: 21 Nov 2014 Posts: 2007 Location: Germany
|
Posted: Sat 28 Feb 2015, 19:30 Post subject:
|
|
jwm -restart is not really needed.
jwm -reload will do it after the fixmenus.
No jwm will flicker when using jwm -reload.
By the way: you can put this into the fixmenus script!
_________________ RSH
"you only wanted to work your Puppies in German", "you are a separatist in that you want Germany to secede from Europe" (musher0)
No, but I gave my old drum kit away for free to a music store collecting instruments for refugees! 
|
Back to top
|
|
 |
LazY Puppy

Joined: 21 Nov 2014 Posts: 2007 Location: Germany
|
Posted: Sat 28 Feb 2015, 19:48 Post subject:
|
|
A second note:
When doing a manual remaster new added Programs won't appear in the menu generally, since /root/.jwmrc is not updated. You can update this by doing a fixmenus with a changed root, like:
Code: | chroot "${Dir-of-your-extracted-SFS}" /usr/sbin/fixmenus 2>/dev/null |
_________________ RSH
"you only wanted to work your Puppies in German", "you are a separatist in that you want Germany to secede from Europe" (musher0)
No, but I gave my old drum kit away for free to a music store collecting instruments for refugees! 
|
Back to top
|
|
 |
Geoffrey

Joined: 30 May 2010 Posts: 2379 Location: Queensland
|
Posted: Sat 28 Feb 2015, 20:10 Post subject:
|
|
You could try adding to the bottom of the fixmenus script
Code: | touch --no-create /usr/share/applications/ |
I've used this to update the menu items when loading sfs packages in xfce
I haven't tried this with jwm, won't hurt to see if that works
it may be the icon cache causing the problem too, add
Code: | gtk-update-icon-cache -f -i /usr/share/icons/hicolor |
to fixmenus also and see if that works, like this Code: | #w001 support for fbpanel, lxpanel, openbox, fluxbox, pekwm...
[ `which variconlinks` ] && variconlinks #100404 for my fbpanel pkg.
[ `which tempicons` ] && tempicons
[ `which fbpanel_menu_refresh` ] && fbpanel_menu_refresh
[ `which lxpanel_menu_refresh` ] && lxpanel_menu_refresh
[ `which jwm2fluxbox` ] && jwm2fluxbox ##current fluxbox_menu_refresh doesn't support menu icons while this does
[ `which obmenu-refresh` ] && obmenu-refresh
[ `which jwm2pekwm` ] && jwm2pekwm
gtk-update-icon-cache -f -i /usr/share/icons/hicolor
touch --no-create /usr/share/applications/
###END### |
_________________ Carolina: Recent Repository Additions

|
Back to top
|
|
 |
mikeb

Joined: 23 Nov 2006 Posts: 11331
|
Posted: Sun 01 Mar 2015, 05:52 Post subject:
|
|
touch /root/.config/xfce4/desktop/menu.xml
for xfce when sfs modules are loaded..... xfce4 like other desktop managers usually rescans applications at boot anyway so avoiding all of this script jiggery pokery
touching the applications folder does seem neater though and would work for multiuser...one for me to remember
mike
|
Back to top
|
|
 |
greengeek

Joined: 20 Jul 2010 Posts: 5834 Location: Republic of Novo Zelande
|
Posted: Sun 01 Mar 2015, 14:09 Post subject:
|
|
LazY Puppy wrote: | jwm -reload will do it after the fixmenus.
No jwm will flicker when using jwm -reload. | Thank you, that is a nice way to get rid of the flicker.
LazY Puppy wrote: | When doing a manual remaster new added Programs won't appear in the menu generally, since /root/.jwmrc is not updated. You can update this by doing a fixmenus with a changed root, like:
Code: | chroot "${Dir-of-your-extracted-SFS}" /usr/sbin/fixmenus 2>/dev/null |
| Thanks, I will keep a note of that and give it a try.
Geoffrey wrote: | You could try adding to the bottom of the fixmenus script
Code: | touch --no-create /usr/share/applications/ |
| I tried this manually first rather than adding to the script - I rebooted then ran fixmenus via terminal, then tried the 'touch' in terminal without success. I interpret that as meaning it wouldn't work by embedding in fixmenus script either?
Hoping to try the icon cache later tonight.
Thanks for the suggestions everyone.
|
Back to top
|
|
 |
Geoffrey

Joined: 30 May 2010 Posts: 2379 Location: Queensland
|
Posted: Sun 01 Mar 2015, 18:47 Post subject:
|
|
greengeek wrote: |
Hoping to try the icon cache later tonight. |
I now remember why I added Code: | gtk-update-icon-cache -f -i /usr/share/icons/hicolor |
petget updates the icon cache where the SFS loader didn't in early versions, this has been fixed so adding this will be of no benefit.
While on the subject of icon cache, I used the "-i" option, Quote: | -i, --index-only Don't include image data in the cache |
this keeps the size of the hicolor/icon-theme.cache from becoming bloated
icon-theme.cache with gtk-update-icon-cache -f /usr/share/icons/hicolor 37.6 MB (37,607,348 Bytes)
icon-theme.cache with gtk-update-icon-cache -f -i /usr/share/icons/hicolor 97.7 kB (97,708 Bytes)
I thank vovchik for pointing this out to me.
_________________ Carolina: Recent Repository Additions

|
Back to top
|
|
 |
mikeb

Joined: 23 Nov 2006 Posts: 11331
|
Posted: Sun 01 Mar 2015, 18:57 Post subject:
|
|
dont seem to have any icon caches created apart from this odd one
/usr/share/pixmaps/hicolor/icon-theme.cache 23k
...I assume xfce4 is not needing them or is this a lost but working child?
mike
|
Back to top
|
|
 |
|