FS#34225 - [i3-wm] i3-wm should require dmenu

Attached to Project: Community Packages
Opened by Matthew Batema (mlbatema) - Saturday, 09 March 2013, 04:03 GMT
Last edited by Thorsten Töpper (Atsutane) - Friday, 12 July 2013, 20:42 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Thorsten Töpper (Atsutane)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

In i3, there is tight integration of dmenu as a primary method of executing commands. Lack of dmenu after installing i3 breaks the user experience, leaving the user unable to start a single program if a terminal application has not been installed. This reduces i3 to a WM without the ability to create windows.

Additional info:

This occurred on a fresh installation of Arch.

Steps to reproduce:

Verify dmenu is uninstalled.
Install i3: "pacman -Syu i3"
Verify dmenu still remains uninstalled.
This task depends upon

Closed by  Thorsten Töpper (Atsutane)
Friday, 12 July 2013, 20:42 GMT
Reason for closing:  Won't implement
Additional comments about closing:  See comments.
Comment by KaiSforza (KaiSforza) - Saturday, 09 March 2013, 04:06 GMT
But users can use other means to start programs, so it is not required. It is an optdepend for a reason.
Comment by Matthew Batema (mlbatema) - Monday, 15 April 2013, 01:56 GMT
  • Field changed: Percent Complete (100% → 0%)
The response "But users can use other means to start programs..." is technically true, if not intellectually dishonest. If this is the reason dmenu is optdepend, then it is not a very good reason. As described above, there is no way within X to start any program. To me, this shows as a lack of polish, which is the last thing any Linux distribution needs.

If other packages are granted the privilege to have dependencies that are less tightly coupled than this (e.g., see gnome-bluetooth's "Required By"), I do not see why i3-wm should not have dmenu as a non-optional dependency.
Comment by KaiSforza (KaiSforza) - Monday, 15 April 2013, 02:10 GMT
Might I ask why this was re-opened?

I can argue that this is the exact use-case for the optdepends array. It's not a hard dependency, and there is a way (at least one) to start an application without having dmenu installed (mod+enter, iirc). There is no reason why this should be a dependency. dmenu is entirely (as the type of dependency implies) optional.

(Maybe someone can shed some light on whether the 'gnome-control-center' binary requires anything from gnome-bluetooth?)
Comment by KaiSforza (KaiSforza) - Monday, 15 April 2013, 02:25 GMT
If anything, this should have been opened for dwm, as the package does not actually have a runtime-editable configuration file, so dmenu is actually a hard dependency if you want a menu. (though no one uses the default dwm anyway.)

Also, none of the other tilers I looked at in the repos, only spectrwm and i3-wm actually mention dmenu, and all of the other ones don't even mention dmenu.
Comment by Alexander F. Rødseth (xyproto) - Monday, 15 April 2013, 14:55 GMT
Assigning to Thorsten Töpper, the maintainer of i3-wm, don't know why it was assigned to me. Perhaps it's the ö/ø, Jelle? :)
Comment by Daniel Micay (thestinger) - Monday, 15 April 2013, 15:30 GMT
Making it depend on dmenu because the sample configuration uses it (but doesn't require it) just seems odd. If we went with that everywhere, xorg-xinit would depend on xterm, twm and xclock.

What's wrong with the optional dependency? There are plenty of other launchers and none of them is more or less tightly integrated with i3.
Comment by Matthew Batema (mlbatema) - Monday, 15 April 2013, 17:51 GMT
I would also like to know why this was re-opened.

I might just be spoiled by other projects, where the initial settings "just work", but to me, having to edit the default configuration to overcome a partially working WM feels like a shortcoming. Further, there is no guarantee or requirement for any terminal referenced by i3-sensible-terminal need be installed. I'm not going to declare that some arbitrary terminal be a prerequisite as well, but I'd at least like to demonstrate that the defaults are insufficient.

I'm not too familiar with how Arch's packaging system works just yet, but a solution to the latter (that i3 could require some kind of terminal application which i3-sensible-terminal would know of) could be resolved similar in how mplayer2 satisfies the requirement for mplayer.
Comment by Thorsten Töpper (Atsutane) - Tuesday, 16 April 2013, 12:14 GMT
In my opinion dmenu is nothing more than an optional dependency. There is the clear statement at the installation that it should be installed for using it as the menu. I won't make it a hard dependency because there are alternatives to dmenu that can be used.

In general: Someone who installs a package but does not read hints like the optdepends made the mistake and should not blame the package that was installed. Being an optional dependency that is not directly installed makes the "quick install and ignore hints" behavior a bit problematic. That is like "I installed the network manager XYZ but it did not the wpa_supplicant package.", this package for example is an optdepend for netctl.

Feel free to formulate a hint that is better in your opinion and I will use this with the next update. But dmenu will stay an optional dependency.

Loading...