You are not logged in.
@ohnonot: I've just pushed a commit which allows you to launch the menu at the pointer.
Just add
at_pointer = 1
to your jgmenurc.
Alternatively, use the command line option --at-pointer with jgmenu or "jgmenu_run pmenu".
Offline
thanks, this seems to be working just fine, after adding said option to jmenurc.
but, i'm a little confused now.
i installed a few days ago your latest release (from the aur package) and just now cloned your repo which installs to ~/bin by default, so i have 2 versions now:
$ /usr/bin/jgmenu --version
jgmenu v0.4.3
$ jgmenu --version
jgmenu v0.4.3-12-g3d4d
thing is, BOTH versions display the menu at the mouse pointer now???
Offline
Hm, what am I doing wrong? First I installed all the packages given on the github page for #bĹ. After that downloaded the ZIP file and extracted it. In the jgmenu-master folder I used "make".
CC x11-ui.o
CC config.o
CC util.o
CC geometry.o
CC isprog.o
CC sbuf.o
CC icon-find.o
CC icon.o
CC xpm-loader.o
CC xdgdirs.o
CC xdgapps.o
CC xsettings.o
CC xsettings-helper.o
CC config-xs.o
CC filter.o
CC compat.o
CC jgmenu.o
LINK jgmenu
CC jgmenu-parse-xdg.o
LINK jgmenu-parse-xdg
CC jgmenu-icon-find.o
LINK jgmenu-icon-find
CC jgmenu-xsettings.o
LINK jgmenu-xsettings
After "make install" - nothing happens. I have lxmenu-data and pandoc.
Last edited by martix (2016-11-29 14:12:33)
Offline
@ohnonot: I'm glad it's working. That's interesting regarding the two versions. What happens if you run like this:
jgmenu-parse-pmenu.py | /usr/bin/jgmenu
jgmenu-parse-pmenu.py | ~/bin/jgmenu
Do both launch at pointer? Did you run it with jgmenu_run before?
@martix: It looks like it's compiled fine. "make install" should have copied some executable files to ~/bin/
What happens if you try to run
jgmenu_run pmenu
If that doesn't work, check if the files have been installed to ~/bin. There should be various files beginning with "jgmenu"
Have you checked your your $PATH?
echo $PATH
If /home/martix/bin is not in your path, do
export PATH=$HOME/bin:$PATH
Then try "jgmenu_run pmenu" again.
Last edited by malm (2016-11-29 21:36:51)
Offline
@ohnonot: I'm glad it's working. That's interesting regarding the two versions. What happens if you run like this:
jgmenu-parse-pmenu.py | /usr/bin/jgmenu jgmenu-parse-pmenu.py | ~/bin/jgmenu
yes, that shows the expected behavior, and explains why both versions popped up at the pointer before.
I guess you have to work on the internal paths to all those scripts, because that shouldn't happen.
I'd actually move most of the scripts out of $PATH, maybe /usr/lib/jgmenu...
Offline
@malm Thank you! It works now (bin was empty, did "make install" again and jgmenu_run pmenu worked this time)!
This is awesome, I was missing something like this menu. I would like to use it via plank icon, it'll be a great improvement.
Offline
@ohnonot: Yes, I have been thinking about this. If you're happy to bear with me for a while, I'll pick a "renaming" day at some point. I'm thinking of hard-coding the "lib" path in jgmenu_run during the build-process. We could then put jgmenu and jgmenu_run in /usr/bin/ and the rest in /usr/lib/jgmenu/ (or something along those lines). It would be cleaner. :-)
@misko_2083: I love it! A bit of direct usage of the jgmenu binary. How did you do the screen capture?
@martix: I did try it with plank the other day and it seemed to work fine. The build-process creates a desktop file in ~/.local/share/applications/ - I've put some notes about it in the README.md.
I don't know much about plank or desktop files though, so do shout if there are better ways of doing it. Plank only seemed to find the icon if I hard-coded the full path.
Offline
@malm Yes, thank you, simpy drag-and-drop jgmenu.desktop to Plank did work great. On default there is an ubuntu-like logo. After changing the Icon line in jgmenu.desktop to
Icon=distributor-logo-bunsenlabs
it looks very nice with the #bĺ logo (thank you damo for mentioning).
I already started using it frequently, it's like an early christmas gift. Some sidenotes: Krita has multiple entries for me (14 times) in "Office" but I had crashes with it before. I was wondering if the "go back" arrow could be aligned to the other side (was thinking about a mirrored arrow), but atm I just set it to "0". Somehow "at pointer = 1" does not open submenus after hoovering, neither starting it from terminal with --at-pointer. I have "Faenza Dark" icon theme and there are icons for around 2/3 of the entries.
Offline
If you're happy to bear with me for a while, I'll pick a "renaming" day at some point.
i'm perfectly happy to bear with you! thanks for this little gem of an app.
Offline
On default there is an ubuntu-like logo. After changing the Icon line in jgmenu.desktop to
Icon=distributor-logo-bunsenlabs
it looks very nice with the #bĺ logo (thank you damo for mentioning).
Offline
@misko_2083: Thanks. I'll try it!
@martix: Thanks for your feedback. I appreciate it.
In order to avoid having to edit jgmenu.desktop everytime you do "make install", you can create a config.mk and add this line to it:
JGMENU_DESKTOP_ICON="distributor-logo-bunsenlabs"
I will soon make the "go back" items populate automatically rather than having to feed to stdin. I think that would be a good time to add an alterative arrow.
Hovering doesn't work (yet!) - you have to click. You shouldn't see different behaviour with --at-pointer=1 with respect to sub-menus. Please shout if you do and I'll investigate :-)
Are you happy to help me debug regarding the Faenza-Dark icons? I am keen to understand if the icons exist or if jgmenu is at fault?
Try "jgmenu_run cache --verbose" to see if there are icons which cannot be found.
Alternatively, the following line will show you what gets fed to stdin
jgmenu_run parse-pmenu
To search for an icon on your system, do:
find /usr/share/icons -name "*foo*"
replacing "foo" with the icon name.
Regarding the krita issue, have you got more than one desktop file relating to it? Or are there multiple entries in the krita file? The following two should help investigate:
find /usr/share/applications -name "*krita*"
jgmenu_run parse-pmenu | grep -i 'krita'
Offline
Thank you for the hints and explanations! at-pointer=1 made indeed no difference (as a sidenote regarding hovering: I used to have the launcher Lancelot, which had a small arrow to hover over it in order to open submenus and apps. I loved that solution.)
When I run - as suggested - "cache --verbose", at every entry, where no icon is shown, there was a "could not find icon" warning. As an example: In "Accessoires" I have a "Contacts" entry, which is for gnome-contacts. When I open it, there is the gnome-contacts icon in tint2, showing a "@" on red background. However the command above gave me a "could not find icon 'x-office-address-book'". When I did search for "Contacts" in /usr/share/icons, it found the pngs under Faenza/Apps/16 22 24 etc. named "gnome-contacts.png".
Otherwise I do have an icon for Internet in the main menu ("applications-internet"), but no icon for the rest (except "Other"), which are called "applications-accessoires", "applications-games", etc. It's a bit strange as there are pngs in /usr/share/icons/Faenza/categories/16 22 etc. called applications-games.png or applications-multimedia.png (could NOT find icons for "accessoires" though).
As for Krita: It has a proper entry under "Graphics". The other entries in "Office" had something to do with several Krita*.desktop files in "/applications/kde4" (thank you for the command!). I deleted the files - problem solved. I also had some useless "Knetattach", "Kmailservice", "Ktelnetservice", "Nepomukbackup", "Calligra" entries, which were also a Krita issue (just removed them). It works great otherwise, love to have it in Plank.
Some sidenotes: I noticed several entries for command line stuff, like feh, vim or htop (although it's good as I did not remember I had feh). When the submenu-list is too long, one has to scroll down manually. Somehow I had three entries for banshee and two for Zathura but it could be solved the same way as the Krita issue.
Offline
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