• Urban Wallasch
  • task-jwm-desktop
  • Issues
  • #3

Closed
Open
Opened 2016-05-31T11:30Z by Urban Wallasch @Irrwahn

Fix gratuitous "Debian" level pulled in from automatic debian application menu?

[moved here from #2 (comment 7118) ]

In another place Urban Wallasch wrote:

Speaking of the menu: there is still the issue to be solved how to remove the useless and annoying "Debian" layer in the automatic application menus provided by the menu package. I'm not sure if this is feasible without patching the menu package (which would probably break everything else that uses it. I'll have to investigate more.

I am not sure if i understood correctly, but i see no problem at all: jwm in the first place will always point to a ~./jwmrc If we use a $HOME/.jwmrc by default (and i think that one i gave is an excellent one) the debianized version in /etc/jwm is overruled. No need to patch or something else. At least, for me it worked this way.

As an example i can tell you about Salix Fluxbox flavour (Salix is built on top of slackware; by gapan & others): It installs by default a fluxbox menu with xdgmenumaker included.

So, as i it see, we could offer a default menu (open to any change by the user using the jwmconf script) looking like this:

Terminal

Synaptic

Webbrowser

Filemanager

Script Installer

                -----> ufw 

                -----> plank 

                -----> printer

               -----> java

               -----> .......

Help

             -----> JWM

             -----> .......

Logout (=oblogout or cb-exit script)

That's only an idea, open to any change, of course. As for the help section: I think the browser could be used to do that all. It can open links as well as local documents, correct?

Please solve the reCAPTCHA

We want to be sure it is you, please confirm you are not a robot.

  • Urban Wallasch @Irrwahn mentioned in issue #2 · 2016-05-31T07:31Z

    mentioned in issue #2

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-05-31T07:49Z

    I think we might have a misunderstanding here:

    The task-jwm-desktop is not intended to "undebianize" the JWM package by providing a hacked ~/.jwmrc to the user, but on the contrary to better integrate the thing into how things work in the distribution as a whole. This should obviously include a menu that is automatically kept up to date, whenever an application is (un)installed, just like for the other DEs. Another important purpose is of course to recommend / suggest additional packages to be installed and integrated in the desktop.

    Otherwise, what would be the purpose of having the task package, anyway?

    Edited by Urban Wallasch 2016-05-31T08:38Z
  • E. Ninger
    E. Ninger @emninger · 2016-05-31T08:39Z

    [quote]This should obviously include a menu that is automatically kept up to date, whenever an application is (un)installed, just like for the other DEs. [/quote]

    That would be the purpose of xdgmenumaker.

    The default jwm menu is done by: /etc/jwm/system.jwmrc + debian-menu which automatically come installing jwm from the repositories (jessie). Do you consider it as a hack, when you use the default capability of jwm to point to ~/.jwmrc ?

    I'd think it's pretty simple to "overrule" the default menu structure and to have a way way more articulated - AND HANDY!!! - menu.

    Btw, and only a footnote: i would like to point you to the, IMHO, nearly genial because so simple tray configuration: The button places (=root:7) opens pcmanfm as user,pcmanfm as root, pcmanfm applications, pcmanfm devices, pcmanfm trash. There is indeed no need anymore for icons on the desktop, with those 5 options ALWAYS and from any application available options!

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-05-31T09:06Z

    That would be the purpose of xdgmenumaker.

    I am unable to locate xdgmenumaker in the Devuan repositories. Notwithstanding that: Will it run automatically, when the user installs / removes software?

    Do you consider it as a hack, when you use the default capability of jwm to point to ~/.jwmrc

    Yes, because

    1. you invade the users home directory without need
    2. that way you are cut off from the mechanisms provided by the distribution
    3. the user is left alone with an aging config file local to only his home directory
    4. you would have to create a new Devuan package to hold all the config stuff. (I for one am not up to this task.)

    All of that is fine when done manually by the user (our how-to's), but it's not how the task-*-desktop packages work.

  • E. Ninger
    E. Ninger @emninger · 2016-05-31T12:20Z

    As for the ~/.jwmrc : I see your point and i agree :)

    (Would it be the same, if we change during the installation the /etc/jwm/debian-menu file, at least that one?)

    xdgmenumaker (no menumaker as far as i can see) is not in the repositories. It can be found here

    https://github.com/gapan/xdgmenumaker

    As for the jwmconf, i do not find any public download; may be i'm blind. Could you, when you have time, try the jwm configuration manager which is on the github of Israel Dahl?

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-05-31T12:36Z

    Well, changing/etc/jwm/debian-menuwon't do much, at least not for long, according to this comment:<!-- Automatically generated and updated. Do not touch -->

    Tools not in the repository are of no use for our purposes, unless we package them and thus make them available from the repository.

    Man, this turns out to be much more tricky than naive me had thought. I definitely have to do much more investigation on the possibilities to customize jwm in the most non-intrusive way. (This may take some time though, because I will be quite busy with other stuff during the next days or even weeks.)

    (JFTR, again, for an unofficial(!) live CD these constraints may not apply.)

  • E. Ninger
    E. Ninger @emninger · 2016-05-31T14:14Z

    Urban, i know. Is there something or could there be something comparable to the AUR archives in arch linux? Something like unofficial/comunity maintained repositories?

    I attach you the license declaration of jwmconf.

    jwmconf_license

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-05-31T14:23Z

    Well, there's "contrib". But still someone has to make and maintain the package. Plus, one could not refer from a package (e.g. task-jwm-desktop) in "main" to something in e.g. "contrib", AFAIK.

    So, no gain, only loss, and even more work to do.

  • E. Ninger
    E. Ninger @emninger · 2016-05-31T14:44Z

    Urban, excuse my naivity, but may be for the menumaker i have aan idea: Could we use the following pcmanfm command

    pcmanfm menu://applications

    translate it into a jwm compliant text text file by a small script and then insert into the include section in ~/.jwm/menu ?

    In that case, the xdgmenumaker problem would be solved :)

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-05-31T14:57Z

    That would probably be possible, but it might even be easier to just use a stripped version of /etc/jwm/debian-menu . One of the main problem stays though: How and when does it get updated? On each login? Periodically? When the debian-menu file has changed? Manually?

    EDIT: One more problem: this way there would be a hard dependency on pcmanfm \xe2\x80\x94 not good. /EDIT

    I will have to look into the jwm package once more. I wonder if it's possible to patch out the additional "Debian" menu level. At the very least it should be renamed to "Devuan" anyway. So probably no way around forking the jwm package. Would make other tweaks easier too, I believe.

    EDIT2: Ok, found it! The jwm package drops a script in /etc/menu-methods. This script gets triggered externally and rebuilds /etc/jwm/debian-menu when run. That's the script we would have to modify to get a saner menu structure. /EDIT2

    Edited by Urban Wallasch 2016-05-31T15:08Z
  • E. Ninger
    E. Ninger @emninger · 2016-05-31T17:49Z

    Great!!! I'll go to ask in pcmanfm forum how exactly the menu function works. I'd presume it uses a simple routine to "grep" the freedesktop xdg menu ...

  • E. Ninger
    E. Ninger @emninger · 2016-05-31T21:23Z

    The xdgmenumaker python script here attached. May be you can have a look at ... Default location is /usr/bin/local

    I'll try to make an alternative devuan-menu up to thursday. I think it's easy, you could put the debian-menu in a subdirectory and make, for the default installation, a "hard" coded menu, which depends on what applications will be installed by the installer.

    What's curious: hellekin told me about the default fonts for Devuan. They are:

    • OpenSans

    • Source Code Pro (for fixed space)

    But both are NOT in the repositories (Source Code Pro is even, a free, Adobe Font). How that?

    xdgmenumaker

    Edited by E. Ninger 2016-05-31T21:37Z
  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-06-01T07:03Z

    Err, why would we need xdgmenumaker, or the some pcmanfm (it's installation will be optional anyway) functionality, or any hard-coded menu, now that it's clear that only the jwm package has to be modified to get a decent and automatically updated application menu?!

    And even if we want to modify the basic menu, that again would have to be done in the jwm package!

    Re fonts: They are in the repos; have a look at the texlive-fonts-extra package.

    Edited by Urban Wallasch 2016-06-01T07:07Z
  • E. Ninger
    E. Ninger @emninger · 2016-06-01T07:23Z

    [quote]Re fonts: They are in the repos; have a look at the texlive-fonts-extra package.[/quote]

    Just to learn something: How did you find out this? I searched with synaptic to no result ...

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-06-01T07:35Z

    You'd usually useapt-file search filenameorapt-file search /path/to/filefor that. Unfortunately it's currently broken and in the process of being fixed in Devuan. So I just went with a quick web search for "debian open sans", which instantly brought me to the relevant page onpackages.debian.org. :-)

  • E. Ninger
    E. Ninger @emninger · 2016-06-01T09:50Z

    I see. But that package is enormous: 960 MB to download! Can you force a user to do that? Or would there be reasonable ways to extract only the 2 fonts needed from the package? Either for a livecd iso or for an installation task?

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-06-01T09:58Z

    For a live CD basically anything is possible. But this is not possible for an installation task, unfortunately.

  • E. Ninger
    E. Ninger @emninger · 2016-06-02T18:23Z

    Urban, you said:

    "Err, why would we need xdgmenumaker, or the some pcmanfm (it's installation will be optional anyway) functionality, or any hard-coded menu, now that it's clear that only the jwm package has to be modified to get a decent and automatically updated application menu?!"

    I do not understand, when you say: "automatically updated". That's beyond my knowledge of jwm? Yes, we can manually update (and fork) the default jwm debian menu. But HOW it would get updated automatically?

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-06-03T08:24Z

    That's not a functionality in JWM per se, it's part of the debian jwm package. During installation a script is placed in/etc/menu-methods/jwm, which is called whenever "update-menus" is called, e.g. during a package installation via apt. That way, the jwm->debian menu is always up to date WRT the installed applications.

    That's one reason why we only need to "fix" this script to get rid of the gratuitous level in the ugly Debian menu. I never had to manually update any menus in any DE in Debian.

  • E. Ninger
    E. Ninger @emninger · 2016-06-03T08:49Z

    I understand, indeed, my "/etc/jwm/debian-menu" - although not used, since overwritten, by my local setup - takes care of all added apps. Only one small point - for the eye candy: Do you see a way if (and how) that script can take care of the icons (that's the nice of xdgmenumaker: it pulls in the icons).

    For the rest, i'll try that way out for a moment, just to see, if and how it gets actualized (i think there will be needed always one user action: ' jwm -restart' to make it reload the configs).

    I'll try to change the jwm default menu consequentely - for the moment without icons. Then we can see how to fix/fork ...

  • E. Ninger
    E. Ninger @emninger · 2016-06-03T11:31Z

    Ok. I read the debian menu configuration files and - it's a terrible mess, imho, of course. See here: file:///usr/share/doc/menu/html/ch3.html (paragraph 3.5 the authorative debian menu sections list). In /usr/share/menu any app has its own file but that are by far not all apps available). I do not see really how the debian section list could be overwritten by a more human section organization???? :-(((

    The only reasonable way would be to find out HOW (if at all (????)) the configuration for update-menu could be changed so, that we will have a a result

    the xdg-menu sections (which are created nicely by xdgmenumaker, btw); they should look like this:

    • Bildung
    • B\xc3\xbcro
    • Einstellungen
    • Entwicklung
    • Grafik
    • Multimedia
    • Netzwerk
    • Sonstige
    • System
    • Zubeh\xc3\xb6r

    And hopefully all the awkwarded Debian stuff at the best would go - hidden!! - into a submenu of System called Debian. So it would not hurt at a first glance (moreover the debian way (menu-updater + menu-install) does not work really well, it glitches over several applications which exist in /usr/share/applications and are picked up correctly by xdgmenumaker on the other hand).

  • Urban Wallasch
    Urban Wallasch @Irrwahn · 2016-06-03T11:41Z

    As I see it, it should be possible to fix / enhance the /etc/menu-methods/jwm script, so that only the Debian menu entries exist (which, BTW are exactly those you listed above :-), just without the annoying interposed "Debian" submenu entry, and all applications are picked up correctly.

    It should also be feasible to fix the icon issue in that script; I'll have to check and confirm though.

  • E. Ninger
    E. Ninger @emninger · 2016-06-03T20:03Z

    If so fine.

    Me, after playing with the settings for some hrs, i am unable to find out how :-(

    But, i'm not sure: When is use the debian-menu (for include) i get this:

    Debian --> Anwendungen

                --> Audio
    
                --> Barrierefreiheit
    
               --> Betrachter
    
               --> Dateiverwaltung
    
               --> Editoren
    
                --> Grafik
    
                --> Netzwerk
    
                --> Programmierung
    
                --> Shells
    
                --> System
    
                --> Terminalemulatoren
    
                --> Text
    
                --> Video
    
                --> Werkzeuge
    
                --> Wissenschaft

    Which is pretty much unusable for a normal user experience (moreover the listing in the sections partially is free of any logic (colorpicker is in Werkzeuge, gpick in Graphics - just as an example!).

    Edited by E. Ninger 2016-06-03T20:08Z