You are not logged in.
Just a quick update to note that the package compiles under OpenBSD-current and will actually run if a dodgy symlink is made:
# ln -s /usr/local/bin/python2.7 /usr/bin/python2Unfortunately, the applications are managed differently in that OS so they all show up in "Other":
All ports are stored under /usr/local/share/applications and the base system does not have /usr/share/applications at all.
All of my GUI programs show up in the menu ![]()
I don't have a full icon set installed, hence the patchy coverage ![]()
Offline
HoaS, I don't have any OpenBSD system to test this, but I think that installing the package gnome-menus might make it work. Those are some files that describe the application categories (name, icon).
@malm, I think we should add this to the list of dependencies. I think gnome-menus is available on all distributions. If not, we can find another solution.
Offline
Looks great!
Might try this on dwmX...
Offline
I think that installing the package gnome-menus might make it work
Unfortunately, that package is not in the ports tree:
http://openports.se/search.php?so=gnome-menu
As I said, I think it's just the use of /usr/share/local/applications for the .desktop files that is causing them to be added under "Other" rather than under the main categories.
I will have a look and see if I can port it to OpenBSD properly without that hideous symlink hack.
Offline
I see it: http://openports.se/x11/gnome/menus
Offline
^ Ah yes, thanks -- that does indeed fix it, well done sir!
![]()
Offline
Would
#!/usr/bin/env python
solve it?
Offline
I think so. We just need to make sure the script works in both python 2 and 3.
Offline
I think so. We just need to make sure the script works in both python 2 and 3.
I did try it with python3 a while ago and think it worked fine. I'll double check and then change it when I'm next on a computer.
Offline
@brontosaurusrex - No, but we should be able to get there. Maybe similar to dmenu?
If you are open to suggestions I will meditate on this.
Offline
Would
#!/usr/bin/env python
solve it?
Well, the only instance of "python" I can find is in jgmenu-parse-pmenu.py and if I change the shebang at the top to:
#!/usr/bin/env pythonIt still fails with:
env: python: No such file or directoryHowever, this works:
#!/usr/local/bin/python2.7With that shebang the dodgy symlink is no longer needed and with x11/gnome/menus installed everything works exactly as expected:
![]()
cwm(1) pictured, btw ![]()
Offline
Very nice. If will be part of tint2 menu will be huge. Thanks both of you for your active work.
8810
Offline
Looks like other people have hit similar problems with the shebang being different on various distributions: https://bugzilla.mozilla.org/show_bug.cgi?id=957721
Offline
However, this works:
#!/usr/local/bin/python2.7
Yes, jgmenu-parse-pmenu.py is the only python file.
Could we use
#!/usr/bin/env python3Would that work on OpenBSD?
Offline
If you are open to suggestions I will meditate on this.
Yes - very open to suggestions.
Offline
Could we use
#!/usr/bin/env python3Would that work on OpenBSD?
Sadly not:
env: python3: No such file or directory![]()
Last edited by Head_on_a_Stick (2016-10-16 21:54:51)
Offline
brontosaurusrex wrote:If you are open to suggestions I will meditate on this.
Yes - very open to suggestions.
Things "I have" so far:
- must be fast
- not sure about gui (But pretty sure I don't want to see search box by deafult, perhaps it materializes only when user starts typing)
- filter is locked (must also survive restart unless command line filter is isued) until manually removed (escape or delete or something) < This is different than most search stuff does but I'am using this in certain php script for a decade now, so tested.
- understand tree structure to some point (if I search for "graphics*")
- can be started with filter (jgmenu --filter "fav AND graphics" < example) < and again by default filter is locked until escape is pressed (or something). This would also allow the user to set multiple buttons on say tint2, reducing the tree depth.
- being aware that any kind of history is possibly a bad thing (not necessarily)
- ability to setup some sort of taging system, probably in config file (and tags are valid search entries):
firefox* 'browsers' 'web' 'internet'
*chrome* 'browsers' 'web' 'internet' - ...
slightly related:
- rmb add/remove to favorites (and favorites are displayed on top of tree menus) < search for "fav" will show only that
- mmb moves favorites up/down (or/and the order is set somehow in config file)
- option to not show icons (Perhaps already integrated?).
Last edited by brontosaurusrex (2016-10-17 15:57:46)
Offline
@o9000: I've added gnome-menus as a dependency in the README.md
@HoaS: I've added a Makefile-helper-script to sort out the python shebang issue. I hope it works and that I haven't broken it for anyone else.
Happy to use strlcpy() and friends. Is there a complete list of the "friends".
@bronto: Thanks very much for your thoughts on filtering. I like it.
I'll start playing with the basics and see how we go. I think I'll need to refactor jgmenu.c a bit before I do too much, so it'll be a step at the time.
Offline
Happy to use strlcpy() and friends. Is there a complete list of the "friends".
You will have to excuse me, I was tired when I posted that and waffling on about things I don't really understand -- please accept my apologies :8
See http://man.openbsd.org/?query=strlcpy&a … SD-current & co. for the technical details but on further consideration I don't really think this is worth pursuing.
Offline
I feel a bit stupid here, but I still can't get it working... :8
"make" now runs OK, but with a warning:
john@bunsen1:/data/john/downloads/jgmenu-master$ make
...snip...
jgmenu-icon-find.c: In function ‘main’:
jgmenu-icon-find.c:59:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^Checkinstall (without sudo) ran, but only after I added ~/share/man (the directories were left empty at the end). Also
./scripts/set-python-path.sh was not executable - I made it so, and got a .deb file, but it contained only docs.
Gave up, and did a direct 'sudo make install'. I dislike doing this because sometimes it's hard to back out again. It was still necessary to make ./scripts/set-python-path.sh executable:
john@bunsen1:/data/john/downloads/jgmenu-master$ sudo make prefix=/usr install
[sudo] password for john:
make: execvp: ./scripts/set-python-path.sh: Permission denied
install: cannot stat ‘jgmenu-parse-pmenu’: No such file or directory
Makefile:66: recipe for target 'install' failed
make: *** [install] Error 1
john@bunsen1:/data/john/downloads/jgmenu-master$ sudo make prefix=/usr install
sed: -e expression #1, char 18: unknown option to `s'
john@bunsen1:/data/john/downloads/jgmenu-master$ sudo make installI was unable to set a /usr prefix, but the final command did install some executable files. However:
john@bunsen1:/data/john/downloads/jgmenu-master$ jgmenu_run pmenu
warning: could not open config file /home/john/.config/jgmenu/jgmenurc
warning: jgmenu icon-cache has not been created
warning: no xsettings daemon found
warning: no xsettings daemon found
fatal: input file contains no menu itemsSomething seems to be still missing.
Finally I tried to uninstall:
john@bunsen1:/data/john/downloads/jgmenu-master$ sudo make uninstall
make: *** No rule to make target 'uninstall'. Stop....elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline