How to integrate a custom Window Manager with True OS



If someone could help me with integrating a different/unofficial window manager like XFCE. , LXDE with True OS, in fact if you could point me to how Lumina is integrated with True OS Source then that would be a big help.

Thanks and yours sincerely,


Also, another related question- how to integrate something other than X Windows like Y Windows (its a project by a UK based student).?

It would be a big help if someone could help me?

Thanks and your sincerely,


Ok, I have a couple quick questions first:

  1. What do you mean by “integrating” a DE/WM with TrueOS? You can easily install/run other interface systems already, so I am not sure what level of “integration” you are asking about.
  2. For your question about integrating “something other than X Windows like Y Windows”, I think you are going to need to rephrase your question and make it a bit more specific. I am not sure where to even start trying to answer this because it is far too broad of a question.

As far as the integration between Lumina and TrueOS: it basically comes down to a single “dictionary” file for Lumina:
Almost every operating system has a corresponding “LuminaOS-[OS_NAME].cpp” file which just provides the definitions for Lumina to interact with that particular OS (TrueOS uses the “FreeBSD” OS definitions).


Hello Ken,

Thank you for your response.

(1) Can you point me to a document/wiki article etc that describes how to build True OS from source- with some explanation of how to build with X Windows and Lumina/some other DE?
(2) Also like you mentioned for Lumina DE, what about a non-qt based DE- keeping X, how to integrate some other Desktop Environment? With ref to True OS Desktop codebase?
Again if you can point me to some document/wiki that explains the above I would be extremely grateful.

Yours sincerely,


TrueOS is FreeBSD based so pretty much any documentation about how to build from source is applicable. They all assume that you are building from source to update an existing system. The executive summary is:
update your base source tree
cd to your source tree
make buildworld && make buildkernel && make installkernel && mergemaster -p && reboot to single user && make installworld && mergemaster && exit single user mode or reboot

Ports are much the same:
update your ports tree
rebuild all your installed ports

Again, The FreeBSD handbook should be available online (start at, the only difference is don’t pull down FreeBSD source trees from svn, pull down TrueOS source trees from github.
X is a port, so you just make and make install the appropriate port.
Lumina, LXDE, XFCE, KDE, Gnome, twm, other window managers and desktop environments are ports, so again, you simply make and make install them.
TrueOS as it is today has prebuilt pkgs that represent the ports; you simply go and install them. Yes that means you can install LXDE along side of Lumina. I believe at the login display manager you will be able to choose what you want to run or run “your last session”.

If your intent is to try and build a distribution off of TrueOS sources, that’s a whole different disscussion.

It would help if we knew more about what you are trying to accomplish.



I am trying to build a new distribution. The easy and nice explanation you have given is more than sufficient for my requirements.

Thanks and yours sincerely,


wait a month or so, and that will be easier


Hello Rod,

Kindly let me know why it would be easier?



Once Trident is released, there should be howto’s around so an individual (you or anyone else), can take trueos, and drop what ever DE they want onto it


For instuctions on how to create your own distribution of TrueOS, take a look at the readme on the trueos/trueos GitHub repository. In particular, look at the JSON manifest file in the “release” directory - that is becoming your single-file configuration setup for a new distribution.

While I am working on the build system for Project Trident, I am also taking notes about every step of the process in a document in the project-trident/trident-build repository. Once I have gotten everything up and running properly, we will use that doc to see what else can be done to streamline the process and/or write up a more formal “how-to” guide for building a new distribution.