You are not logged in.

#126 2017-06-16 21:39:33

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

Re: jgmenu

^Awesome, thank you! That's exactly what I meant.

Very nice desktop btw.

Offline

#127 2017-07-22 19:22:50

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

Re: jgmenu

jgmenu v0.6 has been released

Screenshot below based on examples/ex11.sh

yq9cK5It.png

It is as vanilla as it gets. There is no jgmenurc. The tint2rc is the one created automatically by tint2 with only the following mods:

panel_items = PLTSC

button = new
button_icon = your_favourite_icon
button_max_icon_size = 22
button_lclick_command= jgmenu_run

Offline

#128 2017-07-22 19:35:09

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

Re: jgmenu

Screenshot below based on examples/ex13.sh showing a search box at the top of the menu.

Lgw0h9Nt.png

It's a flavour widgets.c - which is at less than 1% complete/mature and API is likely to change. Yet, I thought some of you might find it slightly more interesting than the scrot in the previous post.

Last edited by malm (2017-07-22 19:36:01)

Offline

#129 2017-08-13 19:01:58

mrneilypops
The BL Scrot.Moe Guy
From: luxembourg
Registered: 2015-09-30
Posts: 577
Website

Re: jgmenu

a small problem with jgmenu...

I have sublime text installed but it does not show in the menu.
As per usual practice re: sublime the app is installed to /opt and symlinked to /usr/bin

sudo ln -s /opt/sublime_text_3/sublime_text /usr/bin/sublime

Any ideas how to get this app to show in jgmenu would be appreciated.

Offline

#130 2017-08-13 20:07:08

mrneilypops
The BL Scrot.Moe Guy
From: luxembourg
Registered: 2015-09-30
Posts: 577
Website

Re: jgmenu

^
Fixed by adding a 'prepend' to ~/.config/jgmenu
Lesson#8 wink
https://github.com/johanmalm/jgmenu/blo … orial.7.md

Firefox,firefox,firefox
Thunar,thunar,system-file-manager
Termite,termite,utilities-terminal
Sublime,sublime,sublime-text-editor
^sep()

I added a couple more for good measure  wink

2017-08-13-215356_1920x1080_scrot.th.png

Offline

#131 2017-08-13 20:31:25

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

Re: jgmenu

Nice. I was in the middle of trying to install void linux  in virtualbox. It beat me though :-(
Couldn't get grub2 to play. I'll try it on a real drive tomorrow.
jgmenu has made into the official repo on void, so thought I should give it ago.

Offline

#132 2017-08-13 20:42:37

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

Re: jgmenu

Looks like I ought to try dwmXS too smile

I've just added support for pipemenus, so you you could add an openbox type menu in dwm.

jgmenu_run ob

Last edited by malm (2017-08-13 20:42:55)

Offline

#133 2017-08-13 21:00:03

mrneilypops
The BL Scrot.Moe Guy
From: luxembourg
Registered: 2015-09-30
Posts: 577
Website

Re: jgmenu

^Thanks for your help malm.
I found the missing icons!

append

^sep()
#Exit to prompt,openbox --exit,system-log-out
#Suspend,systemctl -i suspend,system-log-out
Reboot,sudo reboot,gtk-refresh
Poweroff,sudo poweroff,system-shutdown

prepend

Firefox,firefox,firefox
Thunar,thunar,system-file-manager
Termite,termite,utilities-terminal
Sublime,sublime,sublime
^sep()

2017-08-13-224638_1920x1080_scrot.th.png

I don't seem to find a dedicated reboot icon in ACYLS...gtk-refresh will suffice wink

Thanks for the tip about pipemenus cool
Void+grub2 can be a pain...on my multi boot machine I usually update-grub from an existing install...

Offline

#134 2017-08-14 20:35:59

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

Re: jgmenu

^ Yes, I've noticed that not all icon-themes have 'system-reboot'. Not sure why - seems an obvious one to include.

It was the EFI stuff that caught me out with grub2. I'll leave it for the weekend I think. It does look an interesting distro though smile

I'm pretty hopeless at screen-casting, but here is an attempt at showing the openbox menu pipes using 'real' pipes rather than the previous work-around. Animated gif:

3QyUKEQt.gif

EDIT: with the image this time.
EDIT2: background by @brontosaurusrex and @ututo

Last edited by malm (2017-08-14 20:41:56)

Offline

#135 2017-08-15 09:34:43

mrneilypops
The BL Scrot.Moe Guy
From: luxembourg
Registered: 2015-09-30
Posts: 577
Website

Offline

#136 2017-11-01 17:19:54

misko_2083
Member
Registered: 2016-05-24
Posts: 378

Re: jgmenu

Continuing from here: https://forums.bunsenlabs.org/viewtopic … 973#p62973
I've changed the script to display window list in jgmenu.
I didn't like the look of OB client list
https://cdn.scrot.moe/images/2017/10/22/wlist.th.png
It was hard getting the window icons from the active windows.
From the Xindow property _NET_WM_ICON the raw icon data is converted to pam image format and then piped to convert (imagemagick).

xprop -notype 32c -id $win_id _NET_WM_ICON \
                  |    perl -0777 -pe '@_=/\d+/g;
                  printf "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n", splice@_,0,2;
                  $_=pack "N*", @_;
                   s/(.)(...)/$2$1/gs' \
                  | convert pam:- $TMPDIR/$wm_class.png

JGmenu focuses selected window. Number in front of window title, as in the next image, is workspace.
Screenshot---11012017---061045-PM.th.png

Full script:

#!/bin/bash

TMPDIR=$(mktemp -d /tmp/XXXXXX)
trap "rm -rf $TMPDIR" EXIT

# With process substitution output from "wmctrl -l" is redirected to file descriptor 3
# while loop reads  "win_id" and "display" variables from file descriptor 3
while read -r win_id display text <&3
  do
     # filter windows with win_id that has X window properties of type normal or dialog
     if xprop -id $win_id | grep -e "^_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL" \
                                 -e "^_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG" &>/dev/null
     then
         # Get WM_CLASS X window property
         wm_class=$(xprop -id $win_id WM_CLASS | awk -F'"' '{print $4}')

         # replace comma with Unicode U+FE50 SMALL COM­MA
         text="$(echo "$text" | sed 's/','/\﹐/g')"

         if  hash convert &>/dev/null;then
           # Convert icon to pam then use imagemagic to convert to png
           xprop -notype 32c -id $win_id _NET_WM_ICON \
                  |    perl -0777 -pe '@_=/\d+/g;
                  printf "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n", splice@_,0,2;
                  $_=pack "N*", @_;
                   s/(.)(...)/$2$1/gs' \
                  | convert pam:- $TMPDIR/$wm_class.png 2>/dev/null
         fi

         # if WM_CLASS is a "Wrapper"
         if [[ "${wm_class}" == "Wrapper" ]]
         then
             # Get WM_CLASS X window property _NET_WM_NAME
             wm_class=$(xprop -id $win_id _NET_WM_NAME | awk -F '"' '{print $2}')

             echo "$display $text,xdotool windowactivate $win_id,xfwm4"
         else
             # print
             echo "$display $text,xdotool windowactivate $win_id,$TMPDIR/$wm_class.png"
         fi
     fi
done 3< <(wmctrl -l | awk '{print $1,$2,substr($0, index($0,$4), 28)}') | jgmenu --simple --at-pointer

# Close file descriptor 3
exec 3<&-

exit

Edit: Noticed when the window title has comma in it (like this webpage), this messes up the menu item. So I replace comma with small comma from unicode.

echo "$text" | sed 's/','/\﹐/g'

Not sure if jgmenu has an option to escape characters.

Last edited by misko_2083 (2017-11-01 18:21:21)


Што ни оштровиди ум сагледати не може - љубав превазилази.

Offline

#137 2017-11-01 18:30:08

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

Re: jgmenu

Interesting :-)

Use triple quote around field to avoid reading comma as field separator.

You can install with

apt install jgmenu

(from backports).

I'll try your script when I get home.

Offline

#138 2017-11-01 18:33:21

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

Re: jgmenu

Offline

#139 2017-11-01 20:07:51

misko_2083
Member
Registered: 2016-05-24
Posts: 378

Re: jgmenu

malm wrote:

Interesting :-)

Use triple quote around field to avoid reading comma as field separator.

You can install with

apt install jgmenu

(from backports).

I'll try your script when I get home.

Thank you

Fixed:

#!/bin/bash

# Temp dir to store the icons
TMPDIR=$(mktemp -d /tmp/XXXXXX)

trap "rm -rf $TMPDIR" EXIT

# With process substitution output from "wmctrl -l" is redirected to file descriptor 3
# while loop reads  "win_id" and "display" variables from file descriptor 3
while read -r win_id display text <&3
  do
     # filter windows with win_id that has X window properties of type normal or dialog
     if xprop -id $win_id | grep -e "^_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL" \
                                 -e "^_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG" &>/dev/null
     then
         # Get WM_CLASS X window property
         wm_class=$(xprop -id $win_id WM_CLASS | awk -F'"' '{print $4}')

         if  hash convert &>/dev/null;then
           # Convert icon to pam then use imagemagic to convert to png
           xprop -notype 32c -id $win_id _NET_WM_ICON \
                  |    perl -0777 -pe '@_=/\d+/g;
                  printf "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n", splice@_,0,2;
                  $_=pack "N*", @_;
                   s/(.)(...)/$2$1/gs' \
                  | convert pam:- $TMPDIR/$wm_class.png 2>/dev/null
         fi

         # if WM_CLASS is a "Wrapper"
         if [[ "${wm_class}" == "Wrapper" ]]
         then
             # Get WM_CLASS X window property _NET_WM_NAME
             wm_class=$(xprop -id $win_id _NET_WM_NAME | awk -F '"' '{print $2}')

             echo "\"\"\"$display $text\"\"\",xdotool windowactivate $win_id,xfwm4"
         else
             # print
             echo "\"\"\"$display $text\"\"\",xdotool windowactivate $win_id,$TMPDIR/$wm_class.png"
         fi
     fi
done 3< <(wmctrl -l | awk '{print $1,$2,substr($0, index($0,$4), 28)}') | jgmenu --simple --at-pointer

# Close file descriptor 3
exec 3<&-

exit

Forgot to mention - script requires imagemagick, xdotool and wmctrl

Last edited by misko_2083 (2017-11-01 20:12:45)


Што ни оштровиди ум сагледати не може - љубав превазилази.

Offline

#140 2018-01-10 22:59:46

twoion
ほやほや
Registered: 2015-08-10
Posts: 3,027

Re: jgmenu

The latest version of jgmenu (0.8) is now available in BL jessie-backports and stretch-backports.


Per aspera ad astra.

Offline

#141 2018-01-27 10:42:08

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

Re: jgmenu

Look at that!

It looks like even Ikea started to use jgmenu. Otherwise why would they named something after its creator!?

malm.th.jpg

Offline

#142 2018-01-27 11:06:48

ohnonot
...again
Registered: 2015-09-29
Posts: 5,022
Website

Re: jgmenu

^ maybe because they're both swedish? wink


Search youtube without a brwoser: repo | thread
BL quote proposals to this thread please.
my repos / my repos

Offline

#143 2018-01-27 13:29:28

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

Re: jgmenu

^^ Martix, I rather like the thought of it!!

^ However, ohnonot is correct. The IKEA malm range has been around for at least a decade. I doubt you'll think of a joke I haven't already heard about it big_smile

Offline

#144 2018-02-10 15:45:41

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

Re: jgmenu

I've made an APKBUILD for any Alpine Linux users who want to try out jgmenu:

https://raw.githubusercontent.com/Head- … ILD.jgmenu

Just copy the APKBUILD to a build directory and run

abuild -ri

to build the package and then

sudo apk add --allow-untrusted ~/packages/$builddir/$arch/jgmenu-*.apk

to install it (replace $builddir with the name of the build directory and replace $arch with the architecture in use).

I've tried to submit it to Alpine's testing repositories but their build system never likes my APKBUILDs so I'm going to need some help from the devs there hmm

https://github.com/alpinelinux/aports/pull/3264


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

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

Offline

#145 2018-02-10 20:37:30

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

Re: jgmenu

^ Thanks. That's great.

I had a look through the Alpine error messages, but am not sure what the issue is. Do let me know if you get any feedback. I might be easier to change the Makefile rather than patch it.

Void Linux required a couple of changes because of the "hardening" CFLAGS, etc.

By the way, we've been added to the Arch community repo.

Thanks to all for support and interest over the last year and a bit.

Offline

#146 2018-02-10 20:58:53

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

Re: jgmenu

malm wrote:

I might be easier to change the Makefile rather than patch it.

Void Linux required a couple of changes because of the "hardening" CFLAGS, etc.

Well the package builds and runs locally just fine so I think the Makefile is OK.

Alpine uses the Travis C.I. build system and it has some idiosyncrasies that I just don't understand, hopefully the devs will take an interest and steer me right.

we've been added to the Arch community repo

Yes, I noticed that today, very well done cool


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

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

Offline

#147 2018-04-25 16:26:20

buildid
Member
Registered: 2016-06-22
Posts: 11

Re: jgmenu

I have installed cairo dock with jgmenu before and it look like this:

2018-03-25-09-53-25_scrot.th.png

Now with the new version of Bunsenlabs my menu is completly empty no programs at al only " recent documents " entry.

i have downloaded an beta an normally update this version with apt-get ill suppose that is oke

jgmenu i have downloaded the whole folder and did the configure / make  / make install all went well .

just to inform because i do not know why this is happening .

just a simple user with no  engineering knowledge :-)

Last edited by Head_on_a_Stick (2018-04-27 05:50:02)

Offline

#148 2018-04-25 21:08:27

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

Re: jgmenu

Does it work if you set

csv_cmd=pmenu

in jgmenurc.

lx needs a more recent version of libmenu-cache

Offline

#149 2018-04-26 13:13:10

buildid
Member
Registered: 2016-06-22
Posts: 11

Re: jgmenu

This is how it looks like and i have done nothing :

#csv_cmd             = pmenu

in usr/local/lib/jgmenu   file

Not sure what i need to do .

Offline

#150 2018-04-26 14:44:43

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

Re: jgmenu

^
May I suggest that we carry on this conversation in the jgmenu thread so that we don't stray too far off topic.
https://forums.bunsenlabs.org/viewtopic.php?id=2862

We'll get it working for  you smile

Have you got a menu package installed? If not, try

sudo apt install lxmenu-data

It looks like you have edited prepend.csv or append.csv. Please could you post these two files (in the jgmenu thread and within \[code\] brackets.)

You might have more than one version of jgmenu installed - looking at your previous post. Even if you do, it probably won't make a difference, so I suggest we sort that out later. Let's start with the steps above first.

Last edited by malm (2018-04-26 14:47:12)

Offline

Board footer

Powered by FluxBB