You are not logged in.

#76 2016-12-03 20:01:12

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

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

#77 2016-12-04 04:22:35

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

malm wrote:

Do you get these?

Yes, I have all those x-office-address-book.png files in Faenza/apps, but not in Faenza-Dark/apps.


malm wrote:

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.


malm wrote:

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.


malm wrote:

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

#78 2016-12-04 07:04:36

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

^ 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

#79 2016-12-04 11:41:49

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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

#80 2016-12-07 21:07:46

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

^ 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

smile

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

#81 2016-12-07 21:31:42

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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! smile

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

#82 2017-01-28 11:54:52

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

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

0FWhHkst.png

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. big_smile

Try:

jgmenu_run ob

U99t6PDt.png
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

#83 2017-02-01 21:42:17

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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...  smile

Offline

#84 2017-02-04 18:38:34

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: jgmenu

Sorry malm, I missed this update somehow  ops

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:
2017-02-04-183245_1920x1080_scrot.th.png

cool

Thanks for your work malm, this really is a great application smile


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#85 2017-02-04 20:04:08

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

^ 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 smile
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

#86 2017-02-09 20:18:16

geekosupremo
Member
Registered: 2016-04-27
Posts: 168

Re: jgmenu

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 big_smile

It's a great little tool! Thanks for putting it together!

Offline

#87 2017-02-09 20:43:11

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

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. smile

Offline

#88 2017-02-19 20:16:43

mcarni
Member
Registered: 2015-09-29
Posts: 16

Re: jgmenu

just wanted to say thanks for this little gem

much appreciated

thanks

m

Offline

#89 2017-02-19 20:55:59

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

Good to know you like it :-)

It's still early days for jgmenu. More to come...

Offline

#90 2017-02-23 10:50:01

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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

#91 2017-02-23 17:53:12

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

We have made some changes to the icon lookup in the last week, but I have a feeling it's not that smile

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

#92 2017-02-24 17:54:38

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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?   smile

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

#93 2017-02-24 21:30:57

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

^ We seem to be cross-threading smile I'll just respond on this one now.

martix wrote:

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.

martix wrote:

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

#94 2017-02-24 23:04:48

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

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

#95 2017-02-25 08:39:14

o9000
tint2 developer
From: Network Neighborhood
Registered: 2015-10-24
Posts: 399
Website

Re: jgmenu

Which program were you using to create these files? You might have found a bug.

Offline

#96 2017-02-25 12:15:29

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

^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

#97 2017-02-25 13:17:47

damo
....moderator....
Registered: 2015-08-20
Posts: 5,261

Re: jgmenu

^ 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

#98 2017-02-25 15:13:28

malm
jgmenu developer
Registered: 2016-10-13
Posts: 531
Website

Re: jgmenu

^^ 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 smile

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

#99 2017-02-25 15:42:48

martix
Kim Jong-un Stunt Double
Registered: 2016-02-19
Posts: 1,267

Re: jgmenu

I've got it!   big_smile    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

#100 2017-03-04 23:34:30

tynman
Member
Registered: 2015-10-13
Posts: 84

Re: jgmenu

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

Board footer

Powered by FluxBB