ГлавнаяОперационные системыLinux5 полезных патчей для улучшения работы с dwm

5 полезных патчей для улучшения работы с dwm

Dwm — блестящая программа в стиле минимализма. Всего лишь с помощью 2000 строк кода его разработчикам удалось создать быстрый и легкий оконный менеджер . Однако за такой спартанский подход к разработке программного обеспечения пришлось заплатить. Некоторые функции были исключены, чтобы уменьшить размер программы.

Несмотря на это, в dwm можно добавить новые функции, исправив его исходный код, поскольку dwm основан на исходном коде. Чтобы выполнить базовую настройку, нам нужно изменить config.h, который является частью исходного кода dwm.

Dwm патч 02 Конфигурация H

Хотя на первый взгляд это может показаться сложным, исправление dwm станет простым, если мы поймем некоторые особенности этого процесса. Целью этой статьи является обучение навыкам, необходимым для успешного исправления вашей собственной установки dwm, и предоставление пяти полезных исправлений.

Читайте также: Разница между оконными менеджерами и средой рабочего стола

Что такое патчи?

Патчи — это небольшие фрагменты кода, которые можно вставить в большую работу. Это полезно при совместной работе над большим программным проектом, поскольку позволяет программистам быстро увидеть изменения, внесенные другими.

Патч Dwm 03 Арт патча

Патчи могут быть простыми, например, небольшим однострочным изменением, исправляющим ошибку, или масштабным изменением нескольких файлов, добавляющим новую функцию.

Как исправить исходный код dwm

Существует несколько способов внесения исправлений в исходный код. Самый распространенный способ сделать это — с помощью команды git. Например, чтобы добавить патч в репозиторий git, введите следующее:

Contents

Что такое патчи?

3 path/to/the/patch.diff
  • Функция applyпопытается вставить содержимое файлов исправлений в указанные исходные файлы.
  • Опция -3попытается исправить любые несоответствия и позволит пользователю исправить любые ошибки в процессе установки исправлений.
Dwm Patch 04 Применить Git

С другой стороны, если мы редактируем исходный код без какого-либо контроля версий, мы можем использовать программу исправлений GNU. Чтобы вставить патч с его помощью, введите следующее:

patch -p1 < path/to/the/patch.diff
  • Опция -p1гарантирует, что файл исправления будет правильно помечен для вставки программы исправления.

Однако при исправлении dwm бывают случаи, когда эти программы дают сбой, поскольку они предполагают, что исходный код, который мы исправляем, аналогичен исходному коду базовой установки dwm.

Это означает, что по мере того, как мы устанавливаем исправления, программе исправлений будет сложнее вставлять эти исправления. По этой причине важно понимать, как работает файл патча, чтобы мы могли самостоятельно установить патчи вручную.

Читайте также: 5 персонализированных рабочих столов Linux, которые вас вдохновят

Как прочитать файл исправления

Файл патча состоит из трех частей:

  • Заголовок, показывающий, в какой файл следует вставить код.
  • Подзаголовок, показывающий, какой номер строки или функцию вставить.
  • Сам код

Как мы уже обсуждали выше, один файл исправления может содержать несколько фрагментов кода, предназначенных для использования в нескольких файлах. Этот формат позволяет нам распространять один файл вместо того, чтобы иметь один файл исправления для каждого исходного файла.

Файл патча Dwm Patch 05

При этом для чтения файла исправления нам необходимо лишь понять синтаксис его заголовков. Как только мы это узнаем, фактическое исправление будет просто вопросом копирования и вставки кода.

Синтаксис заголовка исправления

Заголовок патча содержит важную информацию о том, где находится исходный файл. Например, это заголовок для dwm патч с автоизменением размера .

diff --git a/dwm.c b/dwm.c
index 0362114..e4e8514 100644
--- a/dwm.c
+++ b/dwm.c

Первая, третья и четвертая строки указывают на то, что это разница между двумя версиями файла dwm.c. Он сообщает нам, что файл, который мы собираемся изменить, — это файл «dwm.c».

Однако знание того, что редактировать, не поможет нам исправить исходный файл. Нам еще нужно знать, где в файле нам нужно вставить код. Здесь мы можем использовать подзаголовки файла исправления.

Например, это фрагмент того же патча автоматического изменения размера, описанного выше:

@@ -92,7 +92,7 @@ struct Client {
 	int basew, baseh, incw, inch, maxw, maxh, minw, minh;
 	int bw, oldbw;
 	unsigned int tags;
-	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen;
+	int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, needresize;Как прочитать файл исправления
 	Client *snext;
 	Monitor *mon;

Это может показаться сложным фрагментом кода, но нам нужно рассмотреть здесь только три вещи:

  • В первой строке указан номер строки, куда нам нужно вставить фрагмент кода. В этом примере нам нужно вставить это в строку 92.
  • Второй аргумент в первой строке — struct Client {— указывает конкретную функцию, которую нам нужно отредактировать. Это полезно, если исходный файл уже сильно исправлен и номера строк слева больше не совпадают.
  • Последнее, на что следует обратить внимание, — это знаки +и -в блоке кода. Знак минус указывает, что эту строку следует удалить, а знак плюс указывает, что эту строку следует добавить.

Теперь у нас есть общее представление о том, как исправлять исходные файлы. Теперь мы можем перейти к обсуждению пяти полезных патчей для dwm.

1. Систрейская панель

В отличие от большинства сред рабочего стола, dwm по умолчанию не имеет системного трея. Панель задач – это часть рабочего стола, где некоторые приложения могут оставлять значок с функциями приложения для быстрого взаимодействия с программой, работающей в фоновом режиме.

Dwm патч 06 в<h3><span id=Синтаксис заголовка исправленияttps://dwm.suckless.org/patches/systray/" target="_blank" rel="noopener" title="Этот патч">Этот патч представляет эту функцию в dwm. После установки патч в системном трее выделит самый правый угол панели dwm для текущих программ на панели задач. Он также поддерживает настройки с несколькими мониторами, при которых лоток всегда будет отображаться на мониторе, на котором в данный момент находится указатель мыши.

Пример Dwm Patch 07 в системной панели

2. Xресурсы

Патч Xresources позволяет программе xrdb устанавливать графические настройки для dwm. Это позволяет нам использовать файл.Xresources для изменения цветов и шрифтов без перекомпиляции программы. Это особенно полезно для пользователей, которые уже используют этот же файл в качестве цветовой схемы своего терминала.

Dwm патч 08 Xresources

Кроме того, наличие xrdb определяет внешний вид dwm и позволяет нам использовать несколько тем. Мы можем сделать это, изменив файл.Xresources для нужной цветовой схемы и включив ее, перезагрузив dwm.

3. Татами

Татами — альтернативный макет окна для dwm. Окна на экране представлены в виде плиток, уложенных на традиционный японский пол. Этот подход отличается от традиционного макета главного окна и стека, где каждое окно, кроме главного, становится тоньше по вертикали, что делает каждое окно в стеке нечитаемым.

Dwm Патч 09 Татами

Раскладка татами особенно полезна при одновременной работе с четырьмя-пятью окнами, поскольку она дает каждому окну достаточно места на экране, чтобы пользователь мог читать.

4. Мастер фокуса

Способ расположения окон в dwm аналогичен размещению блоков в стопке. Каждое новое созданное окно размещается поверх предыдущего окна. Это создает линейный порядок между окнами и позволяет нам узнать, какое окно появилось первым.

Dwm патч 11 Мастер фокуса

Однако одним из ограничений этой конструкции является то, что она не позволяет нам свободно выбирать главное окно из стека. Чтобы выбрать главное окно, нам нужно выбрать каждое окно, пока мы не достигнем самого высокого блока. Этот патч меняет это поведение и позволяет нам выбирать текущее главное окно из любого места стека.

Это особенно полезно при работе с несколькими окнами, поскольку позволяет нам автоматически выбирать главное окно в стеке окон, а не переключаться между каждым присутствующим окном.

5. dwmc

Изменение любого аспекта dwm требует от нас перекомпиляции программы всякий раз, когда мы хотим применить наши изменения. Сюда входят, среди прочего, цветовая схема и поведение по умолчанию.

Dwm патч 12 Dwmc

dwmc — это простой патч, который позволяет нам изменять поведение dwm с помощью клиентской программы. Этот подход аналогичен тому, как бспвм использует bspc для изменения настроек bspwm. Хо

1. Систрейская панель

c, он все же имеет ряд полезных настроек, которые мы можем использовать и изменять.

Например, одна из функций, которую мы можем использовать в dwmc, — это панель переключения. Запуск переключателя dwmc позволяет нам динамически включать и отключать панель dwm. Это делает dwmc полезным при создании сценариев, выполняющих пользовательское поведение окна.

Поздравляем! Теперь у вас есть базовое представление о том, как работает исправление кода, а также о пяти полезных исправлениях, которые вы можете применить при установке dwm. Если вы ищете аналогичный минимальный интерфейс в браузере, обратите внимание на этот урок .

Читайте также: Как исправить сломанные пакеты в Linux

Часто задаваемые вопросы

1. Безопасно ли использовать патчи dwm?

Да! Ряд сопровождающих проверяют патчи, имеющиеся на этом неудачном веб-сайте. Это гарантирует, что все исправления на веб-сайте будут работать для той версии dwm, для которой они написаны.

2. Я использую git apply, но мой патч не удался, и dwm не компилируется. Что мне делать?

Это может произойти по ряду причин. Наиболее распространенная причина заключается в том, что заголовки git не были удалены в исходном файле. Это относительно легко исправить. Нам нужно удалить заголовки и вручную применить патч.

Когда вы откро

2. Xресурсы

ы увидите строку с надписью HEAD. Это указывает на начало модификации. За ним следует функция, которую необходимо изменить. Вам нужно будет удалить эту строку и выполнить исправление вручную. Здесь также будут знаки +и -в левой части кода, указывающие, что нужно изменить.

3. Что мне делать, если я успешно применил патч, но dwm не хочет компилироваться и запрашивает недостающие переменные или объявления?

Программа исправления не исправила файл config.h. По умолчанию патчи редактируют файл config.def.h, чтобы избежать конфликтов с текущей конфигурацией.

Однако это означает, что файл config.h не будет загружен с правильными значениями конфигурации для этого конкретного патча. Чтобы это исправить, вам необходимо внести изменения из файла config.def.h в ваш файл config.h.

3. Татами

4. Мастер фокуса

5. dwmc

Часто задаваемые вопросы

1. Безопасно ли использовать патчи dwm?

2. Я использую git apply, но мой патч не удался, и dwm не компилируется. Что мне делать?

3. Что мне делать, если я успешно применил патч, но dwm не хочет компилироваться и запрашивает недостающие переменные или объявления?

ПОХОЖИЕ СТАТЬИ

Популярные записи