Need flavors of X, one without any Wayland. Also, the X server and X client parts need to keep a split for distinction. In some ports the distinction is split, but it needs to be for everything. We have enough of the structure of the repositories to do that. Anything more, we don't.
If X server and X client metaports are separate, we could limit the flavors of Xorg or Wayland to the X server.
X client port can be standard and be agnostic of Wayland. A lot of ports are needed for basic functions of X client including for window managers, like xrandr, xext, xft, xrender, xinerama. Having some of these dependencies missing changes the functionality of window managers, such as for video output spreading across both monitors, or each one being able to distinguish the boundaries of each monitor to have proper output on each monitor. From an example of a window manager's behavior, to which dependencies are compiled in from a different thread:
Compile options & functionality
x11-wm/jwm make config options of:
- JPEG, PNG, SVG or XPM are needed for setting the background image to these file types. Compiling without these settings, doesn't seem to affect icons used in windows and in the task bar. SVG is turned off by default, and it also brings in a lot of unrelated dependencies, when used.
- XINERAMA adjusts the behavior for maximizing windows on multi-screens. When Xinerama is not compiled into JWM, a maximized window will take up all of two screens. With it compiled in, a maximized window will take up only one screen where it's maximized.
- XEXT allows the JWM option of noborder to work. noborder removes the border on windows. XEXT is also a core dependency of other JWM options: XINERAMA, XPM, XMU.
- XFT is for better fonts used in JWM including window bars, and in the task bar. FRIBIDI is for Unicode and for bidirectional text for some written languages. NLS is another option of interest here.
- XRENDR is a dependency of XFT.
Those above, with exceptions of image file types, are libx11 dependencies. libxcb has these even more cleaned up. In libxcb, the code to do that which doesn't add to that basic functionality is removed and consolidated into fewer or smaller libraries. libxcb can be worked in easier for window managers than for applications, without breaking dependencies. Lots of libx11 are still needed for window managers and other programs which use Xft fonts for Internationalization, and for multiple languages, because there are lacking libxcb libraries for those purposes. This is relevant to X client.
We do need a lighter Xorg server port, but more importantly, flavors which don't have Wayland. A lot of users who use Xorg, don't use Wayland.