Jgmenu Categories in Qtile

Just a quick question for you all about Qtile. I added a few IDE's like Pycharm and assumed that jgmenu would update with a development category but this is not the case. Is there a way to update jgmenu so that it shows a development category? All the apps are being dumped in the Other category. There may be other categories it isn't showing for some odd reason and I want to see if there Is a way I can fix it. Thanks in advance guys.

inxi results below:

CPU: 6-Core Intel Core i7-8750H (-MT MCP-) speed/min/max: 3916/800/4100 MHz Kernel: 5.11.16-zen1-1-zen x86_64 Up: 5h 50m 
Mem: 5262.2/15844.4 MiB (33.2%) Storage: 2.34 TiB (29.3% used) Procs: 377 Shell: fish inxi: 3.3.04 

Try installing something code.
It is shown in "Programming" category in Cinnamon.
This way, we can see if the problem is with PyCharm or jgmenu.

And inxi is not same as inxi -Fxxxza

1 Like

Thanks for letting me know.
And I have installed several coding programs like pycharm, thonny and IDEA as well as the open version of vscode. In all Cases they end up in other for some reason. (nuke and pave did not fix the issue so idk)

 ╭─[email protected] in ~ 
 ╰─λ inxi -Fxxxza
System:    Kernel: 5.11.16-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 10.2.0 
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=7b227130-f661-443b-96cb-034265b1cd76 rw 
           [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 
           systemd.unified_cgroup_hierarchy=1 resume=UUID=3c1dcddd-f101-4f5e-929e-0a01750a6b32 loglevel=3 
           Desktop: Qtile 0.17.0 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux 
Machine:   Type: Laptop System: Micro-Star product: GS65 Stealth 8SE v: REV:1.0 serial: <filter> Chassis: type: 10 
           serial: <filter> 
           Mobo: Micro-Star model: MS-16Q4 v: REV:1.0 serial: <filter> UEFI: American Megatrends v: E16Q4IMS.107 
           date: 12/24/2018 
Battery:   ID-1: BAT1 charge: 54.9 Wh (96.0%) condition: 57.2/80.3 Wh (71.3%) volts: 16.2 min: 15.2 model: MSI BIF0_9 
           type: Li-ion serial: N/A status: Unknown 
           Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard ERGO K860 serial: <filter> 
           charge: 100% (should be ignored) rechargeable: yes status: Discharging 
           Device-2: hidpp_battery_1 model: Logitech Wireless Mouse MX Master 3 serial: <filter> 
           charge: 100% (should be ignored) rechargeable: yes status: Discharging 
CPU:       Info: 6-Core model: Intel Core i7-8750H bits: 64 type: MT MCP arch: Kaby Lake note: check family: 6 
           model-id: 9E (158) stepping: A (10) microcode: DE cache: L2: 9 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 52799 
           Speed: 3894 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 3894 2: 3883 3: 3895 4: 3802 5: 3880 6: 3852 7: 3900 
           8: 3900 9: 3861 10: 3893 11: 3900 12: 3896 
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling 
           Type: srbds mitigation: Microcode 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel UHD Graphics 630 vendor: Micro-Star MSI driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e9b 
           class-ID: 0300 
           Device-2: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Micro-Star MSI driver: nvidia v: 465.27 
           alternate: nouveau,nvidia_drm bus-ID: 01:00.0 chip-ID: 10de:1f11 class-ID: 0300 
           Device-3: Acer HD Webcam type: USB driver: uvcvideo bus-ID: 1-11:6 chip-ID: 5986:211c class-ID: 0e02 
           Display: x11 server: X.Org 1.20.11 compositor: picom v: git-dac85 driver: loaded: intel,nvidia 
           unloaded: modesetting,nouveau alternate: fbdev,nv,vesa display-ID: :1 screens: 1 
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
           Monitor-1: eDP1 res: 1920x1080 hz: 144 dpi: 143 size: 340x190mm (13.4x7.5") diag: 389mm (15.3") 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.0.3 direct render: Yes 
Audio:     Device-1: Intel Cannon Lake PCH cAVS vendor: Micro-Star MSI driver: snd_hda_intel v: kernel 
           alternate: snd_soc_skl,snd_sof_pci bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403 
           Sound Server-1: ALSA v: k5.11.16-zen1-1-zen running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: yes 
           Sound Server-4: PipeWire v: 0.3.26 running: yes 
Network:   Device-1: Intel Wireless-AC 9560 [Jefferson Peak] driver: iwlwifi v: kernel port: 5000 bus-ID: 00:14.3 
           chip-ID: 8086:a370 class-ID: 0280 
           IF: wlo1 state: up mac: <filter> 
           Device-2: Qualcomm Atheros Killer E2500 Gigabit Ethernet vendor: Micro-Star MSI driver: alx v: kernel port: 3000 
           bus-ID: 3d:00.0 chip-ID: 1969:e0b1 class-ID: 0200 
           IF: enp61s0 state: down mac: <filter> 
Bluetooth: Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) type: USB driver: btusb v: 0.8 bus-ID: 1-14:7 
           chip-ID: 8087:0aaa class-ID: e001 
           Report: bt-adapter ID: hci0 rfk-id: 1 state: down bt-service: enabled,running rfk-block: hardware: no software: yes 
           address: <filter> 
Drives:    Local Storage: total: 2.34 TiB used: 108.56 GiB (4.5%) 
           SMART Message: Required tool smartctl not installed. Check --recommends 
           ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: 
           physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 rotation: SSD serial: <filter> rev: 1B2QEXM7 temp: 44.9 C 
           scheme: GPT 
           ID-2: /dev/nvme1n1 maj-min: 259:4 vendor: Western Digital model: PC SN520 SDAPNUW-512G size: 476.94 GiB block-size: 
           physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 rotation: SSD serial: <filter> rev: 20140000 temp: 47.9 C 
           scheme: GPT 
           ID-3: /dev/sda maj-min: 8:0 type: USB model: Mass Storage Device size: 59.48 GiB block-size: physical: 512 B 
           logical: 512 B serial: <filter> rev: 1.00 scheme: MBR 
           ID-4: /dev/sdb maj-min: 8:16 type: USB vendor: Seagate model: ST1000LM 024 HN-M101MBB size: 931.51 GiB block-size: 
           physical: 512 B logical: 512 B serial: <filter> scheme: MBR 
Partition: ID-1: / raw-size: 914.24 GiB size: 914.24 GiB (100.00%) used: 108.56 GiB (11.9%) fs: btrfs dev: /dev/nvme0n1p2 
           maj-min: 259:2 
           ID-2: /boot/efi raw-size: 256 MiB size: 252 MiB (98.46%) used: 547 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 
           maj-min: 259:1 
           ID-3: /home raw-size: 914.24 GiB size: 914.24 GiB (100.00%) used: 108.56 GiB (11.9%) fs: btrfs dev: /dev/nvme0n1p2 
           maj-min: 259:2 
           ID-4: /var/log raw-size: 914.24 GiB size: 914.24 GiB (100.00%) used: 108.56 GiB (11.9%) fs: btrfs 
           dev: /dev/nvme0n1p2 maj-min: 259:2 
           ID-5: /var/tmp raw-size: 914.24 GiB size: 914.24 GiB (100.00%) used: 108.56 GiB (11.9%) fs: btrfs 
           dev: /dev/nvme0n1p2 maj-min: 259:2 
Swap:      Kernel: swappiness: 10 (default 60) cache-pressure: 75 (default 100) 
           ID-1: swap-1 type: partition size: 17.02 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3 
           ID-2: swap-2 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram0 
           ID-3: swap-3 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram1 
           ID-4: swap-4 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram2 
           ID-5: swap-5 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram3 
           ID-6: swap-6 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram4 
           ID-7: swap-7 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram5 
           ID-8: swap-8 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram6 
           ID-9: swap-9 type: zram size: 1.29 GiB used: 768 KiB (0.1%) priority: 32767 dev: /dev/zram7 
           ID-10: swap-10 type: zram size: 1.29 GiB used: 512 KiB (0.0%) priority: 32767 dev: /dev/zram8 
           ID-11: swap-11 type: zram size: 1.29 GiB used: 512 KiB (0.0%) priority: 32767 dev: /dev/zram9 
           ID-12: swap-12 type: zram size: 1.29 GiB used: 512 KiB (0.0%) priority: 32767 dev: /dev/zram10 
           ID-13: swap-13 type: zram size: 1.29 GiB used: 512 KiB (0.0%) priority: 32767 dev: /dev/zram11 
Sensors:   System Temperatures: cpu: 78.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 383 Uptime: 10h 47m wakeups: 37688 Memory: 15.47 GiB used: 6.58 GiB (42.5%) Init: systemd v: 248 
           tool: systemctl Compilers: gcc: 10.2.0 clang: 11.1.0 Packages: pacman: 1738 lib: 509 Shell: fish v: 3.2.1 
           running-in: kitty inxi: 3.3.04 

ahh my bad. I see. Yes I will look for that app give me a minute


Code is installed and for some reason shows up in accessories. odd.


Well I think I've found the problem... For some reason jetbrains is in the panel without a .desktop file. I bet if I put a .desktop file there it will fix the problem.

As a reminder, this is not a chat. As long as no one else posts, you can edit your first post.

Please :slight_smile:

2 Likes

OK Update on this. I completely forgot that there are some .desktop files in .local/share/applications as well. I was able to find the desktop files for pycharm and intellij. adding Text editor to the .desktop files moves them to the accessories menu, but that is not ideal as every time they are updated they go back to the way they were (classified as Development and IDE). Seems like something is going on with the normalization. I'm going to try and install the community edition of pycharm from the repos to see if that does anything but I'm not sure that will fix anything. I will update this comment with the results. Thanks for looking into this.

*Update: So installing pycharm community edition doesn't change anything. If the .desktop does not contain Text Editor it will get dumped in other and if it does have that It will be placed in Accessories. I think this is desired behavior so I was hoping someone could point me in the direction of the file i need to edit to fix this. Thanks.

Are they, even if you put the edited ones into ~/.local/share/applications? That should override the shipped .desktops. If that still doesnt work you could create a pacman hook which triggers on install/update of the desired application and either replaces the desktop with a premade one or uses sed to edit the .desktop file.

2 Likes

Yes.
Post .desktop file(s) from the applications you want to customize.

...or read the standard and make preferred modifications.

2 Likes

So the .desktop files Already list Development and IDE for category. For some reason JGmenu is ignoring both categories.

[Desktop Entry]
Name=PyCharm Professional
Icon=/home/wulfalpha/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/.icon.svg
StartupWMClass=jetbrains-pycharm
Comment=Python IDE for professional developers
Exec="/home/wulfalpha/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/211.7142.13/bin/pycharm.sh" %f
Version=1.0
Type=Application
Categories=Development;IDE;
Terminal=false
StartupNotify=true

here is the desktop from the pro version. Installing from the repos does the same thing. Still shows the Development category with no development or programming category in jgmenu

It seems qtile uses another path to build Apps menu.
By jGmenu:

jgmenu_run apps generates jgmenu flavoured CSV menu data for system applications using built-in schema data or a specified schema file to map categories to directories, rather than system .directory files.

A schema is searched for in the following locations and order:

  • $XDG_CONFIG_HOME/jgmenu/schema

  • $HOME/.config/jgmenu/schema

  • $XDG_CONFIG_DIRS/jgmenu/schema

  • /etc/xdg/jgmenu/schema

The root menu is appended and/or prepended by the contents of the files $HOME/.config/jgmenu/{append,prepend}.csv if they exist.

Applications which do not belong in any of the categories in the schema file, are placed in ‘Other’ (which is the one with no Categories= field)


I have not used qtile, so you have to look up yourself in this path

$HOME/.config/jgmenu/{append,prepend}.csv
2 Likes