这是indexloc提供的服务,不要输入任何密码
Skip to content

addpkg(x11/icewm): 3.8.1 #25433

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 26, 2025
Merged

addpkg(x11/icewm): 3.8.1 #25433

merged 2 commits into from
Jul 26, 2025

Conversation

robertkirkman
Copy link
Contributor

@robertkirkman robertkirkman commented Jul 22, 2025

Screenshot_20250722-033735_Termux_X11

How to launch IceWM in Termux:X11

pkg upgrade
pkg install x11-repo
pkg install termux-x11-nightly icewm xdg-menu
mkdir -p ~/.icewm/
xdg_menu --format icewm \
    --fullmenu \
    --root-menu \
    $PREFIX/etc/xdg/menus/termux-applications.menu \
    > ~/.icewm/programs
export DISPLAY=:0 TERMUX_X11_XSTARTUP=icewm-session
termux-x11 &

I was on the fence about whether or not to add xdg_menu commands to postinst scripts of window managers that don't generate their own menus by default, but I decided not to,

because originally, the idea was that users of IceWM, Openbox, Fluxbox and others are supposed to have control over their own configuration files and choose their own way to set up their menu, and learn how to manually run a menu autogenerator,

I just personally found the Arch Linux branch of the xdg_menu generator to be the easiest to port to Termux and generate a good applications menu for IceWM.

@robertkirkman
Copy link
Contributor Author

robertkirkman commented Jul 22, 2025

While comparing the behavior of the distro Debian with the distro Arch Linux, I have noticed that the code in Debian that implements what I have implemented here using xdg-menu, is very different from how it is implemented in Arch Linux.

Here is some of that code:

https://salsa.debian.org/debian-menu-team/menu

It is written in C, instead of Perl like Arch Linux's implementation.

There is another distro I noticed has an implementation that is closely related to Arch Linux's, OpenSUSE.

https://build.opensuse.org/package/show/openSUSE:Factory/xdg-menu

OpenSUSE also has an xdg-menu package, but it does not directly share a source URL with the Arch Linux package.

The Arch Linux and OpenSUSE xdg-menu packages appear to both be forks of an older, more distant common ancestor at some point more than 20 years ago, which is no longer directly available anywhere. I have used Arch Linux's source URL, but I have additionally incorporated one of the patches from the OpenSUSE package that seemed important for Termux, the patch that patches the sux command to su.

I found it easiest to port the Arch Linux implementation of this feature to Termux, but if anyone has an objection, I would be open to discussion with others about whether it would be preferable to try to port Debian's implementation, or another implementation, or not.

Arch Linux has multiple implementations available, and Termux does not have any yet, so in the future more can be added if someone desires them.

@robertkirkman
Copy link
Contributor Author

I will merge this in 24 hours if no problems are found.

@robertkirkman robertkirkman force-pushed the icewm branch 2 times, most recently from 21f2c0a to 266a583 Compare July 25, 2025 11:53
- Fixes termux#25426

How to launch IceWM in Termux:X11:

```bash
pkg upgrade
pkg install x11-repo
pkg install termux-x11-nightly icewm xdg-menu
xdg_menu --format icewm \
    --fullmenu \
    --root-menu \
    $PREFIX/etc/xdg/menus/termux-applications.menu \
    > ~/.icewm/programs
export DISPLAY=:0 TERMUX_X11_XSTARTUP=icewm-session
termux-x11 &
```

I was on the fence about whether or not to add `xdg_menu` commands to `postinst` scripts of window managers that don't generate their own menus by default, but I decided not to,

because originally, the idea was that users of IceWM, Openbox, Fluxbox and others are supposed to have control over their own configuration files and choose their own way to set up their menu, and learn how to manually run a menu autogenerator,

I just personally found the Arch Linux branch of the `xdg_menu` generator to be the easiest to port to Termux and generate a good applications menu for IceWM.
@robertkirkman robertkirkman merged commit a8bf521 into termux:master Jul 26, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Package]: IceWM
1 participant