You are not logged in.
The question for me is: is "jgmenu_run cache" at fault for not finding these icons, or do they not exist on your system?
Just for reference (in case anyone is wondering), "jgmenu_run cache" uses the same code for finding icons as the jgmenu binary itself. So although you don't have to use "jgmenu_run cache", it does help us understand what's going on with the icons.
In the gnome-contacts example, the icon is "x-office-address-book". On my arch-box, I find the following:
./Faenza/apps/64/x-office-address-book.png
./Faenza/apps/22/x-office-address-book.png
./Faenza/apps/96/x-office-address-book.png
./Faenza/apps/24/x-office-address-book.png
./Faenza/apps/16/x-office-address-book.png
./Faenza/apps/32/x-office-address-book.png
./Faenza/apps/48/x-office-address-book.png
Do you get these?
Faenza-Dark inherits many icons from Faenza. I'm just wondering if there is something going on with the "index.theme" file. If you do:
ls -laR ~/.local/share/icons/jgmenu-cache/
do you get any symlinks pointing to "/usr/share/icons/Faenza/..."
or just "/usr/share/icons/Faenza-Dark/..."?
We get the directory icons (XDG-spec) from .directory files in
"/usr/share/desktop-directories" (and a number of other locations, but on BL they're there). These files contain an "Icon=" line e.g. "Icon=applications-accessories"
I get the following on my system:
$ jgmenu_run parse-pmenu | grep -i 'checkout'
Accessories,^checkout(Accessories),applications-accessories
Games,^checkout(Games),applications-games
Graphics,^checkout(Graphics),applications-graphics
Internet,^checkout(Internet),applications-internet
Office,^checkout(Office),applications-office
Other,^checkout(Other),applications-other
etc...
All these icons exist on my system:
/usr/share/icons/Faenza/categories/22/applications-accessories.png
/usr/share/icons/Faenza/categories/22/applications-games.png
/usr/share/icons/Faenza/categories/22/applications-graphics.png
/usr/share/icons/Faenza/categories/22/applications-internet.png
/usr/share/icons/Faenza/categories/22/applications-multimedia.png
/usr/share/icons/Faenza/categories/22/applications-office.png
/usr/share/icons/Faenza/categories/22/applications-other.png
How does that compare to your machine?
Just another thought, if you do "jgmenu_run cache" you should get some "info:" lines informing us what theme and size it's searching for. For example: "Faenza-Dark" and "22". What do you get there?
Offline
Do you get these?
Yes, I have all those x-office-address-book.png files in Faenza/apps, but not in Faenza-Dark/apps.
do you get any symlinks pointing to "/usr/share/icons/Faenza/..."
or just "/usr/share/icons/Faenza-Dark/..."?
Well, it's mostly symlinks to /usr/share/icons/hicolor/ like /usr/share/icons/hicolor/48x48/apps/applications-internet.png. There are a few exceptions like htop or synaptic with /usr/share/pixmaps/ or SuperTux /usr/share/games/supertux/images/icon.xpm. So basically almost all of them point to that hicolor folder, but sizes vary from 22x22 to 64x64.
How does that compare to your machine?
It's the same here! Same result after the command, all the png files are there in the same folder.
Just another thought, if you do "jgmenu_run cache" you should get some "info:" lines informing us what theme and size it's searching for. For example: "Faenza-Dark" and "22". What do you get there?
Here is the output:
warning: no xsettings daemon found
info: obtained 'Numix-Circle' from jgmenurc
info: obtained '22' from jgmenurc
Deleting old icon-cache...
Creating new icon-cache...
After these lines I get a list of warnings for all the icons that could not be found ("warning: could not find icon for 'applications-accessories'".).
Last edited by martix (2016-12-04 04:24:58)
Offline
^ Thanks. I understand now. You have to edit your ~/.config/jgmenu/jgmenurc and define:
icon_theme = Faenza-Dark
If you have an xsettings-daemon running, jgmenu will get the icon theme from there.
If not, it will get if from jgmenurc.
I ought to make those "info:" lines and the documentation a bit clearer.
Hopefully that will work for you now.
Offline
Great, thank you! Sorry, somehow I missed that configuration. After changing jgmenurc it looks great now! jgmenu_run cache says there is no xsettings-daemon and complains only about not finding icons for two things: "image-viewer" and "system-reboot". Actually I see only one icon missing, which is for the command-line tool feh image-viewer. "go back" has a folder icon, the menu is very nice indeed.
Edit: I tried to set a launcher icon in tint2 via
launcher_item_app = /home/username/.local/share/applications/jgmenu.desktop
and it works well, however the icon is not the #bĺ icon that was configured in the .dektop file (although it is shown in the file manager and also in plank). In tint2rc the theme is Faenza-Dark.
Last edited by martix (2016-12-07 21:11:44)
Offline
^ Where is your distributor-logo-bunsenlabs icon? I think tint2 searches in the theme-directories and the directories of any inherited themes (e.g. Faenza-Dark, Faenza, etc). I haven't got Faenza installed on this box, so can't check the index.theme files.
You might need to specify the full path in your jgmenu.desktop. For example:
Icon=/usr/share/icons/hicolor/scalable/places/distributor-logo-bunsenlabs.svg
What happens if you do:
Icon=bunsenlabs-flame
By the way, in your tint2rc, it should be enough to do
launcher_item_app = jgmenu.desktop
Last edited by malm (2016-12-07 21:08:08)
Offline
The logo icon is in the hicolor/scalable/places directory you just mentioned. When I tried bunsenlabs-flame, it still works with plank, but no change in tint2. Thank you for mentioning the full path, I think that was the culprit! When I refer to the .svg file, plank works fine and I can see a change of the tint2 icon. However it seems that it does not like the svg format, showing a white square instead of the logo. I replaced the .svg file with a 22x22 png file and now it looks perfect!
jgmenu.desktop without the full path somehow did not work here, after a tint2 restart the icon disappeared.
Last edited by martix (2016-12-07 21:58:52)
Offline
Bunsenlab friends
I have made some changes since I last wrote. It would be great if one or two
wanted to test-drive.
If you've not pulled/compiled since v0.4.4 (mid-Dec), please remove $prefix/bin/jgmenu*
I did a re-structuring exercise shortly after v0.4.4, installing many of the
executables to $libexecdir rather than $bindir.
Key changes since v0.4.4 (last post in this thread) include the following:
Added support for appending/prepending the "jgmenu_run pmenu" root menu. See lesson 9 of the tutorial JGMENUTUTORIAL (7)
jgmenu_run pmenu
o9000 added internationalisation support for pmenu. You should now be able to see the menu languages other than English. It would be great to get some feedback on this.
Having gradually converted to BL, I have grown rather fond of the BL openbox menu and couldn't help myself from adding an "ob" command.
Try:
jgmenu_run ob
The support for pipe-menus is only faked. Will tackle later.
Have also added support for "separator" (with and without text).
martix has reviewed and helped tidy up the documentation.
Have added the following config options:
- color_menu_border
- color_sel_border
- sep_height
- color_sep_fg
Had to drop these:
- max_items
- min_items
Will have a go at improving the performace of icon loading/finding/caching next.
Last edited by malm (2017-01-30 21:48:33)
Offline
That's a very nice menu with those separators! Recently I saw a simple but very well made and quick menu on the distro LXLE. It looks similar to that already.
Since I've been using the menu, it's been working fine, I cannot remember any issue so far and I use it often to start programs. Great to see those new tweaking options...
Offline
Sorry malm, I missed this update somehow
Just installed this on my BunsenLabs desktop and it is working very well indeed.
couldn't help myself from adding an "ob" command.
Love it!
I have added a launcher to my tint2 panel with this line in tint2rc:
launcher_item_app = /usr/share/applications/jgmenu.desktop
With the corresponding file at /usr/share/applications/jgmenu.desktop:
[Desktop Entry]
Name=jgmenu
Exec=/home/empty/bin/jgmenu_run ob
Icon=/usr/share/images/bunsen/icon-avatar/flame.png
So the launcher (with a BL flame icon) brings up the menu:
Thanks for your work malm, this really is a great application
“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.
Offline
^ Thanks Head_on_a_Stick. Glad you like it. I was rather chuffed with the "ob" module myself.
There is still a lot to do with the core jgmenu binary. It's early days and I'm still trying focus on getting a few fundamentals right. The "ob" command was just an itch
I think I might have let it slow down a little recently, so will try to do some profiling and cut out expensive bits - particularly during start up.
The main thing is though, I'm just trying to keep it fun.
Offline
I needed a distraction this morning and setting this up was an excellent one.
I got it working just fine! I did the 'ob' option, and look forward to it expanding. I look forward to the sub menu auto spawn
It's a great little tool! Thanks for putting it together!
Offline
Thanks for the encouragement. Glad you like it.
I'm just thinking about a "stay-alive" option for quicker start-up.
Reading up on pselect(), signals and self-pipes.
Offline
just wanted to say thanks for this little gem
much appreciated
thanks
m
Offline
Good to know you like it :-)
It's still early days for jgmenu. More to come...
Offline
Lately I was messing around with menus and menu editors. I'm not sure what happened, but jgmenu looks for these icons now:
jgmenu_run cache
info: obtained icon-theme 'Faenza-Dark' from jgmenurc
info: obtained icon-size '22' from jgmenurc
Deleting old icon-cache...
Creating new icon-cache...
warning: could not find icon 'debian-games'
warning: could not find icon 'debian-applications-graphics'
warning: could not find icon 'debian-applications-network'
warning: could not find icon 'debian-applications-office'
warning: could not find icon 'debian-applications-system'
warning: could not find icon 'image-viewer'
Obviously it should look for e.g. "applications-games" instead of "debian-games", there are no icons for these categories (all the other icons are there). Do you have maybe an idea where to look for a fix? (I tried to reinstall jgmenu and also checked the icons theme settings, which seem to be correct).
Offline
We have made some changes to the icon lookup in the last week, but I have a feeling it's not that
I tagged at v0.5 a couple of days ago (watch out! it's now got a long-running mode). If you checkout v0.4.5 and then run
jgmenu_run cache
we could rule out that it's nothing to do with the re-factoring.
Where do those "debian-" bits come from?
Can you find them if you do
cd /usr/share/applications/
grep debian-applications-graphics *
or if you have ack-grep installed:
ack debian-applications-graphics
Have you got a ~/.config/jgmenu/defaults.csv on your system?
Is there a "debian-applications-graphics" (and the others) in there?
I'm hoping to get rid of
jgmenu_run cache
soon anyway (and let the core application deal with it).
Last edited by malm (2017-02-23 18:13:42)
Offline
Well, I do not have icons for debian-applications-graphics etc. as they are called "applications-graphics" etc. I'm asking myself too why those "debian-" file names appear. I'm not sure. I guess it might have something to do with one of the menu editors I used (maybe it messed up something?) Or maybe with the Debian menu I used? Or the combination of both?
Anyhow, the command you just mentioned before
jgmenu_run parse-pmenu
delivers some hints I guess:
[jgmenu,^tag(pmenu)
Accessories,^checkout(Accessories),applications-utilities
Development,^checkout(Development),applications-development
Games,^checkout(Games),debian-games
Graphics,^checkout(Graphics),debian-applications-graphics
Internet,^checkout(Internet),applications-internet
System,^checkout(System),debian-applications-system
For every category, where there is no "debian-" at the beginning in the last part, the icon is fine. If the name begins with it, like debian-applications-graphics, there is no icon, because there is no such file in the directories. I have no idea where I could set the menu that it looks for those category icon files without the "debian-" beginning.
Offline
^ We seem to be cross-threading I'll just respond on this one now.
I guess it might have something to do with one of the menu editors I used
Aah. I think you might have modified or installed some new .directory files. You could try this:
cd /usr/share/desktop-directories
grep Icon *
Are there any "debian-*"amongst them? You can check what package a specific file belongs to by:
dpkg -S foo.directory
You could either delete the package (provided you don't want/need it obviously), or manually edit the files and remove the "debian-" bit.
somehow this new version opens smoother or at least I got this impression
Yes, it should be smoother. @o9000 did some great work with the icon lookup, making it a lot quicker.
These patches make a particularly significant difference if you have symlinks missing from the cache (as in your example above).
The other difference in v0.5 is that we added a "stay_alive" mode which makes it a long-running application.
You can try this out in a few different ways. Try the following in your terminal:
jgmenu_run
Hit escape or click outside the menu, to "get rid of it". jgmenu is still running in the background, so if you start another terminal and run
jgmenu_run
you will "wake it up", which is instant(ish).
The default jgmenu.desktop launcher is now just "Exec=jgmenu_run", so the first time you click the launcher it will take a split second to start, but after than it will be instant.
Or you could add
(sleep 2s; jgmenu_run start) &
to your ~/.config/openbox/autostart if you want to run in the background all the time.
You can of course still run it as a short lived "dmenu"-style application.
Offline
Thank you for the hint! Your suggestion with "/usr/share/desktop-directories" showed me the right way. There was only one file with Debian here, which is called "Debian.directory" - everything is fine in this directory. The culprit was in this directory's "local" counterpart: There is
/home/UserName/.local/share/desktop-directories/menu-xdg
In this directory there were 32 files, each one beginning with "debian-" (27 of them with "debian-applications-"....). E.g. there was "debian-applications-graphics.directory". In this file there is
Icon=debian-applications-graphics
If I remove this file, the category icon for graphics appears, because jgmenu seeks for the right icon name without "debian-" (I could change that icon line too). I can see that all these files were created last Sunday, while I was testing some menus and editors but I cannot tell why or how these files were created.
Also noticed that "Exec=" changed as jgmenu was configured at "hot corner" and after installing it stopped working - just had to adjust the command. Great, everything looks good now, many thanks!
Offline
Which program were you using to create these files? You might have found a bug.
Offline
^I'm asking myself that question too but I just cannot tell. I can see the date when those files were created and am not sure why that directory is there. I suspect it has got something to do with the menu editors and all the menus (lxde/lx, debian, obamenu) I had installed. E.g. when I used lxde/lxmenu as a dynamic menu in the openbox menu, there was within the lxde/lxmenu a "Debian" category, which led to the Debian menu. I tried some editing via alacarte, menulibre, lxmed - just one or two simple steps like moving and renaming. I cannot tell why those files were created.
As a sidenote: I just noticed that with jgmenu_run pmenu, e.g. after a change in jgmenurc (for example "at_pointer = 1"), it immediately worked that way (opening at the mouse pointer). Now I had to run "killall jgmenu" first and after that the changes were available (it was the same with the category icon when I changed the "Icon" line in those "debian-" files).
Last edited by martix (2017-02-25 12:15:48)
Offline
^ I guess it is the same as tint2 for example. It needs to be restarted for it to use the new rc configuration.
Be Excellent to Each Other...
FORUM RULES and posting guidelines «» Help page for forum post formatting
Artwork on DeviantArt «» BunsenLabs on DeviantArt
Offline
^^ yes, but it depends :-)
I have updated JGMENU(1) and JGMENU_RUN(1)
man jgmenu_run
man jgmenu
although they could probably be made clearer
jgmenu now has two modes.
- long-running ("stay_alive")
- short-lived (i.e. exit on click, enter or escape)
The long-running mode is "new". In this mode you have to to restart the menu to re-read jgmenurc (like tint2 as @damo said)
You can do
jgmenu_run restart
to achieve this.
In tint2 you can re-read the config file by
killall -SIGUSR1 tint2
We can't to do that in jgmenu as SIGUSR1 is used to "wake up" the menu.
There are two ways to make jgmenu a long-running application. Either set "stay_alive = 1" in your ~/.config/jgmenu/jgmenurc or run
jgmenu_run
without any 'command'/argument.
I'm anticipating that the preferred mode for many users will be "long-running" (but might be wrong!). That's why we have eventually let "jgmenu_run" without args do something useful.
Just to clarify... all the old commands still work as they used to (provided you haven't set "stay_alive = 1"). So by default jgmenu still works in a similar way to dmenu - reads stdin and exits on choosing an item or pressing escape.
A lock file prevents you from running two instances. So if you have jgmenu running in the background, you won't be able to run "jgmenu_run pmenu", etc. It'll just die() :-) Hope that all makes sense.
Do say if there is a way I could make the man page a bit clearer.
Offline
I've got it! I mean found out where those files came from.
First I suspected it might have something to do with the Debian menu (well, don't have to be a genius for that), so I installed it using the replacement method. There is a command:
update-menus
It creates that whole menu-xdg directory. The Debian menu does not show e.g. the installed Firefox, Chromium, Pale Moon under Applications/Network/Web Browsing. I tried if that command might help, but no, it does not. I just realized it also created that directory.
Last edited by martix (2017-02-25 17:04:17)
Offline
I have downloaded/installed jgmenu v0.5-23-g5a4c. It's working great!
In the post in this thread dated 28-Jan-2017, the author mentions he/she has added support for separators between menu items. Does anyone know the command to insert a separator?
Thanks, Ben
Offline