Getting Started With Xmonad

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I'm trying to convert to a tiling window manager but I guess I am not grokking all the implications. It seems that with Xmonad (for instance) I get the window management itself, but all of the other niceties from my Gnome desktop are not available.

Can you make a video that talks about all of the "other" customizations that people will generally want to add? I'm not as interested in keybindings, but I would like to have immediate access to my wifi, shutdown, volume controls, etc. I would also like to display a cheatsheet on the background of one of the desktops as a reminder of the keybindings as I get familiar.

👍︎︎ 1 👤︎︎ u/simchuck 📅︎︎ May 30 2020 🗫︎ replies
Captions
a few days ago i did a video where i really touted x-monad as being one of the best tiling window managers out there because of how minimal and suckless it is but also how powerful how flexible and customizable x-monette is and many of you guys are trying out x-monad because of my videos in the past and some of you guys are having some issues and are wanting help you guys are asking for a video tutorial on how to get started with x monad and i've done similar videos in the past on other tiling window managers i did a getting started with awesome window manager video a couple of months back and and that was very popular a lot of you guys seemed to think that was helpful getting started with awesome window manager and i did a series of videos on getting started with the qtile window manager so today we're going to give xmo ned the same treatment i'm going to install xmo.net in a vm i'm going to install it on ubuntu 2004 and show you the basics of getting started and configuring xmo.net from the very beginning so let me switch over to the desktop and i'm using ubuntu 2004 as an example today to do this install of xmo net is because i know most desktop linux users are probably running ubuntu or an ubuntu based system so i'm using that today but those of you that are on an archbase system like me it's also going to be the same thing except instead of installing software without you'll use pacman same thing with fedora is going to use dnf susa is going to use zipper etc but other than just installing the exmonet package everything else we do should be the same so in ubuntu of course we're going to use the app package manager and we need to install a few things the first thing you want to do is sudo apt install xmo nad that's the base xmonet package that's the window manager now to make xmonet extensible you really need a second package as well called xmonet dash contrib these are the extra libraries and the extra modules that really allow you to extend x monad and add a bunch of extra functionality think of dwm and its patching system how you have to go out and get each and every patch that you want to you know add to dwm well you don't have to do that with something like exmonet all these extra modules and extra libraries that the community has contributed to are all in this extra package called xmonet dash contrib and let's just install these two for now so if i hit enter xmo net dash contrib is not available so it must be named something different in ubuntu on archbase systems it will be xmo ned and xmo ned dash contrib but let's see what it is on ubuntu so let's do an apt search exmonet dash contrib and let's see there is a xmoned contrib dev right here extensions to xmo ned actually it's a very long name lib ghc xmo ned contrib dash dev all right i'm hoping that's the right package let's go ahead and sudo apt install xmoned space and then lib ghc dash xml net dash contrib dash div damn that's a that's a long name that's a horrible name for that package all right there's two other things you really need to install before getting started with xmo-net and i promise you most new x-moned users really get frustrated in the beginning because they didn't install these two programs that i'm about to tell you to install before ever getting started x term and d menu and then i'm going to hit yes and it's going to install a ton of packages it's going to install 76 newly installed packages here on the system and you're going to say well we only installed four programs well it's the dependencies and the mainly it's the dependencies for xmonet itself which has to have the haskell programming language installed on the system and the haskell compiler ghc installed on the system all right and those four packages finished installing it took just a couple of minutes there and then what we need to do is log out of our current session here so we are of course logged into gnome here what we want to do is go back to our login manager and then let me move my head out of the way so you can see this i'm going to click the username and then i'm going to go down to the cog wheel here and instead of just having the gnome session that we were logged into and then of course the gnome session on wayland we also now have an xmode ad session so i'm going to type in my password and then i'm going to hit enter and this is xmonet out of the box this is what i was warning you about when you first log into exponent for the very first time it is simply a black screen there's no wallpaper no menus you can click and right click nothing happens you do have a cursor so the first thing you need to know before ever getting started is you need to know the default key bindings in xmode.net now we're going to change these as we create our own config file but hard-coded the binding to open a terminal is mod shift enter and the mod key is hard-coded as alt until we change it later we may change it to the super key later but alt shift enter will bring us a terminal and it does bring up the gnome terminal so it does recognize that the gnome terminal is the default terminal emulator that was set on this ubuntu distribution so that's good but the reason i made you guys install xterm is just in case you don't have a default terminal emulator set up on your system you need one and the one that xmo nad is going to expect you to have is is x term also i made you install d menu alt p as d menu so that is the way you get d menu and i'm going to launch firefox because we need a web browser here because there's something very important that we need i'm actually going to highlight the terminal window i actually don't need it right now so alt shift c will close the terminal so we need to write our own xmo.net config there's not an example one on the system i don't think at least i've never found one in the past when i've i've done this of course i've had my own exmonad config for years so i've never actually had to look for the default config but i do know they have an example config file on the xmo.net website and i believe if i search for xmonet config archive yeah this page right here the exmonet config archive at the haskell wiki this site has some example configs but the one that we really want is this one right here it says download the latest darks template xmonad.hs and that will give us what we need so if i save the file i guess it's going to save it to our downloads folder so alt shift c to close firefox alt shift enter to open our terminal again and let me zoom in this terminal see i'm not exactly sure how to zoom in on the gnome terminal but luckily the menu is still there if i cd into downloads here and do an ls you will see we have xmonet.hs hs is the extension for haskell it doesn't need to be in our downloads directory so let's move it so mv for move xmonad.hs and we need to move it into our home directory and in our home directory there should be a directory called.xmo.net it was already created that directory gets created when you install xmonad but it doesn't place a xmonet.hs in that directory you actually have to take the trouble to make that file and write it yourself so let's go ahead and write the full path here all right now if i cd back into the home directory and cd into dot xmoned and do an ls xmonet.hs is there if i wanted to i could open this in film or nano or whatever text editor you want to take a look at it again of g edit is installed here in ubuntu we're going to use the graphical text editor if you'd preferred so some first things you need to know you see the comments here at the top of the page now to make a comment in haskell you do two dashes two dashes is a comment the next section you see is you're importing various modules here various libraries and these are important because later you're going to basically call upon these if you're going to use them later in your exmo net config you know what to clean this up a little bit what i would suggest doing and you you guys don't have to do this but i'm going to delete most of these comments and you know start making this configure on so the first thing i would do is i would start making notes of what each thing does here in this config file so i'm making a note here that this section here is the imports the next thing you probably want to do is you want to change this variable here that says my terminal it is set to x term what this does is by setting this variable anytime in this document that we've typed my terminal it automatically becomes the word x term so when you're setting all these key bindings that involve your terminal you know if you ever change terminal emulators from x terms say to urxvt down the road you don't have to come back and change like a hundred different lines in this this config file by setting this variable this is the only thing you need to change you know if you ever change terminal emulators you just need to change x term to urx vt or to st or alacrity or whatever terminal emulator you want to use i'm going to leave it as x term because i know x term is on the system if we scroll down here some other variables that are set are my border width equals one that's the border around the windows you can see the border of the window with focus is a red color a bright red color i'm fine with that for now the bright red stands out and one pixels you know what if i really wanted to i'd probably make that a little bit wider for my personal preference i'd rather that be two so let's go ahead and change that to two the next thing i definitely want to change is i definitely want to change my mod mask equals mod one mask what is this this is setting the mod key by default the mod key in x mode add is set to alt but most people are probably going to want to set that to mod for mask so now that we have the mod key set to super you know what i'm going to go ahead and do colon w here in vm for a write and let's go ahead and restart xmo nad so the super key now becomes my mod key so if i do alt q because alt is still the mod key right now alt q restarts x monet that's the default binding for that all right we just restarted x mo net now super shift enter yeah brings up x term super shift c closes okay so we now have the super key working for us as the mod key the next thing you want to check out here in the config is the workspaces you see my workspaces one through nine that's the name and the title of the workspaces that's what they would appear as far as the names of the workspaces if you had a panel we don't have a panel yet we should get one we'll talk about that in just a second well let's keep on with the config here is the color so the border colors normal border is this color here that is a light gray color and then my focus border color is ff000 that is the bright red color around the window with focus let me open up a second window and you see the window with focus has a red border and the window that doesn't have focus has a gray border by the way now that i have these two windows open i believe super j and k because we change the mod key to super super j and k we'll shift focus between these two windows super shift c of course closes the next section you come to is the key bindings the key bindings are pretty self-explanatory how this works you set the key binding to mod plus whatever combination of keys and then the command that you want these key bindings to run for example you set the mod key plus p on the keyboard mod p in my case super p spawns that's the command it runs it's a xmo net spawn what is it spawn it spawns d menu underscore run that's the name of the program so if i do super p you see d menu runs at the top of the screen let me escape to get out of d menu that's kind of the way all the the key bindings work you got mod key plus one or two other keys and then the name of the command and that's it it's pretty self-explanatory setting the key bindings you guys shouldn't have much problems with that you do have mouse bindings i would just leave these as the default there's no reason to play with this because there is mouse functionality actually in most tiling window managers pretty much all tiling window managers i've ever used what you do is if i grabbed the window with super and the left mouse button i could drag this window now it's not going to work because i'm actually going to drag the entire vm because yeah this is just the way it is because my host machine is going to recognize that but that's how that works if i did super and the right mouse button you know i resize super in the left you know drags the window that's kind of how that works but you see the host machine i'm actually running x monet on the host machine nxmod and ubuntu here in the vm let me see if i can force that back into the tiling mode yes i can the next section is the layout section by default it looks like you have three layouts tiled mirror tiled and full so if i do super shift enter to get another terminal super shift enter to get yet another terminal i'll launch h-top or and just do an ls to have something different on one of the terminals so the default layout is what we call the master and stack layout which it looks like is the tiled layout is what it's named here at least in this config file if i keep opening stuff i keep opening stuff you can see it's the master and stack let me close those last couple of windows now the other layouts that are available were mirrored tile and full screen i believe to get to those super and tab changes the layouts now super tab changes focus super shift tab maybe changes the layout i'm going to have to look up the default key binding either that or i need to scroll back up and find the key bindings that does this here in the the config it's actually mod space so in my case super space changes the layout okay this is the mirrored tiled layout and super space changes to the full layout so tiled mirror tiled and full so super space gets us back to the default tiled layout let me super shift c to close those two terminal windows and let's scroll down further in the config and the next section is window rules this is where you set rules for various programs for example there are some windows you always want to be floating for example in this section it looks like mplayer and are both said to always float and that's kind of what you want to do with with a lot of things a lot of things you don't want to be in a tiling layout notifications and things like that you know you don't want them to be forced in a tiling layout you just want them to be floated on the screen going further down the config the most important thing is probably this right here the startup hook so this performs an arbitrary action each time xmo add starts or is restarted so this is basically your programs that are going to start every time xmo.net launches so i can tell you two things you definitely want to always start in every time you launch xmo net or any tiling window manager you're going to probably want something to draw a wallpaper on the screen and you're going to want transparency you're going to want a compositor and you so you need to install either compton or pycom depending on your distro i think it's still called compton in the ubuntu repositories on arch and archbase systems you need to install pycom as a compositor so what we're going to do is going to go to this line that says my startup hook equals i'm actually going to delete the return and the parentheses here and i'm going to type the word do i'm going to hit enter i'm going to space over just to have some indentation so it's obvious what i'm doing here i'm going to do spawn once and then i'm going to do quotes and i'm going to do nitrogen space dash dash restore space and then after sign i'm going to tell xmo.net hey as soon as you launch i want you to run nitrogen space dash dash restore and that is going to set our wallpaper assuming nitrogen is installed on our system we haven't installed it yet so i'll install it in just a second but i'm going to hit enter and i'm going to go down here and i'm going to do the same thing i'm going to do spawn once quote and we're going to launch not pycon because i don't think it exists in ubuntu i think it's still called compton space amper symbol and then the ending quotes you know what i'm going to just leave it as that for now let me do a colon w for right here in vim then i'm going to do a supershift enter to get x term here and let's do a pseudo apt install compton and nitrogen both packages are in the repository and that installed just fine super shift c to close that x term and now if i do a super cue to restart xmonet it should run compton and nitrogen dash dash restore so mod q super q ah and this is an error so the great thing about xmo ned is if you do anything wrong and i mean anything a bad spacing you know adding a comma or something where you shouldn't have or in my case using spawn once when that variable is not in scope so anytime you get something like that variable not in scope it means hey we are using this command spawn once but we didn't import any module that you know actually has anything to do with spawn once so if i do gg to get back to the top of this document here in the imports we need to do an import and we need to find the library that we need to import i'm not sure what it is off the top of my head we may just have to do a super p and open firefox i'm going to do a search for xmo and add spawn once you see right here it's in the haskell documentation by the way the exponent documentation is basically haskell.org and you see spawn once is found in this library dot xmoened.util.spawn once all i need to do then is import space and then let me copy that over xmonet.util.spawn once let me write that and then super cue to restart and xmo nad started just fine so we fixed the error so you know and that was not that hard and you know this is not something i i do that often i mean most of my exmo net config was written years and years ago but when you get an error it tells you what the error is and if you just do a simple search in google or duckduckgo for what you're looking for haskell has great documentation you're going to find exactly what you need to do in the documentation you just have to read the documentation so let me do a super p and i'm going to run nitrogen because nitrogen dash dash restore won't actually work until we actually have it set a wallpaper at least for the very first time so i'm going to go into preferences and we need to set a directory for it to look for wallpaper not exactly sure where the default wallpapers are in ubuntu on most systems they're going to be in user share background so that's the first place i'm going to look i'm going to go into the file system and then in user share backgrounds yeah and i'm going to select that directory i'm going to hit ok yeah and that's the default wallpapers here in ubuntu i'll just select the default one and i'll hit apply then supershift c to close nitrogen i'm actually going to close the config too while we're at it just so we can see our wallpaper there's our wallpaper let me supershift enter to open up x term again x term is very very small as far as the font i really need to fix that why don't we install a better terminal actually why don't we just close that and i'm going to super p again and let's open up the gnome terminal let's just use the gnome terminal for now so i'm going to get back into the config oh that's not the config because i didn't type the the full path x dot xmo net slash xmln.hs and let's go down to that my terminal variable and for now let's just set that back to gnome dash terminal write and quit then i'm going to super shift c to close that i'm going to super p to get d menu let's open nitrogen again let's make this scaled hit apply super shift c to close nitrogen all right we need to get a proper screen resolution this is something really just for the vm here that i need to do supershift c to open a terminal still not the right terminal because we haven't restarted x monad i changed the config and wrote it but you have to restart x mode which is super cute and now supershift enter should open the gnome terminal i hope that made sense i'm going to run a quick x-rander here just so i can get a better screen resolution i'm going to set x-rander to 1920x1080 just so we get a full screen resolution now and now let me super cue to restart xmo nad so it redraws the wallpaper hopefully correctly for us i it didn't though it kept the same one let me super p let me just get nitrogen open here and hit apply super shift c okay we just reapplied the wallpaper all right so at least we have wallpaper set now we also have transparency set too if you had anything transparent you know because compton's taking care of that we need a bar so let me super shift enter here i'm going to sudo apt install and the terminal most people are going to want to use with x monad is x-mobar it's a panel written in haskell and it's designed to be used with xmonet you can use any panel i mean technically with xmo nad that's why it doesn't ship with a panel by default but most of them won't play nice with xmo ned unfortunately and xmobar works great with x-moda x-mobar is actually fantastic it may not be as flashy and have all the whiz-bang bling as some other bars out there but if you're going to use exmonet i strongly recommend at least start with x mobar because it's going to have all the information you want it's going to have all the workspace names and it's going to tell you exactly which monitors have stuff open on them if you have a multi-monitor system it's going to give you the name of the layout so how many windows are you know all every all the information you could want where if you install something like polybar you're not going to get some of that information you're going to be limited in what polybar shows you in xmonet so let's go ahead and give it a password really there's only two characters in my password and i mistyped it all right i'm gonna super shift c to close that window now to use xmo bar we need to get an xmobile config so let me super shift enter to get my terminal and i believe i've done this enough now i think it's ctrl shift plus to zoom in and then get home terminal okay and let's run the following command sudo find on root dash i name for insensitive name searching xmode bar so find any file or directory that has xmobar as part of its name all right and usershare.xmobar looks like the folder we probably want because it's documentation right that's probably where we would find an example config so let's cd into user share docx mode bar if i do an ls in that directory there is a directory called examples so i'm pretty sure we're on the right track here so let's cd into examples and do an ls xmbar dot config okay i like that now we need to put that config somewhere else i mean i guess it could stay here but i would would rather it be in our home directory in dot config let's copy xmobar.config over to our home directory and our dot config directory and it needs to be in its own directory called xmobar and then i'm gonna name it i can just name it xmobar.config but i'll name it xmobar rc for more conventional naming cannot create the regular file no such file or directory so uh this directory doesn't exist home dt config xmo bar so let's do a mkdir for make directory and make the dot config xmo bar directory and now if i go back and copy xmobar.config over to that directory and rename it xmobar rc it works and let me clear the screen i'm going to cd back into the home directory let's cd into dot config slash xmobar do an ls you see xmobar rc so let's go ahead and open that up in vim this is the xmobar config the sample one and let's not even play with it right now what we really need is to make sure that xmo bar is launched when xmonet is first launched so what we really need to do is a cd back into the home directory cd back into dot x monad and vim xmo ned dot hs so we need to go to the section in the config that is called main so i'm gonna page down a few times and i think in the default config it's actually toward the bottom yeah here it is so right here main equals xmo nad space defaults we're going to edit this so that it launches xmobar every time xmonad is launched so i'm not a haskell programmer by trade so this is not the only way to do this this is just the way that i've always done it over my years of running x mode add let me get into insert mode i'm going to do main equals do space and then i'm going to space one more time i'm going to indent this over two spaces and in this line i'm going to indent over two spaces and i'm going to do xm proc then less than then a dash and then this command spawn pipe space and then quotes and then we need to run the xmo bar command so x mobar space and then i usually give it this flag here dash x for which x display zero meaning launch xmo bar on monitor one now this is important if you were launching multiple instances of xmobar which i do because i have a three monitor system you guys that are only on one monitor you really don't need to fool with this but it's important to know that's why i'm going to show it in this video because i know a lot of you guys do run multi monitors and this is how you specify which monitor which xmo bar goes on then we need to write the path to the exmo bar config which in my case was slash home slash dt slash dot config slash x slash xmo bar slash xmo bar rc and then in the quotes there get back into normal mode now if i write this and then super cue to restart xmonet it's going to give me an error it didn't like that command that i just added that xm proc spawn pipe xmobar command and it actually tells me doesn't like spawn pipe why does it not like spawn pipe well the variable is not in scope remember that from earlier so it's the same kind of deal we probably need to open up a web browser go to the haskell documentation and figure out what library has spawn pipe i already know which one has it though i just happen to know that one so we're going to go to the one we added earlier import xmonet.util.spawn once i'm going to copy that because we need to import xmod.util dot run hit escape colon w to write and then super q to restart xmonet and it restarted just fine no errors x mode bar is running too you just can't see it because the terminal is hiding it but if i do super 2 to go to the second workspace you will see we now have a bar with extremely small font but this is the sample xml bar running here a super one to get back to the first workspace now why is the bar hidden when other windows are open that's the default behavior but you can change that let's see if we can figure out how to change that so i'm going to do super p on the keyboard and let's go ahead and launch firefox now this may be a little complicated but you guys need to see this kind of stuff because again this is not i i don't do this kind of hacking on my window managers that often because i've had my configs set for a long time so even though i've done all of this in exponent before it's not like it's something that i've done you know last week last month even something in the last year or two so this is you know but i i i know i'm going to figure out how to do this so let's figure out how we get our panels or docs or whatever in xmode.net not to be covered up by the windows well let's just do a search for xmonet manage docs because i already know that that's the utility you guys may have to search for some different search terms but for me i actually do know the library that we're looking for i'm going to click on it and exmoned dot hooks dot manage docs so you already know we're probably going to have to import that we read the description it says this module provides tools to automatically manage doctype programs such as the gnome panel kicker dzin and xmobar so there you go since we already know we're going to have to import that i'm going to go ahead and import it over here let's try to keep everything kind of in alphabetical order over here i'll just put it right there see if i can copy it escape and then it says once we import that module we need to wrap our xmonad config with a call to docs like so main equals xmoned and then dollar symbol docs default remember we had xmonet default in the main now we need exmonet dollar symbol docs default so let me get capital g to go to the end of this document here in vm and but it looks like we went a little too far but i know the main was somewhere down toward the bottom of the document all right so there is my main equals and then we added do and then the excel proc x mobile but there's xmo ned defaults and if the documentation is correct we should add a dollar symbol docs space and then defaults let me colon right and i have no idea if this is going to work but i'm just showing you guys the process that i go about this right i had a problem i did a search i went into the haskell documentation and the documentation looks good like it really does it looks really good let's go ahead and super cue to restart exponent okay we didn't get any errors so that's good but we still don't see xmo bar so that's not good i mean x mode bar is still running but it's still covered covered up by our windows here let me switch to a different workspace i'm going to super shift enter just to make sure it's the case on every workspace it is so super one to get back to the first workspace i didn't read the documentation well enough although i read the first two lines but it says then we need to add avoid struts or avoid struts on as a layout modifier to our layouts to avoid windows from overlapping our docks or our panels so i need to add in the layout hook avoid struts that term right there so let me scroll up here and find the layout hook all right it's not named layout hook it's called my layout but you see my layout equals tiled mirrored dodge full kind of like here right except now they are saying we need to add avoid struts so i'm going to add a void struts space and then wrap the rest of it in parentheses so tiled mirror tiled and full we wrap in parentheses let me escape colon w to right and let's do a super cute to see if xmo ned restarts correctly we didn't get any errors and did you see the windows move a little bit now we have xmobar running at the top of the screen so again i'm just showing you guys the process right it's not about me showing you every little detail here there's a process to this you have something you want to figure it out you go to the documentation and the documentation told me exactly what to do now i get it if you've never done this kind of stuff it's confusing especially if you've never done any kind of programming or scripting but when you see me do it in action it's not complicated right and ex-moned honestly is one of the more complicated ones because of the fact it's written in such a strange language that not too many people know haskell but you don't really need to know any haskell i don't know any haskell but i can read the documentation well enough to know what i need to put in that config now let me get back into the vm here i'm going to close out firefox here uh the only thing i want to do on this video because i've been rambling on for a little bit here is we've done pretty good with our exmo ned config here but you know now that we've got xmo bar running i know some of you guys are not going to like that small font and the colors and everything let me show you a little bit of how x mobile works i'm going to cd into dot config xmo bar do an ls and then i'm going to vim xmobar rc let me show you how this config works so the first thing you're going to want to do is you're going to want to change the font now you can write the fonts in this weird layout here that's kind of the the old school standard way of writing your fonts most people are not going to know how to do that without using a tool one of the x font tools or something to figure out exactly how to write your fonts but it accepts normal font names and how you do it is you do xft colon and then name of the font it has to be a font of course on your system on ubuntu i know the ubuntu font family is installed by default and ubuntu mono is a really good mono spaced font that's the one that we're actually looking at in this terminal so that's the one i'm going to put in a xmo bar for purposes of this video i'm going to do ubuntu space mono and then colon and then pixel size equals and let's set the size to 12. i think that's a big enough size you guys can actually read it and right now that font size that is showing is is a very small font size you wanted to you could do colon anti-alias equals true to set some anti-aliasing you could also do colon and then hinting equals true to set some hinting and if i do a colon w and write that and then do super q to restart x monad which of course will restart x mobile alright the font size still is very small i don't know maybe we should change it quite a bit let's do 16 fine colon w to right and then super cue to restart xmo ned you know what let me supershift enter to get a new terminal up let me kill all x mobile let me and then super cue to restart xmo ned just to make sure okay yeah i think the problem was we still had the old xmo bars still on the screen and we were creating new ones yeah so i like that that that's looking okay there now if you wanted to you could change the background the background color is set to black by default but you can set it to anything you wanted except standard hex values you can change the position of x mobile if you wanted to you see position equals top you could change that to bottom we should talk about the widgets that appear in the bar here these widgets see commands equal and then whether network network cpu memory swap com which is any shell command in this case they're running a you name with the s and r flags then date which is the time and date in this particular format and at the very bottom it says template equals and that is the order that all of this and the commands section is actually outputted in the bar so that was just a very introductory look at xmo nad now if you guys want to see a more complete xmode ad config that's taken me a number of years to kind of get working the way i want it to work here is my current xmode config with my xmo bar if i open up my xmode ad config you will see a little bit of what's going on here and let me zoom in a little bit so you can see my config and in the default config there were only about three libraries imported and we ended up importing two or three extras along the way you can see in mind i've got a lot of imports unfortunately you do have to import a bunch of extra modules to do some of what you want to do with your window manager but that's fine like i said you can really tailor xmo ned to be exactly the way you want it to do what you want it to do you can see in my config i set some variables here i set the default font i set my mod key to the super key my terminal to alacrity my text editor to neovim the border width around the windows to 2 pixels this next variable window count equals and then this long line here i believe this is the window count it tells me the number of windows that are open on the screen you see one nxmo bar now in italian window manager you're probably wondering why you need to know how many windows are open on the screen well i guess if you were in a stacking mode where windows were stacked one on top of another or a monocle and that could be useful and you see in my main equals do i have quite a bit of extra stuff in here mainly the stuff that's going to be interesting to you guys is you see i have three different xm procs and spawn pipes x mobar because three different monitors they're launching three different xmo bars with three different exmo bar configs now actually all three of these configs right now if you go look at them on my dot files repository and my git lab all three of these xmo bars are the exact same thing but in the past i have actually used three different exmo bar configs so that each monitor had some different information in the bar the next thing you guys might want to check out in my config is this section here log hook equals dynamic log hook with pp and then x mobile pp and then pp output pp current pp visible these are settings for xmobile and this is the settings for stuff like the workspace colors workspace of the layout names and things like that are the separators between the modules here i scroll down my config you will see most of my config is very similar to the default config i mean my startup hook equals do spawn once i'm auto starting nitrogen picom compton uh the network manager applet the volume icon applet and trayer and that's everything here in the right trayer is the system tray and the applets that are auto launching are the network manager and the volume icon i have it commented out currently because i've been using vim but you know i've used emacs in the past and if i wanted to i could also spawn on autostart the emacs daemon the next thing i have in my config of course is keybindings bindings lots of key bindings and toward the bottom you get into the workspaces i have my workspaces here set to names instead of numbers but the numbers still do work i could super one through nine and they those correspond with the names in the exmo bar i've also hacked it a little bit to be clickable where i can actually click workspaces so if i wanted to click on workspace six here you know i can actually go to it if i wanted to click back and go to maybe workspace one i could get back to workspace one now typically on a tiling window manager you're not ever using the mouse but i wanted that functionality in my exmo bar just because right i wanted to see if it was possible it was possible it took a little research to figure out how to do that actually you need a tool called x do tool basically what x do tool does is it simulates what would have been a key binding like super six it goes to that chat workspace it allows you know a mouse click to basically run that command instead going further into my config my layouts now by default the default xmode config only had three layouts i have seven or eight layouts in my xml ad i only use about three layouts i typically use master and stack all the time or monocle mode if i need to go full screen for something or floating mode those are the only three layouts they ever use so why do i have all these other layouts just to show you a little bit about what's possible in exmonet i've had all these layouts in my config for years and i've had them on my at first github and now on my gitlab so you guys can inspect them and you might find some of these layouts that i don't use interesting that's why i have them here i also have scratch pads here i did a video a while back on how to add a scratch pad in exmo ned check out that video if you are interested at all in the scratch pads now before i go i want to thank a few special people i want to thank the producers of this show michael mitchell gabe arch 5530 chris chuck dj donny dylan george haplo nate librequest omri paul rob shawn and willie these guys they are the producers of the show they are my highest tier patrons over on patreon without these guys you wouldn't have got this episode about getting started with xmonet the show is also brought to you by all these fine ladies and gentlemen all these names you're seeing on the screen right now these are all my supporters over on patreon because this show is sponsored by you guys the community if you'd like to support my work consider doing so you'll find distrotube over on patreon alright guys peace [Music] you
Info
Channel: DistroTube
Views: 188,485
Rating: 4.9635296 out of 5
Keywords: window manager, window managers linux, window manager arch linux, window manager ubuntu, linux, gnu linux, xmonad, tiling window manager, haskell, xmobar, xmonad window manager, xmonad vs i3, xmonad vs dwm, xmonad tutorial, xmonad config, xmonad demo, xmonad configuration, xmonad review, window manager setup, tiling window manager i3, xmobar config, xmonad xmobar, xmonad config example, tiling window manager vs floating
Id: 3noK4GTmyMw
Channel Id: undefined
Length: 42min 47sec (2567 seconds)
Published: Thu May 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.