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/python2
Unfortunately, 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 python
It still fails with:
env: python: No such file or directory
However, this works:
#!/usr/local/bin/python2.7
With 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.
Tumbleweed | KDE Plasma
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 python3
Would 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 python3
Would 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 install
I 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 items
Something 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