 A viewer of the channel recently asked me the following, Hey DT, could you please make a video about useful stuff for us new window manager people on Linux? What do we need to make our laptops and PCs work at their best? And this is a question I get all the time from viewers of the channel when these people first decide to go window manager only rather than desktop environment. They're confused because they install some of these minimal window managers and they're wondering why they're missing all of this extra stuff. Things like panels and docs and menu systems and system trays and system tray icons and a wallpaper settings and things like that, Bluetooth, you know, all the stuff that's built into those desktop environments, none of that is built into a window manager. Why is that? It's because the window manager is just a window manager. That's why I often call them standalone window managers. It's just one program. The window manager, a desktop environment includes a window manager. It has to, you know, it has to have something to manage the window. So desktop environment, though, is not just a window manager, a desktop environment is the window manager plus a whole bunch of other software. It's a suite of software. You know, they pick and choose things to go with their window manager to create the desktop environment. So it'll come with its own panel and menu and notification system, volume controls and things like that. But if you install a minimal window manager, you have to create your own desktop environment by installing all of these other pieces of software. Now, this is not a negative. I think it's a positive because you can pick and choose exactly the pieces of your desktop environment that you want. You can leave out certain parts of a desktop environment if you don't need it. For example, I often don't use a system tray. So typically I don't bother installing them. But those of you that like system trays, you would install one. So today what I wanted to do is briefly I just want to give you some ideas on some of the stuff you probably want to install alongside your window manager to turn it into a proper functioning desktop environment. So first of all, what window manager did you install? Because depending on what window manager you installed, then the more extra stuff you may have to add on top of it because some window managers actually have a lot of features built into them out of the box. Things like the awesome window manager, for example, it has a panel. It has a menu system. It has a run launcher. It has a system tray built into that panel. So with awesome, you're much further along than say if you installed a really minimal window manager, things like open box or Xmonad, which are really just a window manager. They have nothing else with them. No panels, no nothing. Let's go over panels because I think this is probably one of the most common questions I get is what panel should I use with which window manager. So let's start with some of the tiling window managers. I3. I3 has its own panel is perfectly fine. I would just use that if you wanted to use other panels, I3 blocks and poly bar both work fantastically with I3. So whichever panel you choose to go with all of them work fine and I3 BSPWM. Everybody uses poly bar with BSPWM. So that's what I would choose. Herbs lift. I think the default panel is DZN. But poly bar also works just fine and herbs look and that's what I've used in the past when I've installed herbs lift was poly bar. Open box. I like the tent to panel. It's a traditional panel that will show you all the open windows and you can minimize windows to the panel. You know, a traditional floating window manager kind of panel. So I like the tent to panel with open box. But being a floating window manager, if you didn't want a panel, maybe you wanted to install a dock like docky, that would be fine too. For X monad, most X monad users use X mobar for the panel. Now, some window managers already have a built in panel that's ready to go. DWM, awesome and QTAL all have their own panels already built into those. And I would just use the built in panels for those, especially with awesome and QTAL. The panels are just fantastic. Has a ton of built in widgets. There's no reason to fight trying to get a third party panel installed on those window managers. So let me switch over to my desktop here and I'm an X monad today. And what I want to do is I want to show you guys the programs I have running alongside the X monad window manager to turn it into a proper working desktop environment. So let me open up my X monad config and let me zoom in so you guys can see what's going on here. And I'm going to page down to the auto start section of my config. It's right here auto start and you see my startup hook. And then I'm running these commands spawn once, which means when X monad first launches, I want you to run this program one time. And what am I running? I'm running LX session. LX session is a policy kit program. So if you guys are unsure what Paul kit is, check out the Paul kit page on the arch wiki. It is an authentication program. And you need these kinds of programs running in the background because they are authentication agents and certain programs you actually have to give elevated privileges to run on the system. Things like G parted, for example, I know you're going to have to have a session running in the background. I think Etcher, the USB writer also requires that there's a few programs that I often stumble upon that I need LX session or one of the other Paul kit programs running in the background. Now, just because I use LX session, you know, there's actually a million of these policy kit programs available. If you are already, if you're running a distribution that already had a desktop environment installed chances are you have one of the other policy kit programs already on your system, like the XFC Paul kit program, the Monte Paul kit program, the GNOME Paul kit program, I use LX session because it's the one I've used forever for, you know, about 12 years. Now it was the session for the old LXDE desktop environment. And then I quickly transitioned to being an open box user, which open box was the window manager for the LXDE desktop environment. So I just used a lot of the old LXDE programs early in my window manager experimentation. So I've just stuck with LX session, but you can choose any one of these and you would be OK. Getting back into my Xmonad config. The next line of my auto start is running the command nitrogen space dash dash restore. Now, what is nitrogen? Well, let me switch desktops and let me launch nitrogen. Nitrogen is a wallpaper browser wallpaper setter program. I've done a video about nitrogen in the past. So check out that past video. But what this does is it allows me to go in here in my wallpapers folder and choose a wallpaper right now. I'm running that, you know, I hit apply and it basically remembers the wallpaper I sit. But how does a window manager like I3 or awesome or Xmonad remember what wallpaper you sit? Well, that's written to a nitrogen config file somewhere, whatever the last wallpaper I sit. And we can restore it by running the following command nitrogen space dash dash restore. And that's why when I log into Xmonad, instead of just having a black background, it actually restores the last wallpaper I sit with nitrogen. The next line is Pycom. Pycom is the compositor that almost everyone installs. If you're using a standalone window manager, what is a compositor? Well, it gives you things like transparency and drop shadowing and it helps with performance as far as screen tearing and things like that. Now, I'm not actually using transparency in this terminal, but this menu system here in Xmonad does use transparency. And you can see that's a nice blurred kind of transparency effect there. And that would not actually be transparent if Pycom was not running on the system. Now, the next three lines of the auto start here deal with the system tray. So in Xmonad, I'm running the XMO bar panel. The XMO bar panel by default does not have a system tray. This part at the very end is actually not XMO bar. That is a standalone program called Trayer. And then once I have Trayer launched, I'm running the following system tray applets. I'm running the network manager applet to get network information, your standard network manager applet there. Volume icon is another very common system tray icon that pretty much everybody installs. I also have the OBS icon sitting in Trayer right now because I'm recording in OBS. Other things that often will sit in that system tray next cloud. If I was running next cloud, it puts an icon there. The library applet also puts an icon there. Another thing you guys might want to install is a clipboard manager. So a program like Clipman is probably what I would go with. And then of course, you would have a clipboard manager applet. And the last three lines here of the auto start are daemons. The first one is the Emacs daemon, the Emacs server. And the reason I have the Emacs server running in the background is because every Emacs window that I launch is actually Emacs client window. For example, here's the issue within Emacs and that loads up really fast. If you have the Emacs daemon already running on your system. So that's why I have that. I also in the past use the cocoon daemon when I was using the cocoon text editor. And I have that coming it out now because I no longer have cocoon installed or use it. The same thing with URX VT. I use Alacrity for my terminal. But if I used URX VT, I would probably have the URX VT daemon running in the background just for faster, better performance with that particular terminal emulator. So that's my auto start hook for Xmone. Now, if you wanted to see how I do things in a different window manager, maybe let's go to Qtile. And here is my Qtile auto start. So somewhere in my Qtile config, it executes auto start.sh. And what is auto start.sh is just this very simple bash script that lists processes that I wanted to run. And it's the same processes that you guys basically saw in my Xmone ad config. LX Session, Pycom, Nitrogen, URX VT, Emacs, the volume icon and the network manager applet. I didn't have to bother starting Traeger in Qtile because Qtile's panel already has a system tray built into it. Now, for those of you that want to play around with notification systems, I actually don't tinker with notifications all that much. I typically don't even have LX Session or any kind of notifications, Damon or anything running on my system because I don't like to have those things pop up on my screen because I record my desktop all the time. But if I was going to use a notification, Damon, I would probably use Dunst. That seems to be the one most people install. There are all kinds of notification demons out there, though, one of the ones that I would also mention is Notify OSD. I believe that is the one that Ubuntu uses. You know, for the notifications that pop up that have that semi-transparent rounded background, they are using the Notify OSD. Now, for a login manager, you don't necessarily have to use a login manager. But if you have multiple window managers installed, I have like 15 window managers installed in my system. I want to use a login manager. The one I always have used is Light Diem. Why? It doesn't have a ton of dependencies and it looks good and it's pretty easy to configure. Some other basic like GUI programs you probably want to install. If you don't already have a file manager installed, install one. Typically on standalone window managers, the file manager I go with as far as a graphical file manager is PCManFM. It's lightweight, fast, it's functional, has everything you want in a file manager and not a lot of dependencies. This was the old file manager that was often used in open box and within the LXDE desktop environment again because I adopted a lot of what the LXDE guys were using. Matter of fact, the GTK setter that I use is LXAppearance. And again, this is probably the standard program most people use with standalone window managers to set your GTK themes. If you didn't want to use PCManFM as your file manager, the only other one I would consider would be Thunar, which is the XFCE file manager. A lot of the other file managers, the common ones have too many dependencies. For example, Dolphin has a ton of KDE dependencies. Don't install that thing, you know? Nobody would use Dolphin outside of using KDE Plasma. So the GNOME file manager, Nautilus, I also wouldn't install because it's too tied into GNOME. So for standalone window managers, PCManFM or Thunar, of course, you could always go with terminal file managers as well. But I'd probably still have at least one GUI file manager installed on the system. As far as terminals, I would strongly recommend installing XTERM. I know nobody wants to use XTERM. I don't want to use XTERM, but many of your standalone window managers expect XTERM to be on the system. Many other programs that interface with terminal emulators, some of them just default to XTERM. So it's nice to have XTERM installed even if you don't use it. So what I would do, I would install XTERM plus whatever terminal emulator I actually want to use and what I actually use these days is Alacrity. It's just fantastic, fast, easy to configure. You're probably also going to want some kind of run launcher. Now for a run launcher, D-Menu is probably the one you want. You guys know what D-Menu looks like. This is D-Menu here at the top of the screen where I could start typing something like Alacrity and get another Alacrity window here. Of course, if you wanted to, you could use something like Rofi as well. There's a little bit of my Rofi config. Either one of those would work fine. Even if you want to use Rofi, though, I would also have D-Menu installed on the system, kind of like XTERM. A lot of window managers just default to D-Menu. They expect D-Menu to be installed. So even if you're going to use Rofi, also install D-Menu. It's a very small program anyway. It's not like it's going to take up any space on your system. One last thing I want to mention is text editors because if you install a minimal Linux distribution with one of these standalone window managers and you don't have a text editor installed, it makes for a bad day. So I would strongly recommend that you have a VIM and NANO available in the terminal. Right? Just make sure that you have VIM or NANO, at least one of those available to you. Now, if you are comfortable in VIM and NANO, then that's all you need. If you also wanted a GUI text editor to go along with it, install your favorite GUI text editor, such as Genie, Notepad QQ, G-Edit, whatever it is you want to use. Just briefly, I did want to mention Bluetooth as well because the guy that asked the question for me to actually make today's video, he was specifically asking about Bluetooth. Go to the ArchWiki and look up the word Bluetooth and the package you want to install is Blues with a Z, B-L-U-E-Z. So I hope that answers the question that I got, that I'm not just the person that asked the question, but I had dozens of people ask me to make this video today. So, you know, if you want to turn your standalone window manager into a proper desktop environment with all the functionality that many desktop Linux users expect to be there, you're going to have to go install all these third party programs. The great thing about doing this, though, is that you weren't just served up this pre-built desktop environment with all these programs. You get to pick and choose each of the components. You know, you're not just served up KDE's Dolphin file manager. No, no, no. When you build your desktop environment, you pick your file manager. It's one of the aspects of window manager only that I love. And it's the reason I could never go back to desktop environment. Now, before I go, I need to think a few special people. I need to thank the producers of the show. Devin Fran Gabe, Corbinion Mitchell, Akami Arch 5530, Chris Chuck, David, the other David Donnie, Dylan Gregory, Lewis Paul, PickVM, Scott and Willie. They are my highest tier patrons over on Patreon without these guys. This episode about turning your window manager into a desktop environment, it wouldn't have been possible. The show is also brought to you by each and every one of these ladies and gentlemen as well. These are all my supporters over on Patreon because the DistroTube channel is sponsored by you guys, the community. If you'd like to support my work, look for DT over on Patreon. All right, guys, peace.