Jgmenu

Set position_mode=ipc in your config file.
Set the environment variables in the same shell instance that you call jgmenu_run from

2 Likes

thanks for the quick reply the mode in config file was set to icp and the menu was at the bottom. so yuo are saying in my bashrc file add
TINT2_BUTTON_PANEL_X1 , or TINT2_BUTTON_PANEL_Y1 , ? one last thing what would the format look like this?
echo $TINT2_BUTTON_ALIGNED_X1

Okay, let’s take a step back.

position_mode=ipc is quite a specialist thing which enables applications such as panels to set the position of a long-running instance of jgmenu (i.e. one that keeps running in the background even when not visible in order to avoid loading .dekstop entries and icons every time the menu is called) without those applications/panels/etc implementing unix sockets (or other IPC technology) specifically for jgmenu - which quite frankly they are unlike to do. For example if you use tint2 or xfce4-panel you can change the position of the whole panel or the launch button within the panel and jgmenu will ‘follow’ without you having to edit the jgmenu config file.

Happy to talk more about how to set those environment variables but suspect it’s not what you want :smile:

For the vast majority of users, the two position_mode settings to use are fixed or pointer. In your case it sounds like you want fixed.
If your window manager and panel respect/use _NET_WORKAREA you shouldn’t need to do anything.
If not, just set menu_halign in ~/.config/jgmenu/jgmenurc. You might also need to set menu_margin_y

For example

position_mode=fixed
menu_halign=top
menu_margin_y=30

See jgmenu(1) for more details on the menu_ config options

This is quite deep - but for reference nonetheless.

The following links points to the code in tint2 and the xfce4-panel plugin which set the environment variables.

tint2
xfce4-panel

You could set these in a shell script as per the example below, but as I said in previous post, I suspect it’s not what you’re trying to do and it’s sort of pointless unless you actually want to change the values in real-time.

export TINT2_BUTTON_ALIGNED_X1=30
etc, etc

jgmenu_run

or

env TINT2_BUTTON_ALIGNED_X1=30 etc etc jgmenu_run

WELL alright , this is great to have a dev so involved with the pr of his/ her product. but ya the ipc option was what i was trying for because I first got the idea to use your menu when i was ruining garuda linux qtile edition. I never saw a menu in the qtile bar like that and loved it so when I went back to arcolinux I ganked the code and took jgmenu with me lol.
Well they had it set to that ipc option. and the menu was nailed to the top bar perfectly but when I used the same config file on arcolinux the menu was no longer at the top. I suspect they did something else on the jgmenu config that I didn’t look at.
But ill give the other two methods like you said a try and see if that works . Im also trying to bind the menu to open with a press of the windows key but for some reason that inst working. Probably just need to iron out the bugs.

Good stuff.

Well, I’m mostly on Wayland these days so am a bit out of touch with X, but try ksuperkey or xcape.

jgmenu-with-superkey

1 Like