You are not logged in.
jgmenu v1.0 is in the bunsenlabs backports.
Thanks to all for support over the last couple of years.
Video clip:
Offline
I've done one more video clip
This one shows how to create submenus
Last edited by malm (2018-06-23 12:22:27)
Offline
Thanks! I've got to start playing with this soon...
...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
Thanks! I've got to start playing with this soon...
And shall I as well 8o
Real Men Use Linux
Offline
^^ + ^ excellent.
Do let me know if you want help to get started.
Offline
Hi Malm, finally started playing with jgmenu. I'm going to be hitting you with some random questions, hope that's OK!
I started out with jgmenu init and chose the BL hydrogen theme.
This looks like a perfect clone of the earlier BL menu.
Before starting out on trying to retheme it to look like the Helium menu (has anyone done that already?) I tried the other csv_cmd options. pmenu and ob worked OK, but xdg did nothing and lx put up an error message. Terminal:
john@helium-dev:~$ killall jgmenu
john@helium-dev:~$ jgmenu_run lx
fatal: 'lx' is not a jgmenu_run command
john@helium-dev:~$ jgmenu_run xdg
info: parsing menu file '/home/john/.config/menus/gnome-applications.menu'
john@helium-dev:~$
lx: I have lxmenu-data and libmenu-cache3 installed. Tried upgrading libmenu-cache3 to 1.1.0-1 from Buster, but it made no difference.
xdg is finding my .menu file, but seems unable to use it. It was just a reference to the system file:
<Menu>
<Name>Applications</Name>
<MergeFile type="parent">/etc/xdg/menus/gnome-applications.menu</MergeFile>
</Menu>
and when I replaced it with a copy of /etc/xdg/menus/gnome-applications.menu I got a menu, but not the same one I had configured. For example the Virualization section was missing, and all its members had gone to the System submenu. Here's the .menu file:
<?xml version="1.0" ?>
<!DOCTYPE Menu
PUBLIC '-//freedesktop//DTD Menu 1.0//EN'
'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'>
<Menu>
<Name>Applications</Name>
<Directory>X-GNOME-Menu-Applications.directory</Directory>
<!-- Scan legacy dirs first, as later items take priority -->
<LegacyDir>/etc/X11/applnk</LegacyDir>
<LegacyDir>/usr/share/gnome/apps</LegacyDir>
<!-- Read standard .directory and .desktop file locations -->
<DefaultAppDirs/>
<DefaultDirectoryDirs/>
<!-- Read in overrides and child menus from applications-merged/ -->
<DefaultMergeDirs/>
<!-- Settings submenu -->
<Menu>
<Name>Preferences</Name>
<Directory>Settings.directory</Directory>
<Include>
<And>
<Category>Settings</Category>
<Not>
<Or>
<Category>System</Category>
<Category>X-GNOME-Settings-Panel</Category>
</Or>
</Not>
</And>
</Include>
</Menu>
<!-- Virtualization -->
<Menu>
<Name>Virtualization</Name>
<Directory>Virtualization.directory</Directory>
<Include>
<And>
<Category>Emulator</Category>
</And>
</Include>
</Menu>
<!-- Virtualization -->
<!-- System Tools-->
<Menu>
<Name>System</Name>
<Directory>System-Tools.directory</Directory>
<Include>
<And>
<Category>System</Category>
<Not><Category>Settings</Category></Not>
<Not><Category>Game</Category></Not>
<Not><Category>Emulator</Category></Not>
</And>
</Include>
</Menu> <!-- End System Tools -->
<Menu>
<Name>Administration</Name>
<Directory>Settings-System.directory</Directory>
<Include>
<And>
<Category>Settings</Category>
<Category>System</Category>
<Not>
<Category>X-GNOME-Settings-Panel</Category>
</Not>
</And>
</Include>
</Menu>
<!-- Accessories submenu -->
<Menu>
<Name>Accessories</Name>
<Directory>Utility.directory</Directory>
<Include>
<And>
<Category>Utility</Category>
<!-- Accessibility spec must have either the Utility or Settings
category, and we display an accessibility submenu already for
the ones that do not have Settings, so don't display accessibility
applications here -->
<Not><Category>Accessibility</Category></Not>
<Not><Category>System</Category></Not>
</And>
</Include>
</Menu> <!-- End Accessories -->
<!-- Accessibility submenu -->
<Menu>
<Name>Universal Access</Name>
<Directory>Utility-Accessibility.directory</Directory>
<Include>
<And>
<Category>Accessibility</Category>
<Not><Category>Settings</Category></Not>
</And>
</Include>
</Menu> <!-- End Accessibility -->
<!-- Development Tools -->
<Menu>
<Name>Development</Name>
<Directory>Development.directory</Directory>
<Include>
<And>
<Category>Development</Category>
</And>
<Filename>emacs.desktop</Filename>
</Include>
</Menu> <!-- End Development Tools -->
<!-- Education -->
<Menu>
<Name>Education</Name>
<Directory>Education.directory</Directory>
<Include>
<And>
<Category>Education</Category>
<Not><Category>Science</Category></Not>
</And>
</Include>
</Menu> <!-- End Education -->
<!-- Science -->
<Menu>
<Name>Science</Name>
<Directory>GnomeScience.directory</Directory>
<Include>
<And>
<Category>Education</Category>
<Category>Science</Category>
</And>
</Include>
</Menu> <!-- End Science -->
<!-- Games -->
<Menu>
<Name>Games</Name>
<Directory>Game.directory</Directory>
<Include>
<And>
<Category>Game</Category>
<Not><Category>ActionGame</Category></Not>
<Not><Category>AdventureGame</Category></Not>
<Not><Category>ArcadeGame</Category></Not>
<Not><Category>BoardGame</Category></Not>
<Not><Category>BlocksGame</Category></Not>
<Not><Category>CardGame</Category></Not>
<Not><Category>KidsGame</Category></Not>
<Not><Category>LogicGame</Category></Not>
<Not><Category>Simulation</Category></Not>
<Not><Category>SportsGame</Category></Not>
<Not><Category>StrategyGame</Category></Not>
</And>
</Include>
<DefaultLayout inline="true" inline_limit="6" inline_header="false">
<Merge type="menus"/>
<Merge type="files"/>
</DefaultLayout>
<Menu>
<Name>Action</Name>
<Directory>ActionGames.directory</Directory>
<Include>
<Category>ActionGame</Category>
</Include>
</Menu>
<Menu>
<Name>Adventure</Name>
<Directory>AdventureGames.directory</Directory>
<Include>
<Category>AdventureGame</Category>
</Include>
</Menu>
<Menu>
<Name>Arcade</Name>
<Directory>ArcadeGames.directory</Directory>
<Include>
<Category>ArcadeGame</Category>
</Include>
</Menu>
<Menu>
<Name>Board</Name>
<Directory>BoardGames.directory</Directory>
<Include>
<Category>BoardGame</Category>
</Include>
</Menu>
<Menu>
<Name>Blocks</Name>
<Directory>BlocksGames.directory</Directory>
<Include>
<Category>BlocksGame</Category>
</Include>
</Menu>
<Menu>
<Name>Cards</Name>
<Directory>CardGames.directory</Directory>
<Include>
<Category>CardGame</Category>
</Include>
</Menu>
<Menu>
<Name>Kids</Name>
<Directory>KidsGames.directory</Directory>
<Include>
<Category>KidsGame</Category>
</Include>
</Menu>
<Menu>
<Name>Logic</Name>
<Directory>LogicGames.directory</Directory>
<Include>
<Category>LogicGame</Category>
</Include>
</Menu>
<Menu>
<Name>Role Playing</Name>
<Directory>RolePlayingGames.directory</Directory>
<Include>
<Category>RolePlaying</Category>
</Include>
</Menu>
<Menu>
<Name>Simulation</Name>
<Directory>SimulationGames.directory</Directory>
<Include>
<Category>Simulation</Category>
</Include>
</Menu>
<Menu>
<Name>Sports</Name>
<Directory>SportsGames.directory</Directory>
<Include>
<Category>SportsGame</Category>
</Include>
</Menu>
<Menu>
<Name>Strategy</Name>
<Directory>StrategyGames.directory</Directory>
<Include>
<Category>StrategyGame</Category>
</Include>
</Menu>
</Menu> <!-- End Games -->
<!-- Graphics -->
<Menu>
<Name>Graphics</Name>
<Directory>Graphics.directory</Directory>
<Include>
<And>
<Category>Graphics</Category>
</And>
</Include>
</Menu> <!-- End Graphics -->
<!-- Internet -->
<Menu>
<Name>Internet</Name>
<Directory>Network.directory</Directory>
<Include>
<And>
<Category>Network</Category>
</And>
</Include>
</Menu> <!-- End Internet -->
<!-- Multimedia -->
<Menu>
<Name>Multimedia</Name>
<Directory>AudioVideo.directory</Directory>
<Include>
<And>
<Category>AudioVideo</Category>
</And>
</Include>
</Menu> <!-- End Multimedia -->
<!-- Office -->
<Menu>
<Name>Office</Name>
<Directory>Office.directory</Directory>
<Include>
<And>
<Category>Office</Category>
</And>
</Include>
</Menu> <!-- End Office -->
<!-- Other -->
<Menu>
<Name>Other</Name>
<Directory>X-GNOME-Other.directory</Directory>
<OnlyUnallocated/>
<Include>
<And>
<Not><Category>Core</Category></Not>
<Not><Category>Screensaver</Category></Not>
<Not><Category>X-GNOME-Settings-Panel</Category></Not>
</And>
</Include>
</Menu> <!-- End Other -->
<Layout>
<Merge type="menus" />
<Menuname>Other</Menuname>
<Merge type="files" />
</Layout>
</Menu> <!-- End Applications -->
I'm using that file successfully with the menu plugin of ADeskBar (an old panel) - section ordering is different, that's no problem, but I would like to have my virtual machines in their own submenu.
I guess that's enough for now.
...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
a. Any good ways to use it instead of gmrun?
Like so, but i'd like to see 'search box' only (and centered on screen)
jgmenu_run xdg --no-dirs | jgmenu --vsimple
b. And a question, in this case, how would I know in advance which gimp will start? (It doesn't seem to follow $PATH order)
c. Can it follow tint2 look and let me override parts? (For example I'd like it to be non-transparent, but still look like tint2)
Last edited by brontosaurusrex (2018-08-02 11:19:32)
Offline
John, that's great.
Before starting out on trying to retheme it to look like the Helium menu (has anyone done that already?)
Not to my knowledge. If you create a helium theme, I'd gladly add it to the repo. It would be a great contribution.
lx put up an error message.
The jgmenu package in the BL backports does not contain the lx module. You need libmenu-cache >=1.1.0 at compile time, otherwise the Makefile will just ignore the 'lx' module. If you have v1.1.0 installed, it will build lx automatically. INSTALL.md gives a step-by-step guide. (very easy )
and when I replaced it with a copy of /etc/xdg/menus/gnome-applications.menu I got a menu, but not the same one I had configured.
The 'xml' module is pretty basic and doesn't understand such thing as "MergeFile". I like the way it's written (simple C), which is why I've kept it. For complicated XDG menus, lx is better. Their respective man pages explain their scope and there is a page on the github wiki which does a comparison of pmenu, lx, xdg. For the time being, I would advise using pmenu or lx.
At the moment I'm refactoring and adding some new features to the jgmenu binary itself. I anticipate it taking another month. I will of course fix bugs, but prefer not to get too side-tracked on 'xdg' at the moment.
Happy hacking
Johan
Offline
a. Any good ways to use it instead of gmrun? Like so, but i'd like to see 'search box' only (and centered on screen)
If you give me another month or so, we should be able to achieve it.
I will add 'center' to menu_valign and menu_halign. I will also add some more sophisticated controls over the menu height. I think a gmrun style launcher could then be achieved by hiding the menu data under a ^tag().
b. And a question, in this case, how would I know in advance which gimp will start? (It doesn't seem to follow $PATH order)
Note sure. Are you using pmenu or lx? lx has some formatting support which we might be able to use here. Is there a difference in the two desktop files? I.e. how would pmenu know the difference?
c. Can it follow tint2 look and let me override parts? (For example I'd like it to be non-transparent, but still look like tint2)
Yes
By default, jgmenu will make guesses based on tint2. Any line in jgmenurc that you uncomment, will take precedence. So, just uncomment color_menu_bg and set its alpha channel value to 100. E.g:
color_menu_bg = #222222 100
Last edited by malm (2018-08-02 21:04:42)
Offline
If you give me another month or so, we should be able to achieve it.
I will add 'center' to menu_valign and menu_halign.
Just a question, don't want you to loose any time on this if it's irrelevant.
Are you using pmenu or lx? lx has some formatting support which we might be able to use here. Is there a difference in the two desktop files? I.e. how would pmenu know the difference?
No idea what I'am using (how to check?), but some of those gimp's are actually a script in my ~/bin which says
flatpak run org.gimp.GIMP "$@"
so it's finding more than just desktop files? Those appimages don't have any desktop files either afaik.
c. Thanks.
Offline
Hi Johan!
If you create a helium theme, I'd gladly add it to the repo.
I'll have a look at the existing templates, and see...
The jgmenu package in the BL backports does not contain the lx module. You need libmenu-cache >=1.1.0 at compile time, otherwise the Makefile will just ignore the 'lx' module. If you have v1.1.0 installed, it will build lx automatically.
OK, understood, thanks. While I could build my own jgmenu with lx support, I'd rather work with what's available to general BL users. But I see that libmenu-cache3 1.1.0-1 is available in Buster, so our Lithium build should support lx, right? (Maybe nobody will build be a testing copy. ) While lx looks like an attractive option for a dynamic apps menu, my first target, anyway, will be to make a jgmenu version of the standard static BL menu. If that works well, then BL Lithium's menu can be free of dependency on Openbox, allowing users to switch window managers easily.
For the time being, I would advise using pmenu or lx.
OK. As I said, the applications menu is not yet a high priority for me anyway.
And thanks for all your work on this.
...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
Colour theming
I've played around with jgmenurc, trying to import the menu colours from /usr/share/themes/Beam/openbox-3/themerc It comes close, but there are some differences I haven't been able to fix. (Screenshots below.) Could it be the GTK theme is having an influence either here or in the openbox menu?
jgmenurc:
#stay_alive = 1
#hide_on_startup = 0
tint2_look = 0
at_pointer = 1
#terminal_exec = x-terminal-emulator
#terminal_args = -e
#monitor = 0
#hover_delay = 100
#menu_margin_x = 0
#menu_margin_y = 0
csv_cmd = ob
menu_width = 130
menu_padding_top = 0
menu_padding_right = 0
menu_padding_bottom = 0
menu_padding_left = 0
menu_radius = 1
#menu_border = 0
#menu_halign = left
#menu_valign = bottom
sub_spacing = 3
#sub_padding_top = auto
#sub_padding_right = auto
#sub_padding_bottom = auto
#sub_padding_left = auto
#sub_hover_action = 1
item_margin_x = 1
item_margin_y = 1
item_height = 19
#item_padding_x = 4
#item_radius = 1
#item_border = 0
#item_halign = left
sep_height = 4
font = Sans 10
#font_fallback = xtg
icon_size = 0
#icon_text_spacing = 10
#icon_theme =
#icon_theme_fallback = xtg
#arrow_string = ▸
arrow_width = 8
color_menu_bg = #C8CFCB 100
color_menu_border = #C8CFCB 8
color_norm_bg = #C8CFCB 00
color_norm_fg = #13071B 100
color_sel_bg = #74998B 20
color_sel_fg = #101010 100
color_sel_border = #74998B 8
color_sep_fg = #4c4c4c 20
#csv_name_format = %n (%g)
and themerc:
!! Bunsen-Dark
!! Menu settings
menu.title.bg: flat gradient vertical bevel1
menu.title.bg.color: #C8CFCB
menu.title.bg.colorTo: #C8CFCB
menu.title.text.color: #13071B
menu.title.text.justify: right
menu.items.bg: flat solid
menu.items.bg.color: #C8CFCB
menu.items.text.color: #13071B
menu.items.disabled.text.color: #575757
menu.items.active.bg: flat gradient vertical bevel1
menu.items.active.bg.color: #74998B
menu.items.active.bg.colorTo:#74998B
menu.items.active.text.color: #101010
menu.bullet.selected.image.color: #101010
menu.separator.color: #4c4c4c
menu.border.color: #C8CFCB
!! focused window settings
window.active.title.bg: flat gradient vertical bevel1
window.active.title.bg.color: #C8CFCB
window.active.title.bg.colorTo: #C8CFCB
window.active.title.separator.color: #C8CFCB
window.active.handle.bg: flat gradient vertical bevel1
window.active.handle.bg.color: #C8CFCB
window.active.handle.bg.colorTo: #C8CFCB
window.active.grip.bg: parentrelative
window.active.label.bg: parentrelative
window.active.label.text.color: #13071B
window.*.button.*.bg: parentrelative
window.active.button.*.image.color: #13071B
window.active.button.*.hover.image.color: #FFFFFF
window.active.button.*.pressed.image.color: #666666
window.active.button.disabled.image.color: #575757
!! unfocused window settings
window.inactive.title.bg: flat gradient vertical bevel1
window.inactive.title.bg.color: #C8CFCB
window.inactive.title.bg.colorTo: #C8CFCB
window.inactive.title.separator.color: #C8CFCB
window.inactive.handle.bg: flat gradient vertical bevel1
window.inactive.handle.bg.color: #C8CFCB
window.inactive.handle.bg.colorTo: #C8CFCB
window.inactive.grip.bg: parentrelative
window.inactive.label.bg: parentrelative
window.inactive.label.text.color: #666666
window.inactive.button.*.image.color: #666666
window.inactive.button.*.hover.image.color: #101010
window.inactive.button.*.pressed.image.color: #666666
window.inactive.button.disabled.image.color: #575757
!! Global width settings
border.Width: 1
padding.width: 1
window.handle.width: 0
window.client.padding.width: 0
menu.overlap.x: -6
!! Miscellaneous settings
window.active.border.color: #74998B
window.inactive.border.color: #74998B
!! OSD
osd.bg: flat gradient vertical bevel1
osd.bg.color: #C8CFCB
osd.bg.colorTo: #C8CFCB
osd.label.bg: parentrelative
osd.hilight.bg: flat solid
osd.hilight.bg.color: #a3a3a3
osd.unhilight.bg: flat solid
osd.unhilight.bg.color: #545454
osd.label.text.color: #13071B
!! font me!
window.label.text.justify: center
window.active.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1
window.inactive.label.text.font:shadow=n:shadowtint=-60:shadowoffset=1
menu.items.font:
menu.title.text.font:shadow=n:shadowtint=70
...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
Yes, GTK3 could be an issue.
More importantly, that looks great!
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^^
Thanks!
The following gets us a bit closer (alpha 100 instead of 20)
color_sel_bg = #74998B 100
I also made some minor tweaks to the separator colour and menu height.
It's hard to tell the difference now.
I've added it to the repo here: 3c679b85
Offline
malm wrote:If you give me another month or so, we should be able to achieve it.
I will add 'center' to menu_valign and menu_halign.Just a question, don't want you to loose any time on this if it's irrelevant.
I am planning to do this
No idea what I am using (how to check?), but some of those gimp's are actually a script in my ~/bin which says
flatpak run org.gimp.GIMP "$@"
so it's finding more than just desktop files? Those appimages don't have any desktop files either afaik.
I'm assuming you're using the 'pmenu' module (default). If you run
jgmenu_run pmenu
, you can see what desktop file each entry comes from.
All pmenu entries come from .desktop files. pmenu does not look in ~/bin or similar (unless a .desktop file tells it to).
Offline
The following gets us a bit closer (alpha 100 instead of 20)
color_sel_bg = #74998B 100
I also made some minor tweaks to the separator colour and menu height.
It's hard to tell the difference now.
https://cdn.scrot.moe/images/2018/08/03/2018-08-03-203411_1024x600_scrot.th.png
I've added it to the repo here: 3c679b85
Very impressive! They do look pretty much identical.
The only remaining issue I've noticed is how to format the menu titles so as to distinguish them from active menu items. (eg "Online Help" in the "Help & Resources" submenu) The BL "beam" openbox menu does this by right-justifying the text. Would something like that be difficult to add to jgmenu? Alternatively, a different background colour would probably be enough. I couldn't find any "title" formatting options in the current documentation.
Oh yes, this is rather minor, but the jgmenu width is hard-coded in jgmenurc, while the OB menu's width seems to be dynamically adjusted to the longest string. Something that would be nice, but not desperately important.
Have you considered parsing the current GTK theme's openbox-3/themerc file for menu settings, the way tint2rc is parsed? Again, not if it means a lot of work.
I noticed that the font has to be set to "sans 10" in jgmenurc to get the same size as OB with "sans 11" in rc.xml. Any idea what's happening there?
Just some thoughts. The BL helium jgmenu already looks very nice. I'm going to replace openbox's menu with this for a while and see how it goes.
Last edited by johnraff (2018-08-04 06:28:34)
...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
Very impressive! They do look pretty much identical.
The only remaining issue I've noticed is how to format the menu titles so as to distinguish them from active menu items. (eg "Online Help" in the "Help & Resources" submenu) The BL "beam" openbox menu does this by right-justifying the text. Would something like that be difficult to add to jgmenu? Alternatively, a different background colour would probably be enough. I couldn't find any "title" formatting options in the current documentation.
It's on my list of things to do and it shouldn't be too hard. It's github issue #36.
Oh yes, this is rather minor, but the jgmenu width is hard-coded in jgmenurc, while the OB menu's width seems to be dynamically adjusted to the longest string. Something that would be nice, but not desperately important.
The config option 'menu_width' sets the minimum width. The menu width does in fact adjust to the longest string. Try setting 'menu_width' to a small value (e.g. 10) to test it.
I have just looked in the man page jgmenu(1) and it's poorly defined. Thanks for highlighting - I will put that right.
The only exception to the above is that the width does not adjust when the filter is applied. I will try to truncate the strings in a tidier way in this situation (issue #59)
Have you considered parsing the current GTK theme's openbox-3/themerc file for menu settings, the way tint2rc is parsed? Again, not if it means a lot of work.
Yes, I have considered it and I try to strike a balance here between
- code simplicity
- easy setup for end-user
- not confusing the end-user with complicated precedences
I'm keen not to make the jgmenu more complex with respect to 'guessing' config variables and the associated precedence that comes with it. We already do xsettings, tint2rc, X11's wm-spec _NET_WORKAREA and gtk3.0 (for font and icon theme).
I think it's a good example of "explicit is better than implicit".
I do however think that there is a place for the 'init' module to parse GTK theme variables and set jgmenurc values accordingly. It keeps the code nicely modularized and also puts the end-user in more control. This could be done for other config files too, for example polybar.
This approach also makes these nice stand-alone projects for anyone who wishes to contribute code.
I noticed that the font has to be set to "sans 10" in jgmenurc to get the same size as OB with "sans 11" in rc.xml. Any idea what's happening there?
I'm note sure, but my guess would be that it's DPI related (font DPI is complex on X11).
jgmenu and openbox both user pango to render fonts. In jgmenu, the font description without a specified size unit is interpreted as “points”. If “px” is added, it will be read as pixels. This is consistent with most other applications (including openbox I think - based on having had a quite browse of the code on github).
Offline
johnraff wrote:...how to format the menu titles...
It's on my list of things to do and it shouldn't be too hard. It's github issue #36.
Nice. (I hadn't noticed that sep() corresponded to OB's title.)
johnraff wrote:...the jgmenu width is hard-coded...
The config option 'menu_width' sets the minimum width. The menu width does in fact adjust to the longest string...
So it does!
johnraff wrote:...parsing the current GTK theme's openbox-3/themerc file for menu settings...
Yes, I have considered it
and I try to strike a balance here between
- code simplicity
- easy setup for end-user
- not confusing the end-user with complicated precedencesI'm keen not to make the jgmenu more complex with respect to 'guessing' config variables and the associated precedence that comes with it.
...
I do however think that there is a place for the 'init' module to parse GTK theme variables and set jgmenurc values accordingly.
You mean when running 'jgmenu init', add an option to clone the OB menu theme? That sounds good. Not many users will be changing their GTK themes every day and wanting dynamic updates to jgmenu's theme, I guess.
On to play with pipemenus...
...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
@misko_2083 That's very creative!
I managed to get it to work by pressing ctrl+shift+F12, but not with a middle click.
How do you run the xinput/xdotoool script to allow a click in Thunar to be detected (I can detect middle-clicks when clicking in the terminal where the script is running).
Offline
jgmenu v1.2 is out
Updates since v1.0
------------------
* Add ^root() markup
* Add config options:
- csv_single_window
- hide_back_items
* Add 'places' module
* Make super-key hide/exit menu
* Make init-script non-interactive by default
(use -i to enter interactive mode)
Updates since v1.1
------------------
* Add config options
- 'csv_no_dirs' - create a menu without a directory structure
(i.e. not nested). This option applies to the lx and pmenu
modules.
- 'menu_height_min', 'menu_height_max' - set the min and max
height of the root menu.
- 'menu_height_mode' which can be either 'static' or 'dynamic'.
'dynamic' is a new mode in which the menu height is re-calculated
every time the root menu is redefined using ^root() (issue #57)
A single window menu, with the height adjusting to the space
required by the items, can be achieved with the following
configuration:
csv_cmd = pmenu
menu_height_mode = dynamic
hide_back_items = 0
csv_single_window = 1
* Support the keyword 'center' for menu alignment
(using menu_valign and menu_halign)
Try this for a launcher:
tint2_look = 0
csv_cmd = pmenu
menu_halign = center
menu_valign = center
menu_height_min = 500
menu_height_max = 500
csv_no_dirs = 1
* x11-ui.c: replace xinerama with xrandr as xinerama has been reported
to segfault with some new graphics cards (issue #60)
(Suggested-by: @vaygr)
* widgets: select on mouseover and enable left-click (if action has
been specified)
* init: add bunsenlabs_helium template (Provided-by: @johnraff)
* Unselect items when mouse moves away from them
* Exclude "hide-on-startup" option when restarting
Offline