Qtile správce oken

Qtile je správce oken pro Linux, který je napsaný v Pythonu a je známý svou flexibilitou a konfigurovatelností.

Instalace

Qtile lze nainstalovat tímto způsobem:

sudo pacman -S qtile

Konfigurace

Konfigurační soubor Qtile je napsán v Pythonu, což umožňuje velkou flexibilitu. Soubor se obvykle nachází v ~/.config/qtile/config.py. Zde je základní struktura konfiguračního souboru:

from libqtile import bar, layout, widget
from libqtile.config import Click, Drag, Group, Key, Match, Screen
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal

mod = "mod4"  # Mod key (usually the Windows key)
terminal = guess_terminal()

keys = [
    Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
    Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
    Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
    Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
    Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
    # Add more keybindings here
]

groups = [Group(i) for i in "123456789"]

for i in groups:
    keys.extend([
        Key([mod], i.name, lazy.group[i.name].toscreen(),
            desc="Switch to group {}".format(i.name)),
        Key([mod, "shift"], i.name, lazy.window.togroup(i.name, switch_group=True),
            desc="Switch to & move focused window to group {}".format(i.name)),
    ])

layouts = [
    layout.Columns(border_focus_stack=['#d75f5f', '#8f3d3d'], border_width=4),
    layout.Max(),
    # Add more layouts here
]

widget_defaults = dict(
    font='sans',
    fontsize=12,
    padding=3,
)
extension_defaults = widget_defaults.copy()

screens = [
    Screen(
        top=bar.Bar(
            [
                widget.CurrentLayout(),
                widget.GroupBox(),
                widget.Prompt(),
                widget.WindowName(),
                widget.Chord(
                    chords_colors={
                        'launch': ("#ff0000", "#ffffff"),
                    },
                    name_transform=lambda name: name.upper(),
                ),
                widget.Systray(),
                widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
                widget.QuickExit(),
            ],
            24,
        ),
    ),
]

# Drag floating layouts.
mouse = [
    Drag([mod], "Button1", lazy.window.set_position_floating(),
         start=lazy.window.get_position()),
    Drag([mod], "Button3", lazy.window.set_size_floating(),
         start=lazy.window.get_size()),
    Click([mod], "Button2", lazy.window.bring_to_front())
]

dgroups_key_binder = None
dgroups_app_rules = []  # type: List
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
floating_layout = layout.Floating(float_rules=[
    # Run the utility of `xprop` to see the wm class and name of an X client.
    *layout.Floating.default_float_rules,
    Match(wm_class='confirmreset'),  # gitk
    Match(wm_class='makebranch'),  # gitk
    Match(wm_class='maketag'),  # gitk
    Match(wm_class='ssh-askpass'),  # ssh-askpass
    Match(title='branchdialog'),  # gitk
    Match(title='pinentry'),  # GPG key password entry
])
auto_fullscreen = True
focus_on_window_activation = "smart"
reconfigure_screens = True

# If things like steam games want to auto-minimize themselves when losing
# focus, should we respect this or not?
auto_minimize = True

# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
# string besides java UI toolkits; you can see several discussions on the
# mailing lists, GitHub issues, and other WM documentation that suggest setting
# this string if your java app doesn't work correctly. We may as well just lie
# and say that we're a working one by default.
#
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
# java that happens to be on java's whitelist.
wmname = "LG3D"

Další konfigurační soubory jsou:

  • Main config file: ~/.config/qtile/config.py
  • Keybindings: ~/.config/qtile/modules/keys.py
  • Bar: ~/.config/qtile/modules/screens.py
  • Widgets: ~/.config/qtile/modules/widgets.py
  • Auto-start: ~/.config/qtile/autostart.sh

KLávesové zkratky

Klávesové zkratky jsou definovány v sekci keys. Například:

keys = [
    Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
    Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
    Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
    Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
    Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
    # Add more keybindings here
]

Rozvržení

Rozvržení oken lze konfigurovat v sekci layouts. Například:

layouts = [
    layout.Columns(border_focus_stack=['#d75f5f', '#8f3d3d'], border_width=4),
    layout.Max(),
    # Add more layouts here
]

Widgety

Widgety jsou malé aplikace, které se zobrazují na panelu. Například:

widget_defaults = dict(
    font='sans',
    fontsize=12,
    padding=3,
)
extension_defaults = widget_defaults.copy()

screens = [
    Screen(
        top=bar.Bar(
            [
                widget.CurrentLayout(),
                widget.GroupBox(),
                widget.Prompt(),
                widget.WindowName(),
                widget.Chord(
                    chords_colors={
                        'launch': ("#ff0000", "#ffffff"),
                    },
                    name_transform=lambda name: name.upper(),
                ),
                widget.Systray(),
                widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
                widget.QuickExit(),
            ],
            24,
        ),
    ),
]

Spuštění

Po konfiguraci můžete Qtile spustit pomocí příkazu:

qtile start

Dokumentace a komunita

Pro další informace a podporu můžete navštívit oficiální dokumentaci Qtile na docs.qtile.org nebo se připojit k komunitě na GitHub a Reddit .


Qtile je samostatný správce oken, což znamená, že nemusíte mít nainstalováno žádné desktopové prostředí (DE) jako GNOME, KDE Plasma nebo XFCE. Qtile může být použit jako samostatný správce oken, který se stará o správu oken a pracovních ploch. Nicméně, pokud chcete využít některé funkce, které poskytují desktopová prostředí (například automatické správu energie, notifikace, systémové nástroje), můžete je nainstalovat a používat společně s Qtile.

Použití Qtile bez desktopového prostředí

Pokud chcete používat Qtile bez desktopového prostředí, stačí nainstalovat Qtile a nastavit ho jako výchozí správce oken. To můžete udělat takto:

  1. Nainstalujte Qtile:
sudo pacman -S qtile 
  1. Nastavte Qtile jako výchozí správce oken:

Vytvořte nebo upravte soubor ~/.xinitrc a přidejte do něj řádek:

exec qtile
  1. Spusťte Qtile:
startx

Použití Qtile s desktopovým prostředím

Pokud chcete využít některé funkce desktopového prostředí, můžete nainstalovat a používat Qtile společně s ním. Například, můžete nainstalovat GNOME a používat Qtile jako správce oken:

  1. Nainstalujte GNOME:
sudo pacman -S gnome 
  1. Nastavte Qtile jako správce oken v GNOME:

Vytvořte nebo upravte soubor ~/.xinitrc a přidejte do něj řádek:

exec gnome-session --session=qtile
  1. Spusťte GNOME s Qtile:
startx

Použití Qtile s dalšími nástroji

Pokud chcete využít některé funkce desktopového prostředí, ale nechcete nainstalovat celé prostředí, můžete nainstalovat jednotlivé nástroje a používat je společně s Qtile. Například:

  • Notifikace: Nainstalujte dunst nebo xfce4-notifyd.
  • Automatická správa energie: Nainstalujte tlp nebo powertop.
  • Systémové nástroje: Nainstalujte gnome-system-monitor nebo htop.

Příklad konfigurace s notifikacemi

Pokud chcete přidat notifikace pomocí dunst, můžete to udělat takto:

  1. Nainstalujte dunst:
sudo pacman -S dunst
  1. Přidejte dunst do konfiguračního souboru Qtile:
from libqtile import hook
import subprocess

@hook.subscribe.startup_once
def autostart():
    subprocess.Popen(['dunst'])

Tímto způsobem můžete Qtile používat jako samostatný správce oken nebo v kombinaci s dalšími nástroji a desktopovými prostředími podle vašich potřeb.

Rozdíl mezi Qtile a i3wm

Qtile a i3wm jsou oba populární správci oken pro Linux, ale mají několik klíčových rozdílů v konfiguraci, použití a filozofii. Zde je přehled hlavních rozdílů mezi Qtile a i3wm:

Jazyk konfigurace

  • Qtile: Konfigurační soubor Qtile je napsán v Pythonu. To umožňuje velkou flexibilitu a možnost použít všechny funkce Pythonu pro konfiguraci a rozšíření.
  • i3wm: Konfigurační soubor i3wm je napsán v jednoduchém textovém formátu. To znamená, že je snadnější pro začátečníky, ale méně flexibilní než Python.

Konfigurace

  • Qtile: Konfigurace Qtile je uložena v souboru ~/.config/qtile/config.py. Díky použití Pythonu můžete snadno vytvářet složité konfigurace a skripty.
  • i3wm: Konfigurace i3wm je uložena v souboru ~/.config/i3/config. Konfigurační soubor je jednoduchý textový soubor, který je snadno čitelný a upravitelný.

Rozvržení oken

  • Qtile: Qtile podporuje různé typy rozvržení, jako jsou sloupce, řádky, plocha, plovoucí okna atd. Rozvržení lze snadno přepínat a konfigurovat.
  • i3wm: i3wm používá stromovou strukturu pro rozvržení oken. To znamená, že okna jsou organizována do stromu, kde každý uzel může obsahovat další uzly nebo okna. Toto rozvržení je velmi efektivní pro práci s mnoha okny.

Klávesové zkratky

  • Qtile: Klávesové zkratky jsou definovány v konfiguračním souboru a mohou být velmi flexibilní díky použití Pythonu.
  • i3wm: Klávesové zkratky jsou také definovány v konfiguračním souboru, ale jsou méně flexibilní než v Qtile. Nicméně, i3wm má velmi dobře propracované výchozí klávesové zkratky, které jsou pro mnoho uživatelů dostačující.

Widgety a rozšíření

  • Qtile: Qtile podporuje různé widgety, které lze přidat do panelu. Díky použití Pythonu je snadné vytvářet vlastní widgety a rozšíření.
  • i3wm: i3wm má omezenou podporu pro widgety a rozšíření. Nicméně, existují externí nástroje, jako je i3status nebo polybar, které lze použít pro přidání widgetů do panelu.

Komunita a podpora

  • Qtile: Qtile má aktivní komunitu a dobrou dokumentaci. Podpora je dostupná na GitHubu a dalších fórech.
  • i3wm: i3wm má velkou a aktivní komunitu a také dobrou dokumentaci. Podpora je dostupná na GitHubu, Reddit a dalších fórech.

Výkon

  • Qtile: Qtile je velmi lehký a rychlý správce oken, který má nízkou spotřebu paměti a procesoru.
  • i3wm: i3wm je také velmi lehký a rychlý správce oken s nízkou spotřebou paměti a procesoru.

Comments

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Užíváme cookies, abychom vám zajistili co možná nejsnadnější použití našich webových stránek. Pokud budete nadále prohlížet naše stránky předpokládáme, že s použitím cookies souhlasíte. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active
 
 

Zásady ochrany osobních údajů

Naposledy aktualizováno: 28.4.2022

Pokud jste návštěvníkem našeho blogu, odběratelem novinek, přispěvatelem do komentářů  poskytujete nám své osobní údaje. My vaše údaje zpracováváme a za jejich bezpečnost odpovídáme. Slibujeme, že vaše údaje dostatečně chráníme a podřizujeme se požadavkům Nařízení o ochraně osobních údajů (GDPR). Neprodáváme žádný produkt, nejste tedy našimi zákazníky, ale návštěvníky blogu.

Správcem vašich osobních údajů je Lukáš (Lucka ani nekouká přes rameno!)

Správcem osobních údajů je Lukáš Kaňka, který provozuje webové stránky lukan.cz a lukan.cekuj.net. Lukáš vaše údaje spravuje a určuje, jak dlouho budou osobní údaje zpracovávány, a za jakým účelem. Vybírá také další zpracovatele, které ke zpracování využíváme.

Jaké údaje zpracováváme a proč

Vaše osobní údaje zpracováváme především proto, abychom vám mohli poskytovat co nejkvalitnější obsah. Jednotlivé důvody zpracování:
  • E-mailové kampaně a newslettery

Jste čtenářem: E-mailem vám posíláme novinky, ke kterým jste se přihlásili. Zpracováváme váš e-mail, sledujeme, na co klikáte v e-mailu a jaké typy e-mailů od nás otevíráte, za účelem lepšího výběru obsahu, který by vás mohl zajímat.

Předávání osobních údajů třetím osobám

Vaše údaje zpracovává správce Lukáš Kaňka, s využitím dalších dvou zpracovatelů, společnosti Endora , jejichž zpracování spočívá v uchovávání údajů na zabezpečených cloudových serverech. Abychom mohli měřit, jak se vám na našem blogu líbí, kde trávíte nejvíce času a kam klikáte, používáme další poskytovatele služeb pro určité zpracovatelské operace. Jsou to: Google – Google Analytics pomocí měřícího kódu

Jak nás můžete kontaktovat

Ať už na nás máte jakoukoliv otázku nebo požadavek, můžete nás kontaktovat ne e-mailové adrese: lukas.kanka@lukan.cz.

Předávání vašich dat mimo Evropskou Unii

Vaše data zpracováváme výhradně v Evropské unii nebo v zemích, které zajišťují odpovídající úroveň ochrany na základě rozhodnutí Evropské komise.

Zabezpečení a ochrana osobních údajů

Vaše data jsou u nás v bezpečí. Přijali jsme technická opatření, která zajišťují zabezpečení osobních údajů šifrováním přenosu dat pomocí HTTPS protokolu (ten zámeček, co je vedle naší URL adresy ;-)) a zabezpečili vaše osobní údaje v souladu s čl. 32 GDPR.

Vaše práva v souvislosti s ochranou osobních údajů

  V souvislosti s ochranou osobních údajů máte řadu práv. Pokud budete chtít některého z těchto práv využít, prosím, kontaktujte nás prostřednictvím e-mailu: lukas.kanka@lukan.cz   Máte právo na informace, které si právě teď čtete. 🙂   Díky právu na přístup nás můžete kdykoli vyzvat a my vám do 30 dnů doložíme, jaké vaše osobní údaje zpracováváme a proč. Pokud se u vás něco změní nebo shledáte své osobní údaje neaktuální nebo neúplné, máte právo na doplnění a změnu osobních údajů.   Právo na omezení zpracování můžete využít, pokud se domníváte, že zpracováváme vaše nepřesné údaje, domníváte se, že provádíme zpracování nezákonně, ale nechcete všechny údaje smazat nebo pokud jste vznesli námitku proti zpracování. Omezit můžete rozsah osobních údajů nebo účelů zpracování.   Právo na výmaz (být zapomenut) Vaším dalším právem je právo na výmaz (být zapomenut). Nechceme na vás zapomenout, ale pokud si to budete přát, máte na to právo. 😞  V takovém případě vymažeme veškeré vaše osobní údaje ze svého systému i ze systému všech dílčích zpracovatelů a záloh. Na zajištění práva na výmaz potřebujeme 30 dní.   Stížnost u Úřadu na ochranu osobních údajů Pokud máte pocit, že s vašimi údaji nezacházíme v souladu se zákonem, máte právo se se svou stížností kdykoli obrátit na Úřad pro ochranu osobních údajů. Budeme moc rádi, pokud nejprve budete o tomto podezření informovat nás, abychom s tím mohli něco udělat a případné pochybení napravit.   Odhlášení ze zasílání newsletterů  E-maily s inspirací, články vám zasíláme, jste-li náš čtenář na základě našeho oprávněného zájmu. Pokud čtenářem ještě nejste, posíláme vám je jen na základě vašeho souhlasu. V obou případech můžete ukončit odběr našich e-mailů stisknutím odhlašovacího odkazu v každém zaslaném e-mailu.

Mlčenlivost

Jsme povinni zachovávat mlčenlivost o osobních údajích a o bezpečnostních opatřeních, jejichž zveřejnění by ohrozilo zabezpečení vašich osobních údajů. Tato mlčenlivost přitom trvá i po skončení závazkových vztahů s námi. Bez vašeho souhlasu také vaše údaje žádné jiné třetí straně nevydáme. Tyto Zásady ochrany osobních údajů nabývají účinnosti 28.4.2022
 
Save settings
Cookies settings