feat: migrace článků z WP, oprava menu kategorií

This commit is contained in:
2026-05-10 08:38:47 +02:00
parent 5ce75b24a9
commit 1b861dbdbf
311 changed files with 56727 additions and 125 deletions
+549
View File
@@ -0,0 +1,549 @@
<!DOCTYPE html>
<html lang="cs"><head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8">
<meta http-equiv="content-type" content="text/html">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title itemprop="name">AwesomeWM Ricing | Arch Linux CZ</title>
<meta property="og:title" content="AwesomeWM Ricing | Arch Linux CZ" />
<meta name="twitter:title" content="AwesomeWM Ricing | Arch Linux CZ" />
<meta itemprop="name" content="AwesomeWM Ricing | Arch Linux CZ" />
<meta name="application-name" content="AwesomeWM Ricing | Arch Linux CZ" />
<meta property="og:site_name" content="Arch Linux CZ" />
<meta name="description" content="Česká komunita Arch Linuxu">
<meta itemprop="description" content="Česká komunita Arch Linuxu" />
<meta property="og:description" content="Česká komunita Arch Linuxu" />
<meta name="twitter:description" content="Česká komunita Arch Linuxu" />
<meta property="og:locale" content="cs" />
<meta name="language" content="cs" />
<link rel="alternate" hreflang="en" href="http://localhost:1313/posts/awesomewm-ricing/" title="" />
<meta property="og:type" content="article" />
<meta property="og:article:published_time" content=2022-04-23T00:00:00Z />
<meta property="article:published_time" content=2022-04-23T00:00:00Z />
<meta property="og:url" content="http://localhost:1313/posts/awesomewm-ricing/" />
<meta property="og:article:author" content="archos" />
<meta property="article:author" content="archos" />
<meta name="author" content="archos" />
<script defer type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Article",
"headline": "AwesomeWM Ricing",
"author": {
"@type": "Person",
"name": ""
},
"datePublished": "2022-04-23",
"description": "",
"wordCount": 1852 ,
"mainEntityOfPage": "True",
"dateModified": "2022-04-23",
"image": {
"@type": "imageObject",
"url": ""
},
"publisher": {
"@type": "Organization",
"name": "Arch Linux CZ"
}
}
</script>
<meta name="generator" content="Hugo 0.161.1">
<meta property="og:url" content="http://localhost:1313/posts/awesomewm-ricing/">
<meta property="og:site_name" content="Arch Linux CZ">
<meta property="og:title" content="AwesomeWM Ricing">
<meta property="og:description" content="AwesomeWM patří k nejlepším window managerům s podporou vyššího programovacího jazyka Lua. V našem seriálu Tondy Fischera již máte dostatek zkušeností pro plný ricing pokročilého prostředí AwesomeWM.
https://www.youtube.com/watch?v=FCxd5id77c4&amp;t=31s
Awesome Ricing - Pokročilá Konfigurace Nyní již můžeme přikročit k plné a pokročilé konfiguraci AwesomeWM. Cest je nekonečné množství. Já jsem zvolil cestu pro jednoduchou údržbu, vysokou efektivitu práce a kvalitní grafický design, který nesníží performance systému. Podobně jako u xfce v minulých dílech. Zde je navíc možné vše integrovat dohromady, jakoukoliv věc si přizpůsobit svému workflow a propojit WM s vašimi pracovními skripty a nástroji.">
<meta property="og:locale" content="cs">
<meta property="og:type" content="article">
<meta property="article:section" content="posts">
<meta property="article:published_time" content="2022-04-23T00:00:00+00:00">
<meta property="article:modified_time" content="2022-04-23T00:00:00+00:00">
<meta property="article:tag" content="Awesomewm">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="AwesomeWM Ricing">
<meta name="twitter:description" content="AwesomeWM patří k nejlepším window managerům s podporou vyššího programovacího jazyka Lua. V našem seriálu Tondy Fischera již máte dostatek zkušeností pro plný ricing pokročilého prostředí AwesomeWM.
https://www.youtube.com/watch?v=FCxd5id77c4&amp;t=31s
Awesome Ricing - Pokročilá Konfigurace Nyní již můžeme přikročit k plné a pokročilé konfiguraci AwesomeWM. Cest je nekonečné množství. Já jsem zvolil cestu pro jednoduchou údržbu, vysokou efektivitu práce a kvalitní grafický design, který nesníží performance systému. Podobně jako u xfce v minulých dílech. Zde je navíc možné vše integrovat dohromady, jakoukoliv věc si přizpůsobit svému workflow a propojit WM s vašimi pracovními skripty a nástroji.">
<link rel="canonical" href="http://localhost:1313/posts/awesomewm-ricing/">
<link href="/style.min.2d921c18cf1ec555ffc03d59a8adc211c402c68c930c27d6a0c306ab175a8d09.css" rel="stylesheet">
<link href="/code-highlight.min.706d31975fec544a864cb7f0d847a73ea55ca1df91bf495fd12a177138d807cf.css" rel="stylesheet">
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
<link rel="mask-icon" href="/icons/safari-pinned-tab.svg">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="manifest" href="http://localhost:1313/site.webmanifest">
<meta name="msapplication-config" content="/browserconfig.xml">
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="theme-color" content="#434648">
<meta name="color-scheme" content="light dark">
<link rel="icon" type="image/svg+xml" href="/icons/favicon.svg">
</head>
<body data-theme = "" class="notransition">
<script src="/js/theme.js"></script>
<div class="navbar" role="navigation">
<nav class="menu" aria-label="Main Navigation">
<a href="http://localhost:1313/" class="logo">
<img src="/logo.png" alt="Arch Linux CZ" height="50">
</a>
<input type="checkbox" id="menu-trigger" class="menu-trigger" />
<label for="menu-trigger">
<span class="menu-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" stroke="currentColor" fill="none" viewBox="0 0 14 14"><title>Menu</title><path stroke-linecap="round" stroke-linejoin="round" d="M10.595 7L3.40726 7"></path><path stroke-linecap="round" stroke-linejoin="round" d="M10.5096 3.51488L3.49301 3.51488"></path><path stroke-linecap="round" stroke-linejoin="round" d="M10.5096 10.4851H3.49301"></path><path stroke-linecap="round" stroke-linejoin="round" d="M0.5 12.5V1.5C0.5 0.947715 0.947715 0.5 1.5 0.5H12.5C13.0523 0.5 13.5 0.947715 13.5 1.5V12.5C13.5 13.0523 13.0523 13.5 12.5 13.5H1.5C0.947715 13.5 0.5 13.0523 0.5 12.5Z"></path></svg>
</span>
</label>
<div class="trigger">
<ul class="trigger-container">
<li>
<a class="menu-link " href="/">
Domů
</a>
</li>
<li>
<a class="menu-link " href="/categories/n%C3%A1vody/">
Návody
</a>
</li>
<li>
<a class="menu-link " href="/categories/zrp%C3%A1vy/">
Zprávy
</a>
</li>
<li>
<a class="menu-link " href="/o-arch-linuxu/">
O Arch Linuxu
</a>
</li>
<li>
<a class="menu-link " href="https://wiki.arch-linux.cz/shelves/arch-linux-cz">
Wiki
</a>
</li>
<li>
<a class="menu-link " href="https://forum.arch-linux.cz/">
Fórum
</a>
</li>
<li>
<a class="menu-link " href="/komunita/">
Komunita
</a>
</li>
<li>
<a class="menu-link " href="/podporte-nas/">
Podpořte nás
</a>
</li>
<li class="menu-separator">
<span>|</span>
</li>
</ul>
<a id="mode" href="#">
<svg xmlns="http://www.w3.org/2000/svg" class="mode-sunny" width="21" height="21" viewBox="0 0 14 14" stroke-width="1">
<title>LIGHT</title><g><circle cx="7" cy="7" r="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></circle><line x1="7" y1="0.5" x2="7" y2="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="2.4" y1="2.4" x2="3.82" y2="3.82" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="0.5" y1="7" x2="2.5" y2="7" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="2.4" y1="11.6" x2="3.82" y2="10.18" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="7" y1="13.5" x2="7" y2="11.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="11.6" y1="11.6" x2="10.18" y2="10.18" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="13.5" y1="7" x2="11.5" y2="7" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="11.6" y1="2.4" x2="10.18" y2="3.82" fill="none" stroke-linecap="round" stroke-linejoin="round"></line></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" class="mode-moon" width="21" height="21" viewBox="0 0 14 14" stroke-width="1">
<title>DARK</title><g><circle cx="7" cy="7" r="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></circle><line x1="7" y1="0.5" x2="7" y2="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="2.4" y1="2.4" x2="3.82" y2="3.82" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="0.5" y1="7" x2="2.5" y2="7" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="2.4" y1="11.6" x2="3.82" y2="10.18" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="7" y1="13.5" x2="7" y2="11.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="11.6" y1="11.6" x2="10.18" y2="10.18" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="13.5" y1="7" x2="11.5" y2="7" fill="none" stroke-linecap="round" stroke-linejoin="round"></line><line x1="11.6" y1="2.4" x2="10.18" y2="3.82" fill="none" stroke-linecap="round" stroke-linejoin="round"></line></g></svg>
</a>
</div>
</nav>
</div>
<div class="wrapper post">
<main class="page-content" aria-label="Content">
<article>
<header class="header">
<h1 class="header-title">AwesomeWM Ricing</h1>
<div class="post-meta">
<time datetime="2022-04-23T00:00:00&#43;00:00" itemprop="datePublished"> 23. 4. 2022 </time>
</div>
</header>
<div class="page-content">
<p>AwesomeWM patří k nejlepším window managerům s podporou vyššího programovacího jazyka Lua. V našem seriálu <a href="https://github.com/raven2cz">Tondy Fischera</a> již máte dostatek zkušeností pro plný ricing pokročilého prostředí AwesomeWM.</p>
<p><img src="https://arch-linux.cz/wp-content/uploads/2022/04/awesomewm-1-1-1024x576.jpg" alt=""></p>
<p><img src="https://arch-linux.cz/wp-content/uploads/2022/04/awesomewm-2-1-1024x576.jpg" alt=""></p>
<p><a href="https://www.youtube.com/watch?v=FCxd5id77c4&amp;t=31s">https://www.youtube.com/watch?v=FCxd5id77c4&amp;t=31s</a></p>
<h2 id="awesome-ricing---pokročilá-konfigurace">Awesome Ricing - Pokročilá Konfigurace</h2>
<p>Nyní již můžeme přikročit k plné a pokročilé konfiguraci AwesomeWM. Cest je nekonečné množství. <strong>Já jsem zvolil cestu pro jednoduchou údržbu, vysokou efektivitu práce a kvalitní grafický design, který nesníží performance systému</strong>. Podobně jako u xfce v minulých dílech. Zde je navíc možné vše integrovat dohromady, jakoukoliv věc si přizpůsobit svému workflow a propojit WM s vašimi pracovními skripty a nástroji.</p>
<p>Vše, co tady bude probíráno je moje aktuální řešení problematiky. Je nutné pochopit, že ve chvíli, kdy máte framework awesomewm k dispozici, můžete si vše vytvořit podle vlastní představy, variant je tedy nekončné množství, toto je největší rozdíl od fixních WMs nebo DEs, které lze pouze omezeně konfigurovat.</p>
<h4 id="základ-dobrého-designu-a-dlouhodobého-úspěšného-programování">Základ dobrého designu a dlouhodobého úspěšného programování</h4>
<p>Úspěchem dobrého programování a nejlepšího designu jsou 3 věci:</p>
<ul>
<li>
<p>Jednoduchost a přehlednost</p>
</li>
<li>
<p>Vlastní knihovna / framework</p>
</li>
<li>
<p>Omezení a minimalismus třetích stran</p>
</li>
</ul>
<p>Vždy nejlepší řešení je to nejjednodušší. Je velmi obtížné se k němu dostat, protože lidé přemýšlí komplexně. Vždy dbejte na tom se k němu dostat a mít vše přehledné i pro další lidi, je to v podstatě zásada free open source.</p>
<p>Obecné věci, které používáte a určtiě budete používat i dále si ukládejte do svého frameworku a knihoven. Toto je nutný základ. Vlastní přehledný framework je naprostým základem pro každého programátora, ať už děláte v jakémkoliv jazyce. Správná správa balíčků a knihoven je základ, pouze takto lze se neustále zdokonalovat, vyvíjet a minimalizovat chyby, stabilizací frameworku.</p>
<p>Používání 3 stran je potřeba minimalizovat na rozumnou úroveň. Knihovny musí být otevřené, aktivní a opět jednoduché. Nikdy neberte nic komplikovaného. Vždy dejte přednost svému řešení, pokud je v časovém rámci. Pečlivě volte knihovny, které potom již velmi težce lze opouštět!</p>
<p>V našem případě je zde vytvořen základní lua balíček <code>fishlive</code>, který slouží k rozšíření frameworku awesome pro moje osobní potřeby a přístupy. <strong>Vytvořte si svůj vlastní.</strong></p>
<p><img src="https://arch-linux.cz/wp-content/uploads/2022/04/mvc.png" alt=""></p>
<h2 id="pattern-mvc---model-view-controller">Pattern MVC - Model, View, Controller</h2>
<p>Tento návrhový vzor umožňuje rozdělit funkcionalitu do 3 základních celků, které mezi sebou navzájem komunikují. Jeho nespornou výhodou je oddělení business logic od grafického zpracování a doménové vrstvy. Stav aplikace je držen v modelu, který je zpravováván controllerem, ve finále je předán model komponentě view, která jej zobrazí. Pro frontend je toto základ, kdy views může být celá řada, business logiky mají různou implementaci a je jednoduché udržovat a zprovávvat doménové objekty v rámci modelu i zcela jiným procovním teamem. Tento pattern je již starší, takže existuje řada modifikací a pokročilých nápadů, které jej doplňují, nicméně základní myšlenka zůstavá.</p>
<p>My si tento pattern půjčíme a pomocí něj si myšlenkově upravíme defaultní <code>rc.lua</code>, který již používáte z předchozí nahrávky. Defaultní konfigurace je tvořena pouze jedním konfiguračním souborem <code>rc.lua</code> a doplňkovým souborem <code>theme.lua</code>, která umoňuje záměnu dle zvoleného theme. Myšlenka je správná, ale implementace je nevhodná. Brzy zjistíte, že jakákoliv větší grafická úprava zasahuje zejména do <code>rc.lua</code>, neboť je velmi nekvalitně odděleno řízení controller a view. Naše první kroky tedy musí nutně vést k základnímu oddělení controller a model-view části.</p>
<p>Provedeme zjednodušení na controller část a model-view část. Stav systému/grafického prostředí necháme držet ve vhodných sdílených lua tabulkách, které jsou sdíleny mezi oběma částmi. View část musíme nutně oddělit od <code>rc.lua</code>, kde ponecháme striktně pouze controller.</p>
<h3><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#model-view---themesthemelua"></a></h3>
<h3 id="model-view---themesthemelua"><strong>Model-View</strong> - themes/…/theme.lua</h3>
<p>část je dobré rozdělit si na 3 základní podčásti:</p>
<ul>
<li>
<p><strong>View Common Libs</strong> - použitelné části, které budeme používat i dalších našich themes a views, toto přesuneme do vlastní lua knihovny</p>
</li>
<li>
<p><strong>View Color Schemes</strong> - barevná schémata, která lze aplikovat na naše views a která jsou rovněž obecná.</p>
</li>
<li>
<p><strong>View Theme</strong> - specifická část pro každé vaše jednotlivé theme. Definice a konfigurace všech grafických komponent a jejich chování, aplikace základních view coomon libs a color schemat do těchto komponent. Tato třetí část je jako jediná definována vždy od začátku pro každé vaše nové theme.</p>
</li>
</ul>
<h4><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#view-common-libs"></a></h4>
<h4 id="view-common-libs">View Common Libs</h4>
<p>Tato knihovna byla založena a uložena v adresáři <code>~/.config/awesome/fishlive</code>. Obsahuje colorschemes, nové layouts, wallpaper různorodá ovládání, widgety a utility.</p>
<h4><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#view-color-schemes"></a></h4>
<h4 id="view-color-schemes">View Color Schemes</h4>
<p>Jsou zavedena pomocí vytvořeného příkazu <code>local theme = fishlive.colorscheme.default</code>, který do modelu/tabulky <code>theme</code> nastaví všechny důležité barvy, základní proměnné pro grafické view pro zvolené poslední barevné schéma, které lze dynamicky měnit.</p>
<h4><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#view-theme"></a></h4>
<h4 id="view-theme">View Theme</h4>
<p>Je uloženo v každém <code>theme.lua</code> souboru. Tento soubor mám principiálně tvořen touto strukturou:</p>
<ul>
<li>
<p><code>theme = fishlive.colorscheme.default</code> Defaultní naplnění modelu daným barevných schématem a přípravou atributů modelu</p>
</li>
<li>
<p><code>model attribute settings</code> Další specifické nastavení modelu dle zvoleného theme, okraje, fonty, notifikační události, taglist, layouts, menu</p>
</li>
<li>
<p><code>wallpaper support</code> Nastavení adresářů a základních atributů pro ovládání wallpapers v awesomewm</p>
</li>
<li>
<p><code>widget declaration</code> Vytvoření instanací widgetů a jejich specifické nakonfigurování do wibox grafických prvků, které lze umístit do prostředí</p>
</li>
<li>
<p><code>menu a application launcher declaration</code> Deklarace grafické části menu dle modelu a controlleru</p>
</li>
<li>
<p><code>screen.connect_signal(request:desktop_decoration)</code> Hlavní funkce, která provádí zavádění a hlavní činnost každého theme při jeho inicializačním procesu. Další body jsou již součástí tohoto procesu, volání této funkce, listenera.</p>
</li>
<li>
<p><code>tags and layout settings</code> Nastavení tagů a layotů, taglistu pro dané theme</p>
</li>
<li>
<p><code>tasklist configuration</code> Nastavení tasklistu pro zobrazování aktivně běžících aplikací systému</p>
</li>
<li>
<p><code>main panel configuration</code> Sestavení hlavního top panelu ze všech wiboxes, taglistu, tasklistu, systray apod.</p>
</li>
<li>
<p><code>naughty configuration</code> Nastavení notifikačních událostí a notification center a error handling support</p>
</li>
<li>
<p><code>wallpaper handling</code> Nastavení wallpaper ovládání a propojení s controllerem. V mém případě mám rád wallpapers, takže mám i velmi silnou podporu vytvořenou v awesomewm.</p>
</li>
</ul>
<h3><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#controller---rclua"></a></h3>
<h3 id="controller---rclua"><strong>Controller</strong> - rc.lua</h3>
<p>je možné taky rovněž dělit na další celky. Nicméně já mám v tomto ohledu rád minimalismus a lepší údržbu, neměl jsem tedy důvod tento soubor rozdělovat, naopak jej strukturalizuji pomoci folding sekcí a používám jednotlivé listenery, které awesome API nabízí k oddělení jednotlivých funkcionálních bloků. Soubor je tedy pořád jeden <code>rc.lua</code>, obsahuje však pouze vše co není grafika nebo grafická komponenta. Obsahuje tedy veškerou business logiku a workflow. Konkrétně obsahuje:</p>
<ul>
<li>
<p><code>naughty.connect_signal(request:display_error)</code> Error handling (zpracování výjimek a chyb v awesome a spojených aplikacích)</p>
</li>
<li>
<p><code>modkey, terminal, editor, menus</code> Definice základních proměnných pro základní klávesy, terminaly, editory, menu modely</p>
</li>
<li>
<p><code>tag.connect_signal(request:default_layouts)</code> Definice základních layouts, které budete používat</p>
</li>
<li>
<p><code>beautiful.init</code> Výběr model-view (theme), které bude napojedno a zobrazováno</p>
</li>
<li>
<p><code>awful.mouse.append_global_mousebindings</code> Nadefinování myších událostí a chování myši</p>
</li>
<li>
<p><code>awful.keyboard.append_global_keybindings</code> Definice globálních keybindings pro váš systém, rozděleno dle kategorií a účelu (folding style a separátní listeners)</p>
</li>
<li>
<p><code>client.connect_signal(request:default_keybindings)</code> Clientská konfigurace keybindings pro jednotlivá zobrazovaná okna (client = běžící aplikace v okně)</p>
</li>
<li>
<p><code>ruled.client.connect_signal(&quot;request:rules&quot; ...)</code> Definice pravidel (rules) pro zobrazování aplikací, druhů aplikací a reakce oken na speciální events</p>
</li>
<li>
<p><code>special connect_signal events for specific handling</code> Poslech dalších několik speciálních událostí pro specifické změny v awesomewm prostředí. Patří sem titlebars (horní lišta na okně), zpracování událostí, další chování myši apod.</p>
</li>
<li>
<p><code>awful.spawn.with_shell(&quot;~/.config/awesome/autorun.sh&quot;)</code> Poslední částí <code>rc.lua</code> souboru je spuštění vašeho <code>autorun.sh</code> skriptu pro aplikace, služby a další přednastavení prostředí, ve kterém awesomewm běží.</p>
</li>
</ul>
<h2 id="awesomewm-multicolor-theme-instalace">AwesomeWM Multicolor Theme Instalace</h2>
<p>Demostraci principů si předvedeme na mém github projektu <a href="https://github.com/raven2cz/awesomewm-config">raven2cz/awesomewm-config</a>.</p>
<h4 id="zajištění-resources-a-podpůrných-skriptů-pro-spolupráci-systémového-prostředí-external-resources">Zajištění resources a podpůrných skriptů pro spolupráci systémového prostředí (external resources)</h4>
<pre tabindex="0"><code># 1. backup your awesomewm configuration first
# 2. git clone repository to ~/.config/awesome
git clone git@github.com:raven2cz/awesomewm-config.git ~/.config/awesome
# 3. ensure prerequsities and dependencies
paru -S rofi # rofi similar app like d-menu
# my used wallpapers and event images
mkdir ~/Pictures/wallpapers &amp;&amp; git clone git@github.com:raven2cz/public-wallpapers.git
# my global colorscheme switcher script
# make steps which are described in the raven2cz/global-colorscheme.git project, you need themes for your terminal mainly
mkdir ~/git/github &amp;&amp; git clone git@github.com:raven2cz/global-colorscheme.git &amp;&amp; cd ~/git/github/global-colorscheme &amp;&amp; ./install.sh
# rofi project themes
mkdir ~/.config/rofi &amp;&amp; git clone https://github.com/raven2cz/rofi-themes ~/.config/rofi
</code></pre><p>Těmito několika kroky jsme si připravili celé prostředí a zajistili potřebné grafické resources, které jsou v projektu používány. Nejedná se tedy pouze o jeden projekt, ale řadu několika projektů, které spolu spolupracují. Pamatujte, že vždy v GNU/Linux platí, každá věc musí dělat jednu dílčí činnost a dělat ji správně. Nedělejte multi věci, pak se to nabaluje na sebe a nefunguje. Dělejte malé komponenty, které se navzájem používají a dají se použít i pro další linuxová prostředí a uživatele…</p>
<p>Já ještě používám externí aplikaci <a href="https://github.com/phillbush/xmenu">xmenu</a>, pro rychlé restartování, vypnutí počítače, oblíbené aplikace, kernel nástroje a skupiny aplikací. Nicméně to není podmínkou. Mám jej na klávesové zkratce <code>super+w</code>. Viz například nahrávka <a href="https://youtu.be/wMrdCbrQjnQ">DistroTube XMenu</a>.</p>
<p>Nyní již máte připraveno celé prostředí pro spuštění. Jediné co chybí je zkontrolovat váš <code>~/.xinitrc</code>, který by měl být nastaven již z minulé nahrávky a <code>autorun.sh</code>, který pouze jako ukázku zde prezentuji.</p>
<pre tabindex="0"><code>#!/usr/bin/env bash
function run {
if ! pgrep -f $1 ;
then
$@&amp;
fi
}
run /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
run /usr/lib/kactivitymanagerd
#run /use/lib/polkit-kde-authentication-agent-1
run /usr/lib/pam_kwallet_init
run nm-applet
run pamac-tray
if ! pgrep -f cloud-drive-ui; then synology-drive start; fi
run parcellite
run clipmenud
run volctl
run /usr/bin/emacs --daemon
run ~/.config/conky/start_conky ~/.config/conky/MX-CoreBlue/conkyrc2core
run remmina -i
run picom --experimental-backends --config $HOME/.config/picom/picom.conf
</code></pre><p>Autorun běžících aplikací a služeb je nespočet. Tento berte jako můj základ, pokud budou nejasnosti, napište to do youtube vlákna k nahrávce, nebo na naše <a href="https://forum.arch-linux.cz/">diskuzní fórum</a>.</p>
<h2 id="základní-ovládání">Základní ovládání</h2>
<p>Complete Guide <a href="https://github.com/raven2cz/tux/blob/main/211207-awesome-ricing/awesome-keybindings-en.org">here</a>.</p>
<p><code>super+ctrl+s</code></p>
<p><img src="https://arch-linux.cz/wp-content/uploads/2022/04/awesome-multicolor-keybindings-1024x685.jpg" alt=""></p>
<p>Základní ovládání se točí kolem klávesy <code>Super</code> (modkey), která je výhdardně určena pro AW prostředí. Samostatné <code>alt, ctrl a shift</code> nikdy nejsou použity, pouze ve vazbě. Toto je nezbytné pro další všechna programová prostředí a aplikace. Výhradně se snažte nastavovat ve svých prostředích X11 bindingkeys. Například DWM svůj default používá velmi nevhodně.</p>
<p>S učením klávesových zkratek nespěchejte, doporučuji se je osvojit, jsou totiž sebrány z nejlepších WM současnosti a nastaveny pro nejlepší ergonomii a efektivní práci. Několik rad bude uvedeno ve videu.</p>
<h2 id="změna-barevných-schémat-a-aplikací">Změna barevných schémat a aplikací</h2>
<p><code>super+c -&gt; change color scheme, super+alt+c -&gt; next colorschme wallpaper, super+ctrl+c -&gt; previous colorscheme wallpaper</code></p>
<p><img src="https://arch-linux.cz/wp-content/uploads/2022/04/awesome-multicolor-theme-910x1024.jpg" alt=""></p>
<p>Změna barevného schématu probíhá na třech úrovních:</p>
<ul>
<li>
<p>Nejprve se zavolá globální skript <code>global_colorscheme.sh</code>, který změní podporované externí aplikace. V aktuální verzi mezi ně patří kitty, alacritty, doom emacs, atom. Dojde k okamžité dynamické změně.</p>
</li>
<li>
<p>Pak dojde ke změně základních barev pro conky aplikaci. Ta vytváří změnu v konfiguračním souboru, který je načítán conky knihovnou. Dojde k okamžité dynamické změně.</p>
</li>
<li>
<p>Naposled dojde k přepsání souboru <code>last.lua</code> v multicolor scheme AW, kam se nastaví aktuální zvolené schéma a dojde k restartu AW. Celkově se tak završí celkové přenastavení všech schémat celého systému</p>
</li>
</ul>
<h2 id="změna-wallpapers-pro-jednotlivé-tagy">Změna wallpapers pro jednotlivé tagy</h2>
<ul>
<li>
<p>random wallpaper for 1st tag</p>
</li>
<li>
<p>different wallpaper per actual shown tag</p>
</li>
<li>
<p>user wallpaper tags</p>
</li>
</ul>
<p><code>super+alt+w next user wallpaper, super+ctrl+w previous user wallpaper</code></p>
<ul>
<li>dev tag uses as default colorscheme wallpaper</li>
</ul>
<p><code>super+c -&gt; change color scheme, super+alt+c -&gt; next colorschme wallpaper, super+ctrl+c -&gt; previous colorscheme wallpaper</code></p>
<h2 id="prohlídka-prostředí-a-programového-lua-řešení">Prohlídka prostředí a programového Lua řešení</h2>
<p>Po spuštění multicolor theme awesomewm projektu si můžeme prohlédnout detailněji strukturu projektu.</p>
<pre tabindex="0"><code>nvim ~/.config/awesome/rc.lua
nvim ~/.config/awesmoe/themes/multicolor/theme.lua
</code></pre><p>Zde se opět vraťe k první kapitole a postupně projděte seznam <code>rc.lua</code> a <code>theme.lua</code> přímo v kódu si mozkově propojit, které části kódu patří k daným strukturám.</p>
<p>Tato část je popsána primárně <strong>ve druhé</strong> video nahrávce věnované awesomewm ricing…</p>
<h2 id="propojení-aplikací-do-awesomewm-prostředí">Propojení aplikací do awesomewm prostředí</h2>
<ul>
<li>ukázka s tmux a nvim propojení s awesomewm</li>
</ul>
<p>Spustit tmux, nvim a zobrazit <code>super+ctrl+s</code>, napojení na awesomewm a jeho klávesové propojení a možnosti controlleru</p>
<ul>
<li>
<p>propjení barevných schémat a unifikace GNU/Linux aplikací s prostředím awesomewm a jeho model-view schématem</p>
</li>
<li>
<p>napojení událostí aplikací s naughty</p>
</li>
</ul>
<p>dokončená kompilace nebo testy vašich projektů v maven, komprimací, událostí z browseru, napojení cron tasků, stavů běhu aplikací na pozadí bash terminálu, dokončení kdenlive vytvoření videií a mnoho dalšího.</p>
<p><a href="https://www.youtube.com/watch?v=KDJbas2FVXM">https://www.youtube.com/watch?v=KDJbas2FVXM</a></p>
<h1><a href="https://github.com/raven2cz/tux/tree/main/211207-awesome-ricing#d%C5%AFle%C5%BEit%C3%A9-odkazy"></a></h1>
<h1 id="důležité-odkazy">Důležité odkazy</h1>
<ul>
<li>
<p><a href="https://github.com/raven2cz/awesomewm-config">raven2cz/awesomewm-config</a></p>
</li>
<li>
<p><a href="https://www.youtube.com/user/tondafischer/featured">Youtube Channel TUX: Svět Linuxu</a></p>
</li>
<li>
<p><a href="https://archlinux.org/">archlinux.org</a></p>
</li>
<li>
<p><a href="https://wiki.archlinux.org/">wiki.a</a><a href="https://wiki.archlinux.org/">c</a><a href="https://wiki.archlinux.org/">hlinux.org</a></p>
</li>
<li>
<p><a href="https://fishlive.org/en/blog-tech-art/arch">fishlive.org/blog</a></p>
</li>
<li>
<p><a href="https://github.com/raven2cz/tux">github/raven2cz/tux</a></p>
</li>
<li>
<p><a href="https://github.com/raven2cz/dotfiles">github/raven2cz/dotfiles</a></p>
</li>
<li>
<p><a href="https://github.com/raven2cz/public-wallpapers">raven2cz/public-wallpapers</a></p>
</li>
<li>
<p><a href="https://github.com/raven2cz/global-colorscheme">raven2cz/global-colorschemes</a></p>
</li>
</ul>
</div>
</article></main>
</div>
<footer class="footer">
<span class="footer_item"> </span>
&nbsp;
<div class="footer_social-icons">
<a href="https://mastodon.arch-linux.cz/@archlinux" target="_blank" rel="noopener noreferrer me"
title="Mastodon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path
d="M21.58 13.913c-.29 1.469-2.592 3.121-5.238 3.396-1.379.184-2.737.368-4.185.276-2.368-.092-4.237-.551-4.237-.551 0 .184.014.459.043.643.308 2.294 2.317 2.478 4.22 2.57 1.922 0 3.633-.46 3.633-.46l.079 1.653s-1.344.734-3.738.918c-1.32.091-2.96-.092-4.869-.551-4.14-1.102-4.853-5.507-4.961-10.005-.034-1.285-.013-2.57-.013-3.58 0-4.589 3-5.966 3-5.966 1.513-.734 4.11-1.01 6.808-1.01h.067c2.699 0 5.296.276 6.81 1.01 0 0 3 1.377 3 5.967 0 0 .037 3.304-.419 5.69"
stroke="currentColor" />
<path
d="M17.832 8.633v5h-1.978V8.78c0-1.023-.43-1.542-1.29-1.542-.95 0-1.427.616-1.427 1.834v2.655H11.17V9.072c0-1.218-.476-1.834-1.427-1.834-.86 0-1.29.52-1.29 1.542v4.852H6.475V8.633c0-1.022.26-1.834.782-2.434.538-.6 1.243-.909 2.118-.909 1.012 0 1.779.39 2.286 1.169l.492.827.493-.827c.507-.78 1.274-1.169 2.286-1.169.875 0 1.58.308 2.118.909.522.6.782 1.412.782 2.434"
fill="currentColor" stroke="none" />
</svg>
</a>
<a href="https://matrix.to/#/#archlinuxcz:matrix.org" target="_blank" rel="noopener noreferrer me"
title="Matrix">
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
<path
d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z" />
</svg>
</a>
<a href="/index.xml" target="_blank" rel="noopener noreferrer me"
title="Rss">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path d="M4 11a9 9 0 0 1 9 9" />
<path d="M4 4a16 16 0 0 1 16 16" />
<circle cx="5" cy="19" r="1" />
</svg>
</a>
</div>
<small class="footer_copyright">
© 20242026 Arch Linux CZ
</small>
</footer><a href="#" title="" id="totop">
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="currentColor" stroke="currentColor" viewBox="0 96 960 960">
<path d="M283 704.739 234.261 656 480 410.261 725.739 656 677 704.739l-197-197-197 197Z"/>
</svg>
</a>
<script async src="http://localhost:1313/js/main.js" ></script>
</body>
</html>