 So today what we're gonna do is I'm gonna walk you through how I create a custom i3 and polybar theme and This is not something that I'm very good at to be honest with you. I'm just kind of starting out. Usually I use pre-made themes But I'm trying to get into creating my own themes as part of building up my collection of rices so I'm gonna walk you through The basics of how do I go about creating a brand new theme from scratch? so the first thing obviously I'm going to do is choose a wallpaper and As you'll see I've sped this part up quite a bit because this takes me a Good ten minutes or so Probably because I really don't have an idea of what I'm going to create until I see a wallpaper That kind of inspires me I had an idea that I wanted to create a lighter theme than normal and I did end up doing that I didn't create a white theme as you'll see at the end But I did create something that is lighter than I usually do normally all my themes are very dark This time I went a little bit lighter So I will come back here in a moment after I've chosen a wallpaper and we'll talk about the next part now when you're choosing a wallpaper my best Advice for you is to choose a wallpaper that has a bunch of colors because if you are going to create a bar from this You're going to want to have some contrast in the modules and things that go into your bar if they're all the same color It's going to make it harder to design a bar that is readable and that is definitely Obviously something that you're going to want to have happen at the end of the design process is have your bar be readable Now obviously there are some exceptions to this if you're going to for like a two-tone bar or two-tone rice Where you're just kind of using like black and white or you know, whatever But if you're going to choose one that has colors make sure you have a lot of colors to choose from that way You when you're designing your bar later on you can have colors to choose from now that I've chosen my Wallpaper the next part is to begin Extracting the colors so I use a tool called g-pick to in order to do this and Basically what it allows me to do is pull out the hex codes from the wallpaper And you'll see me go through and do this for probably about five minutes again I've sped it up a little bit and really all I'm doing here is clicking picked color and then Pulling out as many of the colors from the wallpaper as I possibly can now the wallpaper that I chose is Not the best wallpaper. I'm gonna put that right there as I went along with this I Found I didn't really like the wallpaper as much as I had originally had mainly because there really isn't a lot of contrast here There's about four colors. Most of them are green blue Though that that's unfortunately the truth the other ones are pinkish yellowish and orange There's not a lot of dark colors in this wallpaper And I found that lack of contrast a little bit of annoying in the end especially when I was creating the terminal theme and we'll talk about that later, but basically what I'm doing here now is Creating the files that I'll need in order to make this thing now My setup is a little bit different in that most people have all of their poly bar configuration stuff in one file I have multiple themes and the way I Change those themes is through a script and you'll see me do this multiple times in the video The script pops up in rofi. I can change the theme through rofi And that's also the way I reset my i3 sessions So you'll see me do this multiple times throughout the video where I reload i3 Using my rofi scripts now my rofi script is online, but there's no documentation for it. So use that stuff at your own risk But know that that's kind of what i'm doing here You'll actually see me on screen editing the script adding the rice that i'm creating which I called poly river And adding the wallpaper and stuff to the script so that when I change it all that stuff gets changed with the script Once I've created the Files that I need for poly river you'll see me actually start to Extract those colors as I was talking about Once i'm done extracting the colors The next part is actually putting those colors where they need to go and this is a hit or miss process You will definitely Add colors where you don't like them and end up having to change them over and over again It's just kind of the nature of ricing So as you watch this you'll actually see me change colors a couple different times I started out with a much lighter background for the bar. I ended up going a little bit darker It's just a little bit more solarized actually It was much more solarized than I was kind of planning because I don't actually like that theme But I actually turned it out okay in the end But I needed a little bit of a darker blue in order to have contrast with any of the modules that go on the bar basically This whole section is me Tweaking poly bar to where I want it So you'll see me changing where the modules are so that It's a little bit different than what I normally have You'll see me add borders later on you'll see me add colors where they need to go And I've made a tutorial in the past about how to rice poly bar So I'm not going to go into the house and what nots of actually ricing poly bar, but this is the next step This is where you'd want to go next creating your bar now A lot of people don't use bars. I'm always going to have a bar on my screen It's just going to be the nature of me using my Computer I can't use my computer without a bar now I will say that this is one of the first times I've created a rice with a bar at the bottom Normally, I don't do that I'm not a bar on the bottom kind of guy because I'm so used to looking up for the time up in the upper Right hand corner now. I'm going to have to If I'm using this theme at least Learn to look for the time at the bottom right so that's going to be something to get used to But I think it really does look better like as you watch this You'll see me I have the bar at the top for quite a while and then eventually I move it to the bottom And it just looks better than it does at the top at least with this wallpaper The thing is I probably could went with a different background color Maybe very much lighter towards the shade of the sky in the wallpaper And then a darker tone for all the foregrounds But I really wanted to kind of mess around with this color of a background The air you guys see at the bottom of alacrity when I refresh the rice Is something that'll happen until I get the colors in the alacrity config Unfortunately, that just comes up every single time. I do try to dismiss it because it is annoying Eventually it will get fixed because I do create an alacrity theme towards the end of the video It's not a very good one as you'll see So this next part as I was saying is the alacrity theme configuration And I've used a website called terminal less sexy in order to do this And as you see, I just take the hex codes of the wallpaper that I pulled out And try to create a theme that is not too horrible And at least readable for a terminal and The outcome is not all that great. This is one of the probably the biggest failure of this rice It turns out I'm not a very good Creator of terminal schemes mainly because you don't know where any of those colors actually go And that's not that great of a thing It's like I really wish that the terminal less sexy website would show you a command prompt So you can kind of see how it would look in a command prompt or maybe in a situation that does not uh code because I'll be honest with that. I don't read a lot of code so that Syntax highlighting doesn't actually do me all that much good in terms of figuring out where those colors Actually apply to so when you see the outcome of the alacrity config there are some Things that just aren't all that readable something that I'm definitely going to have to fix later Which I didn't do on video. I thought about it. I you'll see in Later in the video where I try to fix it a little bit But I never actually finished because it's just I mean it's it's not a fun process. Unfortunately This is my least favorite part of ricing So once I've created the terminal theme you'll see me add it to my alacrity config And then make sure all of the Spacing is right in the alacrity config because it is a yaml file And if you don't have the spacing right in the yaml file, it will air out You learn that the hard way by the way so Once the terminal is done. There are two more things that I do for ricing And that is dunced and rofi. So the first thing you'll see me do is dunced And the way I have dunced set up is I have a whole bunch of theme files and that is changed When I change the theme so it will copy whatever theme I've chosen to the theme dot comp file And that's the file that it uses It's not the most elegant of setups, but as you can see it works fairly well Basically, all this is doing is Me adding in the colors for the backgrounds and the foregrounds for each of the types of notifications And the last thing I do is the rofi thing now. This is a Cheat for me because basically I use the same rofi theme for everything in one of my rices I just changed the colors so in this particular one I'm only changing the foreground and the background and as you'll see I have to kind of tweak it a couple times and I actually have to bring up g pic again In order to pull out the rgb codes for the colors that I want to use because Rofi does not use the regular hex codes So you'll see me do the whole color picking thing again and that takes me a little bit Eventually I want to get to the point where I do custom rofi themes for each of my rices But I'm not quite at that point yet Mainly because I'm not as comfortable Messing around with the actual rofi file. I've gotten the Color thing down. I'm not done very much in the actual configuration file That's something for the future that I want to get better at and maybe eventually make a video out If you're interested in a video about theming rofi, let me know in the comment section below And that's basically it. That's how I create a theme for i3 now as I said, this is a Theme that works really well with my configuration file if you're going to use this theme First of all, I will upload it to gitlab. It's in my dot files But just know that the paths in my configuration files are all going to be different than what you'll need So you'll need to make sure all the paths are completely correct Otherwise, it won't work for you because I use include files all over the place And if you don't get those things set up properly, you just won't be able to set up eventually I will do a video on how to get my setup But I'm in the process of making a whole bunch of rices so that when I do release that video and show you the Final outcome of the script. It's full of rices that you can choose from So that's something that will happen in the next couple weeks or so. I'm eventually going to stop ricing Well, at least I'll stop ricing for now Anyways, thanks everybody for watching this video. I really do appreciate it If you like this kind of video where I kind of do a voiceover You don't see my face if you like that kind of thing Leave a comment the comment section below If you are interested in following me on twitter, you can do so at the linuxcast You can follow me on mastodon or odyssey those links will be in the video description You can support me on patreon at patreon.com slash linuxcast just like all of these fine people Thanks to everybody who does support me on patreon on youtube. I really do appreciate it You guys are all amazing people and I can't even begin to tell you how much I just appreciate your support So thank you for your support. Thank you guys for watching. I'll see you next time