Artix Linux + DWM — моя кастомизация

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Я пользуюсь Linux'ом уже больше полтора года. Начинал я с Linux Mint, а сейчас у меня стоит Artix Linux.

Почему Artix Linux?

Artix - Arch Linux, но без systemd.

Я не называю себя тру-линуксоидом, но все-таки выбрал Artix Linux с системой инициализации dinit. Почему? Все просто - мне не нравится, какой большой стал systemd. Но почему dinit? Во-первых: посоветовали именно его, во-вторых: поддерживается и регулярно выпускаются обновление, в-третьих: он прост и минималистичен.

Кастомизация DWM

Я использую патчи:

  • dwm-noborder (убирает рамки у окон, когда запущено только одно окно)

  • dwm-quit (при выходе из dwm спрашивает, точно ли выйти, и надо ли перезагрузить)

  • dwm-pertag (отображает все окна в статусбаре)

  • dwm-fibonacci (добавляет две разметки окон при помощи чисел Фибоначчи)

Для статусбара я использую slstatus, а терминал - alacritty.

Мой конфиг dwm:

/* See LICENSE file for copyright and license details. */
#include "fibonacci.c"

/* appearance */
static const unsigned int borderpx  = 2;        /* border pixel of windows */
static const unsigned int snap      = 32;       /* snap pixel */
static const int showbar            = 1;        /* 0 means no bar */
static const int topbar             = 1;        /* 0 means bottom bar */
// static const char *fonts[]          = { "JetBrains Mono:size=12" };
// static const char dmenufont[]       = "JetBrains Mono:size=12";
// static const char *fonts[]          = { "Terminus:style=Bold:size=13" };
// static const char dmenufont[]       = "Terminus:style=Bold:size=13";
static const char *fonts[]          = { "Iosevka NF:size=12", "FontAwesome:size=12" };
static const char dmenufont[]       = "Iosevka NF:size=12";
static const char col_gray1[]       = "#282828";
static const char col_gray2[]       = "#282828";
static const char col_gray3[]       = "#cccccc";
static const char col_gray4[]       = "#ebdbb2";
// static const char col_cyan[]        = "#d3869b";
static const char col_cyan[]        = "#679267";

/* gruvbox */
// static const char dark0_hard[]  = "#d3869b";
static const char dark0_hard[] = "#679267";
static const char dark0_soft[]  = "#151516";
static const char dark1[]       = "#282828";     

static const char light1[] = "#ebdbb2";
static const char light2[] = "#d5c4a1";
static const char light3[] = "#bdae93";
static const char light4[] = "#cccccc";
static const char fg4[]    = "#151516";
static const char fg5[]    = "#202020";

static const char grey[]          = "#C0C0C0";
static const char red[]           = "#fb4934";     
static const char green[]         = "#b8bb26"; 
static const char yellow[]        = "#fabd2f";     
static const char blue[]          = "#83a598";     
static const char purple[]        = "#d3869b";     
static const char aqua[]          = "#8ec07c";
static const char rugreen[]       = "#679267";
static const char orange[]        = "#d65d0e";    

static const char *colors[][3]      = {
	/*               fg         bg         border   */
	[SchemeNorm] = { light1, dark0_soft, dark1      },
	[SchemeSel]  = { fg4, dark0_hard, rugreen          },
};

/* tagging */
static const char *tags[] = { " ", " ", " ", " ", " ", };

// static const char *tags[] = { "1", "2", "3", "4", "5" };

static const Rule rules[] = {
	/* xprop(1):
	 *	WM_CLASS(STRING) = instance, class
	 *	WM_NAME(STRING) = title
	 */
	/* class      instance    title       tags mask     isfloating   monitor */
	{ "QEMU",     NULL,       NULL,       0,            1,           -1 },
	{ "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },
	{ "Qemu",	  NULL,		  NULL, 	  0, 			1, 			 -1 }
};

/* layout(s) */
static const float mfact     = 0.5; /* factor of master area size [0.05..0.95] */
static const int nmaster     = 1;    /* number of clients in master area */
static const int resizehints = 0;    /* 1 means respect size hints in tiled resizals */
static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */

static const Layout layouts[] = {
	/* symbol     arrange function */
	//  ┇
	{ "┇   ┇", 	 spiral  }, 
	{ "┇   ┇",      tile },    /* first entry is default */
	{ "┇ 						
Источник: https://habr.com/ru/articles/776204/


Интересные статьи

Интересные статьи

В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью.
Clumsy 0.2 Все распределённые системы — базы данных, мобильные приложения, корпративные SaaS и так далее — следует разрабатывать с учётом сбоев. Например, компания Stripe во время тестов убивала...
А вы знали, что можно запустить командную строку Linux на устройстве iOS? Возможно, вы спросите: «Зачем мне пользоваться текстовыми приложениями на iPhone?» Справедливый вопрос. Н...
Для чего вообще специально настраивать клавиатуру? Можно пользоваться и стандартными настройками, но иногда внесенные изменения дают возможность набирать быстрее (это, конечно, не слепая печать...
В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, ко...