10 Things You Need To Know About Qtile

  Рет қаралды 18,022

The Linux Cast

The Linux Cast

Күн бұрын

Today I talk about the things I've learned about Qtile in a week of use.
👇 PULL IT DOWN FOR THE GOOD STUFF 👇
Patreon - / thelinuxcast
Liberapay - liberapay.com/thelinuxcast/
KZbin - / @thelinuxcast
===== Follow us 🐧🐧 ======
Discord - / discord
Odysee - odysee.com/$/invite/@thelinux...
/ thelinuxcast
/ mtwb
Mastodon- fosstodon.org/@thelinuxcast
gitlab.com/thelinuxcast
Subscribe at thelinuxcast.org
Contact us email@thelinuxcast.org
Telegram Group - t.me/+9lYoIuLh0JIyMzcx
Amazon Wishlist - www.amazon.com/hz/wishlist/ls...
Merch Store - zaney.creator-spring.com/
Logo Courtesy of - pedropaulo.net
==== Special Thanks to Our Patrons! ====
thelinuxcast.org/patrons/
==== Referenced ====
‪@JakeLinux‬ video - • Customizing Qtile stat...
==== Time Stamps ====
0:00 Intro
1:04 A Bit of Python Goes A Long Way
2:13 Qtile is Not Slow
3:00 The Bar is Amazeballs
6:20 The Widgets
8:12 I Love Scratchpads
11:39 The Workflow
16:36 The Layouts
17:29 The Keybindings
18:11 The Documentation
21:56 Rules
24:24 Will I Keep Using it?
#review #qtile #thelinuxcast

Пікірлер: 54
@TheLinuxCast
@TheLinuxCast Жыл бұрын
Want more Linux content? Follow me on Twitter - twitter.com/thelinuxcast
@user-yd3yr1pw3x
@user-yd3yr1pw3x Жыл бұрын
In order for the application to open on a certain workspace, you need to specify this in the block where the workspace is determined by adding a parameter Matches ' matches=[Match(wm_class=["Figma"])] ' ps. sorry for my eng :D
@tomasruzicka9835
@tomasruzicka9835 Жыл бұрын
Python is generally slow because it is interpreted language. Basically a scripting language. Kinda like bash, but with more usual syntax for the avarage programmer (except the significant whitespace and no curly brackets ... ugh bleh). On the other hand c++ for example is a compiled language it get's translated into raw data in memory that CPU just freely surfs on at it's own speed. There are rumors that (basically) reference implementation of python is gonna be like 3 or 5 x faster now. But for a long time there has been a big difference between for i in range(10000) and for i=0;i
@thingsiplay
@thingsiplay Жыл бұрын
What I really like about your personality is, that you are actually willing to change the workflow and adapt to learn how the software works. This is incredible amazing, as you give your thoughts too. I don't know any other KZbin who does that. Most are just trying out an application or distro a few basic stuff and forget about it. And I am happy that you give Qtile a fair chance! I personally never want use a TWM without programming language configuration anymore.
@twb0109
@twb0109 Жыл бұрын
True, these long term trials are awesome
@folksurvival
@folksurvival Жыл бұрын
"This is incredible amazing" That is a big exaggeration.
@milohoffman274
@milohoffman274 Жыл бұрын
Qtile is FANTASTIC. A good tip is to use the new EzKey library, and key bindings are easier and shorter to setup in your config like: "M-w", or "M-S-r" etc. And what you call RULES are easily implemented by adding "matches" to your group workspace definitions, and then windows that match that wm_class etc will always start on that workspace. There is an example in the docs for Groups, that always starts firefox on a workspace.
@TDOLLA
@TDOLLA 4 ай бұрын
hey thank for this tip! I just got a Qtile config up and going and playing some Qtile videos in the background. I just so happened to see your comment right as I was going to start remapping a bunch of the shortcut keys. thjs is exactly why when I am working on a project I tend to immerse myself in content that relates to the project. You end up picking up a lot of little tips and getting ideas. also I learned I need to spend way more time with the Qtile docs! It has great documentation that I have been ignoring basically
@omenworks
@omenworks Жыл бұрын
More content on Qtile please, especially for the absolute beginners. How to start playing with config, how to get transparency etc. Thank you!
@sambird7
@sambird7 Жыл бұрын
I'd love to see you take on the new hotness that is Hyprland. Wayland tiling window manager, it's most famous features are pretty much asthetic becuase it has really nice blur, rounded corners, gaps and animations. I personally turn most of those off because it is an awesome TWM on its own. To me, it is the best wayland twm right now.
@joaomachado9105
@joaomachado9105 Жыл бұрын
for using stin and stdout in python theres a simple way: subprocess.run( [ 'awk', 'length($0) > 5' ], stdout=subprocess.PIPE, input='foo foofoo '.encode('utf-8')).stdout.decode('utf-8') Notes: -if your script doesn't need input, you can just remove the input part -unless you want to work with bytes: -input needs to be encoded -output needs to be decoded - note that the shell command is basically inside an array, and each argument its in its own string -this function returns a string with the output of the command you gave it witch can be used directly to display in a text widget for example edit: you need to import 'subprocess' module
@manwe_sulimo
@manwe_sulimo Жыл бұрын
I like your videos dude, you pour passion and work into them, thanks!
@_pathfinder_
@_pathfinder_ Жыл бұрын
Hey Matt, love your content! I also really love qtile and use it as my daily driver for years now. A note for the "put program X on workspace Y" thing: You can do this (but yes, it is kinda quirky): While constructing your Groups, you usually do something like "Group()". But this also can take other parameters (called "keyword arguments" in python which is kind of a special type of parameters to put it this way), with more settings for each workspace. For example, you can give "Group(, layout="mondtall")", to tell this group to start up with this layout. You also can define Group(, matches=[...]), and put in a list of matches, such as "Group("www", matches=[Match(wm_class=["Firefox", "LibreWolf"])])", which I use to tell qtile to always spawn my browsers on the "www" workspace. You can give other cool keyword arguments, such as "spawn": [] to tell qtile to spawn a specific program on this specific workspace/group on startup. This is what works awesome for me - no matter where you launch a Firefox instance, it will always pop up on the "www" group. You can go as creative as you want with everything that all the keyword arguments and the power of the "Match" class gives you. To start with, you can check DT's config, he at least configured the layouts for the groups this way. Another trick (to put this into your config in a more compact way, but you need to know a bit of python for this): You can define keyword arguments as a dictionaries in python, with is always the format of "key": value, enclosed in {}. For example: options = {"layout": "mondtall", "matches": [Match(wm_class=["Firefox", "LibreWolf"])] }, then "Group("www", **options)" will be the same thing as above (the "**" is for 'unrolling' the dict into parameters/keyword arguments). You can crunch this together by defining your names and options as a list of groups, with each being defined as a tuple of name and these options, for example: "group_settings = [("www", {"layout": "mondtall", "matches": [Match(wm_class=["Firefox", "LibreWolf"])] }), ("dev", {"layout": "mondwide"})]" etc. Then constructing the group list by "groups = [Group(name, **options) for name, options in group_settings]" (compact syntax for looping the tuple list form above).
@Ax4400
@Ax4400 Жыл бұрын
Wow than you.
@tuffgniuz
@tuffgniuz Жыл бұрын
Yep. I've been using I3, dwm and qtile. All of them i've used for a long time, but qtile has become my favorite. It has a lot of built-in features and is easy to setup and configure, which I really enjoy. I've been using qtile for over a year now and don't see myself switching from it anytime soon.
@kelvinpina8815
@kelvinpina8815 11 ай бұрын
What did you.liked qtile more above the others, I'm cosidering the 3 you mentioned
@rashie
@rashie Жыл бұрын
👍👍- Great content, as always. Gracias, senor Matt.
@nobloat5702
@nobloat5702 Жыл бұрын
Great video! By the way it's easy to add rules and it's done from within groups using "matches". Here is an example of a group definition where browsers are always on workspace 2. Ignore the Layout part if you want to use the same default one for every workspace groups = [ Group('1', label="", layout="monadtall"), Group('2', label=" ", matches=[ Match(wm_class='firefox'), Match(wm_class='brave'), Match(wm_class='qutebrowser')], layout="stack"), Group('3', label="", layout="columns"), Group('4', label="", layout="monadtall"), Group('5', label=" ", layout="monadtall"), Group('6', label=" ", layout="stack"), ]
@linuxdabbler
@linuxdabbler Жыл бұрын
Great video as always Matt. I have also revisited qtile recently and have been trying to live in it. Great minds think alike. lol
@archygonzalez3086
@archygonzalez3086 Жыл бұрын
Matt thanks a lot for sharing and I greatly like your content. Im no python expert I just know few things, but in your widgets section you end up a few with or without "," , I think the correct syntax would be that for the last line on each widget function goes without the "," in the end. But still if it works then it works, thanks for the content and know Im gathering some courage to trie out QTile, have a great day
@itildude
@itildude Жыл бұрын
I absolutely love Qtile. It solid, fast, and flexible.
@burpsan
@burpsan Жыл бұрын
Thanks for your thoughts! Personally, I don't have any issues with the workspaces and screens/monitors. It may be that I don't understand your concern on that. The only time the workspaces switch screens (trade places) is when I'm on a screen (example main) with a workspace(example a) and I hit the keybinding of the workspace(example b) that is on the other screen (example secondary screen). It just brings the other workspace(b) to the screen(main) I'm on ... in other words the workspaces trade places on the screens. It's become second nature to me, so they only switch when I want and I'm able to use all of my screens extensively. Plus, it is often quite advantageous as my main screen is much larger than the others;' therefore, I intentionally make them trade places sometimes. Anyway, that's my experience. Thanks Matt!
@TheLinuxCast
@TheLinuxCast Жыл бұрын
I think that it's just that I'm not used to the workspaces moving to other monitors. On i3, they stay where they are assigned. Always.
@koljasha_nafman
@koljasha_nafman Жыл бұрын
Interesting, thanks. Qtile is currently my main wm. And I really like him. I am absolutely sure that I need to take someone's config or default config, something change, something add, something del, something write myself. And then this file will become my config, but work on it will continue and continue.... not the limit of perfection)) If you are interested, you can view my config by nick, there are all the configs that I use.
@Wampa842
@Wampa842 Жыл бұрын
Group (i.e. workspace) names and their respective keybindings are completely independent, it's just that Qtile's default config uses an algorithm that generates keybindings from the groups' names. For example, my "media", "web", and "game" groups are manually bound to mod+(ö, ü, ó).
@trollerbladdering
@trollerbladdering Жыл бұрын
Qtile made me give up running a 34" ultra wide gaming monitor with a 27" 4K monitor over top for media.... and now I just run a large 43" 4K gaming display. I don't miss multi monitor setups at all.
@denizkendirci
@denizkendirci Жыл бұрын
i tried most of tiling and floating wms and settled in ratpoison and dwm. and i barely configure them, i use them "almost" out of box. i just change couple of keybindings, that's all. i didn't like qtile, xmonad etc, they seemed too complicated to me, i can use bspwm of that bunch, but others... they are a hussle to me. my ratpoisonrc consists of 3 lines to start rpws, nitrogen and picom, 1 line to change escape key to Super_L, 5 lines to add 5 workspaces, and 2 line to add keybindings for alacritty and rofi. 11 lines of config in total. but if i use wm like qtile, i have to do so much configuration before i end up with something i can use.
@moistness482
@moistness482 Жыл бұрын
Python is an interpreted language, basically meaning that it is compiled at runtime. This is what makes python ingerently slower than more traditional languages. However, much of the speed still depends on actual code, and python has a lot of built in functionality that is more optimised than doing the same thing manually.
@Blessed2bFresh
@Blessed2bFresh Жыл бұрын
damn algorithm. just started taking a course in python ystrdy AND started using qtile
@Ax4400
@Ax4400 Жыл бұрын
Excellent QTile video, thank you! Have you seen the i3 w/Light Mate Bar only? I'm thinking of moving to Garuda i3wm. How does garuda QTile differ from i3wm? The idea of being able to run different apps in ' seprate frames or work spaces on the same screen blows me away', am I understanding that right?
@openbabel
@openbabel Жыл бұрын
why cant you run video calling in terminals such as Qtile?
@YoelaOlson
@YoelaOlson 2 ай бұрын
"... it's more complicated than Polybar in terms of configuration." Huh, maybe it's because I'm a developer, and I've used Python before, but Qtile's default bar config seems easier for me to config lol. Or.... I'm just weird 😅 love your videos!
@sentient_thumbnail
@sentient_thumbnail Жыл бұрын
i'm on my 3rd qtile day, otherwise fresh to arch/python specifically and linux in general, and i'm stumped by something that should be a simple fix - centering text in the active-window widget in the middle (similar to how polybar does it). the only solution i've come across is adding spacers to both ends of the widget, which seems a bit hacky(-ier than it should be). any py pros or qtile quommandos have a more direct/logical idea for this?
@nghiratdeptrai
@nghiratdeptrai Жыл бұрын
Are you running Qtile on X11 or Wayland? Have been enjoy watching your channel for a while, thanks for all the good contents
@TheLinuxCast
@TheLinuxCast Жыл бұрын
X11. Haven't tried the Wayland version yet
@bosmanka
@bosmanka Жыл бұрын
I have kde, openbox, i3, qtile and xmonad running on tumbleweed, Ubuntu and fedora. My favorite is xmonad, with qtile on second place. Xmonad is just faster and even more configurable.
@leoc1fer
@leoc1fer Жыл бұрын
How did you configure your firefox that way?
@TheLinuxCast
@TheLinuxCast Жыл бұрын
kzbin.info/www/bejne/eJ7Gmaeqrb9ra9k
@boogerman69
@boogerman69 6 ай бұрын
@@TheLinuxCast is there an updated guide on this? the video is unavailable :(
@pikaa-si9ie
@pikaa-si9ie 11 ай бұрын
Hey bro, do you mind sharing your config file?
@TheLinuxCast
@TheLinuxCast 11 ай бұрын
It's on GitLab. Link is in the description
@darkobul1
@darkobul1 Жыл бұрын
I got laptop with win11 and installed linux what a shame. I tried for 4 days to fix touchpad have changed nunerous settings downgrade and upgraded packagea and kernels and cant make i2c touchpad to work. Incredible... and I see so many laptops have such issues which is a shame as everything else works and most simple thing doesnt. If you lack ideas for video and are able to shread more light of this kind of bizzare problems with linux. I mean i2c should be something simple and not such a deal breaker.
@Little-bird-told-me
@Little-bird-told-me 11 ай бұрын
This exactly why i will never use Qtile
@eldarcfrov8707
@eldarcfrov8707 Жыл бұрын
Qtile is not stable on wayland, it crashes arbitrarily even when I close my browser.
@lucastavares3518
@lucastavares3518 Жыл бұрын
Now you are having a taste of the second monitor is useless argument
@zeocamo
@zeocamo Жыл бұрын
i am a developer, and let me tell you Python is SLOW AF, it use the last 10 years fight the python 2/3 stuff and has not focus on Speed like any other langauges, you got C, c++ and rust as the fast langauges and then you got anything else at half the speed of C, and then we got python on around x27 as slow as C. Python is a easy langauge to learn and a lot of people love it because they feel to st*pid to learn a real langauge, but with that said, for stuff like this where the call into xorg cost 1-2ms for any other language it is 20-27ms for some of the call for python, and no one will see that.
@MattiaProcopio
@MattiaProcopio Жыл бұрын
just saying, Python has focused on improving performance, every recent release adds also a decent amount of optimisation, they are sailing at an average of ~10% per release
@cprogrck
@cprogrck Жыл бұрын
If you need extra performance with Python it's really easy to write a c++ library.
@ruroruro
@ruroruro Жыл бұрын
That's because you're not supposed to write the performance critical parts of your code in Python. You are supposed to write it in C or Cython or whatever and then expose the resulting API to Python. That way you can keep the performance benefits of low level languages and also get the flexibility and quality of life features of a dynamically typed high level language.
@zeocamo
@zeocamo Жыл бұрын
@@ruroruro so you are saying if i want pancakes but it got too much suger, so eat pizza, no i wanted pancakes. the people that write python do so because they are less "gifted" then others, or they used Rust and got the best of both worlds. and also if we take JS it is close to how easy it is dynamically high lvl lang. it is is 14x faster and some test say 80x faster then python. so this is a non-answer, if they need to write C to get the performance then they are not using Python and it was Python they wanted to uses. so no the python team just need to get working on making python just close to C# or Java, they are super slow too, but still way way faster then Python.
@ruroruro
@ruroruro Жыл бұрын
@@zeocamo your analogy doesn't work. Every tool has a "correct" way to use it. If you use Python in such a way that the Python runtime is a performance bottleneck (and you care about performance), then you are using Python wrong. If you use an electric drill by manually turning the router bit with your hands and then complain that it's not working - then it's entirely your fault. And it doesn't matter how much you want to use it without electricity or something else. > the people that write python do so because they are less "gifted" then others Ah yes, "I don't like/understand a thing, so everyone who uses that thing must be stupid". Sure thing, buddy. Also, do you actually have any statistics to back up your claims? > if they need to write C to get the performance then they are not using Python I think, you misunderstand what I was trying to say. The role of Python in a modern programming stack is to "orchestrate" lower level code. I am not saying, that you should write C code **instead** of writing Python, I am saying, that you should write only the performance critical part in C and do all the "finicky" high level implementation in Python (calling into your efficient C implementation when needed). Or, more realistically, you can probably express the performance critical task in terms of a more general task, that already has an open source implementation available (maybe even with Python bindings). In that case, you should definitely use that one instead of wasting your time reimplementing it. > so no the python team just need to get working on making python just close to C# or Java, they are super slow too, but still way way faster then Python. In my experience, idiomatic Java is actually slower than idiomatic Python in most practical applications. No idea about C#.
Qtile vs BSPWM - Which is Better?
38:44
The Linux Cast
Рет қаралды 14 М.
Qtile "Extras" Gives You Even More Customization Options
17:58
DistroTube
Рет қаралды 29 М.
THE POLICE TAKES ME! feat @PANDAGIRLOFFICIAL #shorts
00:31
PANDA BOI
Рет қаралды 24 МЛН
МАМА И STANDOFF 2 😳 !FAKE GUN! #shorts
00:34
INNA SERG
Рет қаралды 4,8 МЛН
The 12 Linux Apps Everyone Should Know About
21:20
DistroTube
Рет қаралды 453 М.
A Comprehensive Guide To Tiling Window Managers
1:02:27
DistroTube
Рет қаралды 337 М.
How to Use Scratchpads on i3
13:52
The Linux Cast
Рет қаралды 10 М.
Qtile Is Love, Qtile Is Life
25:28
DistroTube
Рет қаралды 43 М.
98% Cloud Cost Saved By Writing Our Own Database
21:45
ThePrimeTime
Рет қаралды 316 М.
Using docker in unusual ways
12:58
Dreams of Code
Рет қаралды 413 М.
CONCURRENCY IS NOT WHAT YOU THINK
16:59
Core Dumped
Рет қаралды 89 М.
The Top 8 Linux Window Managers of 2020
16:43
DistroTube
Рет қаралды 229 М.
I Finally Tried Joplin
19:03
The Linux Cast
Рет қаралды 9 М.
Qtile - A Powerful and Flexible Window Manager You Should Try!
34:38
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 6 МЛН
Здесь упор в процессор
18:02
Рома, Просто Рома
Рет қаралды 183 М.
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33
Ремонтяш
Рет қаралды 345 М.