Window Managers in Linux - Everything you NEED to know!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
when you think of window managers you're probably thinking of something you've seen on Unix porn super pretty highly customized window managers that just look awesome but what exactly are window managers if you're viewing this video chances are you have a web browser open or even a smartphone application on each window or application is solely responsible for displaying its content there then must be a component that organizes all the windows and puts them in one place your screen and that is precisely what a window manager does now before we get too far I do have to thank the channel sponsored node for helping me make videos like this possible the node or soon to be Akamai cloud computing is a platform for developers that allows you to spin up a variety of Linux servers in the cloud you can either start with the bare bones Linux distribution or use one of their mini one-click installers to get Services applications or really whatever you need to spun up with ease if you use the link down below you'll get a 100.60 day credit go ahead and try out lenode today every operating system has a window manager sometimes more than one most commercial desktops actually try to hide this component as it should be an implementation detail as a result most window managers go without name or recognition and of course in the Linux ecosystem there's a much different approach to this as many desktops have their own recognizable Window Manager such as gnome KD plasma or xfce mutter K win and xfwm respectively these are quite different from each other with a bunch of different features as an example KDE K1 supports the concept of activities to organize the applications in different workspaces entirely or mutter has touchpad gestures to quickly switch between virtual desktops and their overview and of course developers can choose to write their own window managers and replacement for existing ones kft developed by Roman gilg is a replacement for K1 that brings its own improvements to Weyland the opposite can be done as well using a actual Window Manager provided by the desktop environment like K1 but without actually using K to e plasma at all in fact window managers can be wildly different in how they behave if you use the phone you know that the window manager there will always maximize Windows as an example whereas on most desktops you have Windows that you can move around and resize freely thus the name floating window manager both Mudder and K wind are of this kind but it's not the only kind at all another very common idea is that of tiling window managers which you might have experienced if you used iOS or Android on the tablet through the split screen functionality as it allows you to see multiple apps but making one bigger will automatically make the other one smaller the same idea on desktop follows but it is much more powerful the basic concept is still that if a tiled window covers your entire screen you resize them all the other windows will resize accordingly making space for the one year resizing something you might otherwise do by hand and by the way some of the floating window managers such as kwin or even on Windows do offer the same functionality of Auto resizing but it's really not nearly as powerful but on the desktop there are more advanced tiling features like automatically setting the position and size of Windows when you open them in KDE K win as an example they're always going to open on the same spot same size where you closed them which is not the right place most of the time and this is where patterns come in for tiling window managers they describe where you'd like a window to appear one possible pattern as an example is to always have the left window that covers half the screen and split the right part of the monitor in equal parts for all remaining windows but there are others that privilege more quarter tiling or that take inspiration from the Fibonacci sequence of floating and tiling window managers are kind of the main Concepts here this does not stop developers from trying to innovate and improve on these ideas to make an example there are two projects called cardboard and endless Window Manager claiming to be scrolling window managers the idea is that instead of displaying all your windows on the available screen space either tiling them or through floating dial logs all of your windows are displayed in a continuous horizontally scrollable workspace all windows for the height of the Monitor and you can replace their width and change their order but that's really it if you use something like gnome and you like this idea there's paper WM implementing the same concept on top of the gnome shell it allows you to create multiple workspaces and switch between them but the fundamental idea of having a single scrollable view with all your windows is preserved both scrollable and tiling window managers have one thing in common though the emphasis of using your entire available screen space without allowing any overlap from this point of view they are quite similar and can even be considered in the same category it's easy to see why this idea would be appealing even though floating window managers are the ones that are most commonly used avoiding any kind of overlaps make sure that there are no relevant information is hidden or hard to find but it's either immediately available on the screen or you have to move your view either by scrolling or changing your workspace to see it and not wasting any screen spaces important on both like small laptop display place where there's very few space or even on large monitors where it's just easy to waste space even only considering the most common type of window managers the floating and tiling there are completely different sets of features depending on which one you're going to end up using some are rather technical like the implementation of fractional scaling but some are more user-facing a quite unique feature offered by both K1 and xwm for example is shading or rolling Windows this is an alternative to minimizing windows that hides the window content and leaves the title bar floating around some window managers of course are going to be more customizable than others here though I do have to introduce the difference between CSD or client-side decorations and server site decorations or SSD some applications like most gnome applications will draw their entire window including the title bar and shadows in this case the job of the window manager is to only draw that on the screen these are client-side decoration apps as in the decoration title bars and such is draw on by the client or the window itself some other windows like KDE applications only draw the inner content of that window leaving the look the title bar the outline the shadow all up to the window manager these are the server side decorations as in the decoration that is drawn by the server or the window manager thus a big difference between window managers is how they actually draw these decorations K1 for example allows you to install third-party themes written in either C plus plus qml or SVG files to completely customize their look even keeping the default theme you can fine tune some settings just to get it exactly how you want it for example the actual strength and color of these Shadows under your windows Mudder has the opposite approach it does not allow any decoration and always puts the responsibility of drawing the decoration on the application itself note that clients or windows are going to be required by desktop specifications to always be able to draw the decoration and it's up to the window manager to offer Integrations with SSD applications given how many variations and different types and customization options of window managers there are chances are you're going to want to be able to play around and switch between some of them without completely reinstalling your operating system usually this component is extremely close to the rest of your desktop environment and it might be impossible to change it however that is not always the case interestingly though the window manager sometimes sees the actual desktop such as your wallpaper files the home screen and your panels as a normal window that's as big as your screen meaning that if you close that window everything else should technically work in fact if you log into KDE plasma and immediately kill plasma you'll see that all of the windows will still work and you're still able to switch in between virtual desktops this is because K1 is still running it's capable to run even without the desktop at all though this is not really recommended obviously though some developers have created Window Manager features that do not require a desktop at all such as I3 starting something from scratch that you can then use in any Linux based desktop has allowed to bring some significant Innovations as well floating window managers today have roughly behaved the same way for years and there are significant differences in how the idea is implemented but the general concept really has not changed over time instead tiling window managers allow for quite some interesting Innovation and experimental Concepts let's see if you starting with ion 3 Dash notion WM using that you're able to embed the workspace inside another as if it is a normal window basically allowing you to make groups of Windows and treat that group like a window itself and then there's I3 with the concept of scratch pads it behaves like a workspace meaning that you can move windows inside of it but it's invisible by itself and the windows inside of it are floating this means you can put some useful tools in there and show and hide the scratch Pad when needed the awesome Window Manager throws away workspaces entirely in replacement of tags you can set tags for each window and then ask awesome to only show the windows for a certain tag this as an example allows you to show two tags at the same time and then only change one of the two now I've mentioned that you can use these window managers on any Linux based operating system so you then might be tempted to use those instead of the ones offered by your desktop environment such as throwing away K1 and installing awesome can you do that kind of main desktops plasma and gnome do support it natively or with external projects KDE offers a tutorial on how to use plasma without other window managers this means one you get to keep the rest of your desktop customization that you already like the panel the app launcher the search bar Etc and two services such as the notification system are still managed by the desktop without you having to install third-party programs in Gnome land there's a project called I3 gnome that does this very thing and on the Y section of the page the application is pretty clear useful for people that are getting started with the I3 window manager but do not want to uninstall their current desktop environment that being said you can also kindly ask a floating window manager to behave more like a tiling window manager there are various ways to do this depending on your desktop environment probably one of the very best implementations of this is the pop shell within pop OS which offers tiling out of the box there's a tiling menu on the top of the screen where you can just turn it on see some shortcuts and set gaps between your windows and just like that you're done your windows will start tiling kdes K win does support tiling thanks to a variety of third-party scripts that you can find by going to system settings K1 scripts get new scripts although they are third-party scripts this doesn't make them any less well integrated than a first party solution if you are running KD plasma I've actually covered some of these scripts in the past so do make sure you check out that video there's also a native solution if you just press the Windows key or The Meta key and T but this is not as like full tiling as other implementations finally you can also find the gnomed highly extension such as tiling assistance so turning on tiling there is just as easy as installing an extension now of course you can change your window manager and then in the process end up ditching your desktop environment entirely this is actually a pretty common choice between those people who prefer using tiling window managers which generally mean out of the box you're gonna get no panel no notifications no default applications and so on you'll have to go on and install various projects that implements those components and customize them to your need and when I say customize I don't mean going into a settings application and toggling some options off and on as there usually is not one rather tiling window managers usually go with text configuration files which in turn makes them relatively easy to add scripts to some other tiling window managers like dwm will even directly ask you to edit the source code to change certain behaviors if necessary take awesome for example again you basically edit Lewis scripts that will determine how tiling will look all these aspects might easily scare new users away but to be fully honest most full tiling window managers aren't really meant for the new users anyways but those with a bit more of a developer background are those who just really love tinkering with their systems these people can make complete customization possibilities is to make sure that their workflow fits best for them of course this is just the window manager then there are a bunch of other things you're going to need to set up as an example a common project is polybar which allows you the creation of a status bar or a panel you can set it up as you please setting exactly what services to show such as system tray virtual desktops the window titles and so on another necessary component is the notification Daemon which will receive and show notifications of all your application we could use Dunst as an example which is incredibly lightweight giving you the full advantages and features of notifications you can fully customize how polybar and dust look which can result in some wild personal setups through dot config files and then share these dot files with other users to make them be able to replicate your exact setup for example distrotube has a dtos project which is basically just his DOT files with his preferred window manager and customizations the the great thing about having this level of modularity is that you're able to use polybar or any other component regardless of the window manager that you decide to use you can even go ahead and write your own window manager if your skill set allows you to while preserving the rest of your setup overall it's just a matter of personal preference you can play around with use whatever the hell you want to have fun that's the whole point again like I mentioned earlier if you do kind of want to play around with tiling I do recommend you use an extension or a k win script just to kind of get the feel and the idea before you go ahead and install a full board tiling Window Manager again I'll leave links down below to some K1 scripts a The Gnome tiling extension pop shell whatever you want to use for whatever environment you happen to be in to go ahead and play around with those features and with all that I do hope you enjoyed this video do make sure you subscribe and while you are down there checking out the links there's going to be a link to our newsletter we send out Weekly News covering technology open source things like that and it's written by the same person who wrote this video script Nicolo so big thank you for that and yeah I hope you have a beautiful day and good bye
Info
Channel: TechHut
Views: 60,858
Rating: undefined out of 5
Keywords: linux, linux tutorial, desktop enviorment
Id: 7NLtw26qJtU
Channel Id: undefined
Length: 14min 43sec (883 seconds)
Published: Mon May 15 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.