From 28de853ad5b4739ca25e462253043863dd7f663d Mon Sep 17 00:00:00 2001 From: Buliway Date: Mon, 19 Aug 2024 08:02:55 +0300 Subject: [PATCH] test --- README.md | 203 +++--- archive/yazi/yazi.nix | 2 +- modules/home-manager/bundle.nix | 2 +- modules/home-manager/terminal/kitty.nix | 2 +- modules/home-manager/terminal/starship.nix | 2 +- modules/home-manager/terminal/zellij.nix | 6 +- modules/home-manager/wm/polybar.nix | 750 ++++++++++----------- modules/home-manager/wm/sxhkd.nix | 2 +- nixos/packages.nix | 7 +- 9 files changed, 477 insertions(+), 499 deletions(-) diff --git a/README.md b/README.md index dbce5d2..cd9381b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,109 @@ # Навигация -- +- [Бинды](#бинды) +- [Другие README файлы в этих дотсах](#другие-readme-файлы-в-этих-дотсах) +- [Проблемы](#проблемы) +- [TODO](#todo) +- [Описание](#описание) +- [Настройки для игр](#настройки-для-игр) + - [MangeHud](#mangohud) + - [gamemode](#gamemode) + - [gamescope](#gamescope) + - [Параметры запуска Steam](#параметры-запуска-steam) +- [Настройки мониторов](#настройка-мониторов) +- [Системная тема на всех вебсайтах](#системная-тема-на-всех-вебсайтах) +- [Мини гайд по NixOS](#мини-гайд-по-nixos) +- [Процесс установки](#процесс-установки) + - [Первый способ](#первый-способ) + - [Второй способ](#второй-способ) +- [После установки надо](#после-установки-надо) +- [Иконки](#иконки) +- [Темы](#темы) + + +## Бинды + +Клавиша `Super` это клавиша `Win` + +| Bspwm | Описание | Работает? | +| --------------------------------- | ------------------------------------------------------------------------------------------- | --------- | +| `Super + L` | Lock screen | Да | +| `Super + Q` | Quit. Выключить приложение | Да | +| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да | +| `Super + F` | Floating toggle | Да | +| `Super + Enter` | Fullscreen toggle | Да | +| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | Да | +| `Super + ЛКМ` | Переместить окно | Да | +| `Super + ПКМ` | Ресайзить окно | Да | +| `Super + Arrows` | Менять фокус приложения в указанном направлении | Да | +| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | Да | +| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | Да | +| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс | Да | +| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего | Да | +| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |хз| +| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним | Да | +| `Super + Alt + Arrows` | Move floating window | Да | +| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу | Да | +| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь | Да | +| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении | Криво | +| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. | Не понял | +| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files | Да | +| `Super + Alt + Ctrn + Shift + R` | Restart bspwm | Да | +| `Super + Alt + Ctrn + Shift + Q` | Quit bspwm | Да | + +| Rofi | Описание | Работает? | +| ------------------- | ---------------------------------------------------------------------------------------------- | --------- | +| `Super + A` | Applications. Запускатор софта | Да | +| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | Да | +| `Super + P` | Passwords. Пароли из утилиты pass |нет| +| `Super + V` | История буфера обмена. Как ctrl+v, но через win. |нет| +| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |хз| +| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |хз| +| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |хз| +| `Super + Backspace` | PowerMenu. Выключение пк |нет| + +| Applications | Описание | Работает? | +| -------------------------- | ----------------------------------------- | --------- | +| `Super + B` | Browser LibreWolf. Основа | Да | +| `Super + Shift + B` | Browser Firefox. Паблик активность | Да | +| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да | +| `Super + N` | Note taking app (obsidian) | Да | +| `Super + E` | Explorer. Thunar file manager | Да | +| `Super + I` | IDE, text editor, NeoVim | Да | +| `Super + M` | Monitor of resources (btop) | Да | +| `Super + G` | Goals. Todo manager. Task tracker | Да | +| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да | +| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | Да | + +| Terminal | Описание | Работает? | +| -------------------------- | ---------------------------------------------------------------------------- | --------- | +| `Super + T` | Terminal основной | Да | +| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана | Да | +| `Super + Ctrl + T` | Terminal запасной | Да | +| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана | Да | + +| Колдунские кнопки | Описание | Работает? | +| ----------------------- | ---------------------- | --------- | +| `XF86AudioMute` | Toggle audio mute |хз| +| `XF86AudioMicMute` | Toggle microphone mute |хз| +| `XF86AudioLowerVolume` | Decrease volume |хз| +| `XF86AudioRaiseVolume` | Increase volume |хз| +| `XF86AudioPlay` | Play/pause |хз| +| `XF86AudioPause` | Play/pause |хз| +| `XF86AudioNext` | Next track |хз| +| `XF86AudioPrev` | Previous track |хз| +| `XF86MonBrightnessUp` | Increase brightness |хз| +| `XF86MonBrightnessDown` | Decrease brightness |хз| + +| Not sxhkd | Описание | Работает? | +| --------------- | ---------------------- | --------- | +| `Print` | Выделить область | Да | +| `Print + Alt` | Все мониторы целиком | Да | +| `Print + Ctrl` | Активный монитор | Да | +| `Print + Shift` | Активное окно | Да | +| `CapsLock` | Switch keyboard layout | Да | + +Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса. ## Другие README файлы в этих дотсах @@ -95,7 +198,7 @@ ip a SteamOS session compositing window manager. Можно назвать мини wm внутри wm (хотя можно и в tty запустить, без стороннего wm). Не совсем понимаю когда его надо использовать. Иногда, если у игры есть проблемы с обычным linux, то она может нормально запускаться через `gamescope` -### Параметры запуска steam +### Параметры запуска Steam Если в параметры запуска захочется добавить что-то помимо того, что я напишу, то надо учитывать порядок написания. Как я понял, если надо используется переменная, то её надо писать в начале. Например, если в игре не работает печать на русском языке, то надо в начало добавить `LC_ALL="ru_RU.UTF-8"`. Если же речь про стандартные параметры запуска стима, по типу `-dev` или `-novid`, то их надо писать после `%command%`. Слово `%command%` скорее всего является игрой, тоесть команда для запуска игры. Тоесть синтаксис как в обычном терминале. Сначала переменные окружения, потом команда, потом параметры запуска через `-параметр`. @@ -136,9 +239,13 @@ xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --right-of DisplayPort-2 ## Процесс установки -Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. +Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик. При установке выбираем минимальный вариант, без DE. -Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `./nixos/configuration.nix` и заменить переменную `username` на ник своего юзера. +Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `nixos/configuration.nix` и заменить переменную `username` на ник своего юзера. + +Ещё надо изменить параметры мониторов в `modules/home-manager/wm/bspwm/bspwm.nix`. Для этого через xrandr надо узнать параметры мониторов + +Так же надо изменить gpu драйвера, если видеокарта не от amd. Самый простой вариант - закомментировать `videoDrivers` в `modules/nixos/xserver.nix` и `boot.initrd.kernelModules` в `modules/nixos/hardware.nix`. Мб он сам подберёт подходящий драйвер. Если же знаешь конкретные настройки, которые надо ставить, то пишешь их. ### Первый способ @@ -187,96 +294,12 @@ gpg --edit-key ID-ключа ``` В этом режиме надо написать trust и выбрать степень доверия. Например 5 для своих ключей можно задать, это прям самое максимально доверие. Потом Ctrl + D чтоб выйти. -## Бинды - -Клавиша `Super` это клавиша `Win` - -| Bspwm | Описание | Работает? | -| --------------------------------- | ------------------------------------------------------------------------------------------- | --------- | -| `Super + L` | Lock screen | Да | -| `Super + Q` | Quit. Выключить приложение | Да | -| `Super + Shift + Q` | Kill. Если приложение не отвечает, то убить его | Да | -| `Super + F` | Floating toggle | Да | -| `Super + Enter` | Fullscreen toggle | Да | -| `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | Да | -| `Super + ЛКМ` | Переместить окно | Да | -| `Super + ПКМ` | Ресайзить окно | Да | -| `Super + Arrows` | Менять фокус приложения в указанном направлении | Да | -| `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | Да | -| `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | Да | -| `Super + Ctrl + Down` | Переключает на первый пустой воркспейс |нет| -| `Super + Ctrl + Left/Right` | Переключает на предыдущий/следующий воркспейс. Тоесть делает -1 или +1 от текущего | Да | -| `Super + Ctrl + Alt + Down` | Свапает активное окно с самым большим на экране |хз| -| `Super + Ctrl + Alt + Left/Right` | Перекидывает активное окно на предыдущий/следующий воркспейс и следует за ним | Да | -| `Super + Alt + Arrows` | Move floating window | Да | -| `Super + Shift + Arrows` | Resize window на 30 пикселей в указанном направлении наружу | Да | -| `Super + Shift + Alt + Arrows` | Resize window на 30 пикселей в указанном направлении внутрь | Да | -| `Super + Shift + Ctrl + Arrows` | Перемещает активное окно в указанном направлении | Криво | -| `Super + S` | Split toggle. Меняет позиционирование с горизонтального на вертикальный и обратно. | Не понял | -| `Super + Ctrl + Shift + R` | Make sxhkd reload its config files | Да | -| `Super + Alt + Ctrn + Shift + R` | Restart bspwm | Да | -| `Super + Alt + Ctrn + Shift + Q` | Quit bspwm | Да | - -| Rofi | Описание | Работает? | -| ------------------- | ---------------------------------------------------------------------------------------------- | --------- | -| `Super + A` | Applications. Запускатор софта | Да | -| `Super + C` | Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. | Да | -| `Super + P` | Passwords. Пароли из утилиты pass |нет| -| `Super + V` | История буфера обмена. Как ctrl+v, но через win. |нет| -| `Super + Tab` | Как alt+tab, переключение окон. На нужный воркспейс само перекинет |хз| -| `Super + Alt + T` | Timer. Думаю сделать через утилиту timer |хз| -| `Super + Shift + N` | Notification history. История оповещений. Мб сделать только в баре кнопку? Мб не делать вообще |хз| -| `Super + Backspace` | PowerMenu. Выключение пк |нет| - -| Applications | Описание | Работает? | -| -------------------------- | ----------------------------------------- | --------- | -| `Super + B` | Browser LibreWolf. Основа | Да | -| `Super + Shift + B` | Browser Firefox. Паблик активность | Да | -| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да | -| `Super + N` | Note taking app (obsidian) | Да | -| `Super + E` | Explorer. Thunar file manager | Да | -| `Super + I` | IDE, text editor, NeoVim | Да | -| `Super + M` | Monitor of resources (btop) | Да | -| `Super + G` | Goals. Todo manager. Task tracker | Да | -| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да | -| `Super + Ctrl + C` | Color picker. Получить rgb в буфер обмена | Да | - -| Terminal | Описание | Работает? | -| -------------------------- | ---------------------------------------------------------------------------- | --------- | -| `Super + T` | Terminal основной | Да | -| `Super + Shift + T` | Floating Terminal основной в центре экрана с размерами треть на треть экрана | Да | -| `Super + Ctrl + T` | Terminal запасной | Да | -| `Super + Shift + Ctrl + T` | Floating Terminal запасной в центре экрана с размерами треть на треть экрана | Да | - -| Колдунские кнопки | Описание | Работает? | -| ----------------------- | ---------------------- | --------- | -| `XF86AudioMute` | Toggle audio mute |хз| -| `XF86AudioMicMute` | Toggle microphone mute |хз| -| `XF86AudioLowerVolume` | Decrease volume |хз| -| `XF86AudioRaiseVolume` | Increase volume |хз| -| `XF86AudioPlay` | Play/pause |хз| -| `XF86AudioPause` | Play/pause |хз| -| `XF86AudioNext` | Next track |хз| -| `XF86AudioPrev` | Previous track |хз| -| `XF86MonBrightnessUp` | Increase brightness |хз| -| `XF86MonBrightnessDown` | Decrease brightness |хз| - -| Not sxhkd | Описание | Работает? | -| --------------- | ---------------------- | --------- | -| `Print` | Выделить область | Да | -| `Print + Alt` | Все мониторы целиком | Да | -| `Print + Ctrl` | Активный монитор | Да | -| `Print + Shift` | Активное окно | Да | -| `CapsLock` | Switch keyboard layout | Да | - -Так же есть бинд на зажим дальней боковой кнопки мыши. Если эту кнопку нажимать, то она работает как обычно. Если её зажать и начать двигать мышку, то вместо движения курсора будет плавный скрол. Обычно такое делают на трекболах без колеса мыши, но я люблю этот метод скрола на любом девайсе. Можно скролить с нужной скоростью и точностью куда надо без долгого кручения колеса. - ## Иконки Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet). -Соберу сюда список nerd иконок, которые могут пригодиться +Соберу сюда список nerd иконок, которые могут пригодиться. Для их отображения нужен специальный шрифт CPU (мб не юзать, а писать текстом и cpu и gpu) -  @@ -336,7 +359,7 @@ Wifi У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox -Цвет это название цвета. Потом идёт название gruvbox-имя +Цвет это имя цвета в stylix. Потом идёт название gruvbox-имя Я использую gruvbox-dark-medium diff --git a/archive/yazi/yazi.nix b/archive/yazi/yazi.nix index 833c260..f6052bf 100644 --- a/archive/yazi/yazi.nix +++ b/archive/yazi/yazi.nix @@ -40,7 +40,7 @@ enableBashIntegration = true; enableZshIntegration = true; - enableFishIntegration = true; + # enableFishIntegration = true; # enableNushellIntegration = true; }; } \ No newline at end of file diff --git a/modules/home-manager/bundle.nix b/modules/home-manager/bundle.nix index 5def0cb..aed50bf 100644 --- a/modules/home-manager/bundle.nix +++ b/modules/home-manager/bundle.nix @@ -25,7 +25,7 @@ ./wm/rofi.nix ./wm/dunst.nix ./wm/lockscreen.nix - ./wm/polybar.nix + # ./wm/polybar.nix ./wm/sxhkd.nix ./mangohud.nix diff --git a/modules/home-manager/terminal/kitty.nix b/modules/home-manager/terminal/kitty.nix index bc3d235..a31989d 100644 --- a/modules/home-manager/terminal/kitty.nix +++ b/modules/home-manager/terminal/kitty.nix @@ -4,8 +4,8 @@ shellIntegration = { # https://sw.kovidgoyal.net/kitty/shell-integration/ enableBashIntegration = true; - enableFishIntegration = true; enableZshIntegration = true; + # enableFishIntegration = true; }; settings = { diff --git a/modules/home-manager/terminal/starship.nix b/modules/home-manager/terminal/starship.nix index 1e3eb26..8b0d78e 100644 --- a/modules/home-manager/terminal/starship.nix +++ b/modules/home-manager/terminal/starship.nix @@ -4,7 +4,7 @@ enableBashIntegration = true; enableZshIntegration = true; - enableFishIntegration = true; + # enableFishIntegration = true; # enableNushellIntegration = true; enableTransience = true; # Fish Shell only. Отображает пустую строку при нажатии enter? diff --git a/modules/home-manager/terminal/zellij.nix b/modules/home-manager/terminal/zellij.nix index 16644a3..e2e525c 100644 --- a/modules/home-manager/terminal/zellij.nix +++ b/modules/home-manager/terminal/zellij.nix @@ -1,8 +1,8 @@ { programs.zellij = { # Аналог tmux enable = true; - enableBashIntegration = true; - enableZshIntegration = true; - enableFishIntegration = true; + # enableBashIntegration = true; + # enableZshIntegration = true; + # enableFishIntegration = true; }; } \ No newline at end of file diff --git a/modules/home-manager/wm/polybar.nix b/modules/home-manager/wm/polybar.nix index 934d065..1aec8f6 100644 --- a/modules/home-manager/wm/polybar.nix +++ b/modules/home-manager/wm/polybar.nix @@ -37,31 +37,31 @@ # double-click-middle # double-click-right -# { config, ... }: let -# gruvbox = { -# black = "#000000"; -# dark = "#1d1d1d"; -# disabled = "${config.lib.stylix.colors.base00}"; # #282828 -# red = "${config.lib.stylix.colors.base08}"; # #fb4934 -# red-alt = "#b22222"; -# orange = "${config.lib.stylix.colors.base09}"; # #fe8019 -# orange-mat = "#e78a4e"; -# yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f -# yellow-mat = "#d8a657"; -# green = "${config.lib.stylix.colors.base0B}"; # #b8bb26 -# green-alt = "#98971a"; -# aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c -# aqua-alt = "#689d6a"; -# blue = "#458588"; -# blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598 -# grey = "#313131"; -# dark-grey = "#222222"; -# cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7 -# white = "#FFFFFF"; -# transparent = "#00000000"; -# Stransparent = "#CC000000"; -# }; -# in +{ config, ... }: let + gruvbox = { + black = "#000000"; + dark = "#1d1d1d"; + disabled = "${config.lib.stylix.colors.base00}"; # #282828 + red = "${config.lib.stylix.colors.base08}"; # #fb4934 + red-alt = "#b22222"; + orange = "${config.lib.stylix.colors.base09}"; # #fe8019 + orange-mat = "#e78a4e"; + yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f + yellow-mat = "#d8a657"; + green = "${config.lib.stylix.colors.base0B}"; # #b8bb26 + green-alt = "#98971a"; + aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c + aqua-alt = "#689d6a"; + blue = "#458588"; + blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598 + grey = "#313131"; + dark-grey = "#222222"; + cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7 + white = "#FFFFFF"; + transparent = "#00000000"; + Stransparent = "#CC000000"; + }; +in { # Статус бар внизу services.polybar = { enable = true; @@ -75,429 +75,379 @@ fi ''; - settings = { + settings = { # Или переимоневать в "config"? Не понял в чём разница + # "colors" = {}; + "global/wm" = { margin-bottom = 0; }; + # bottom это просто имя, это не говорит бару быть внизу, можно написать что угодно "bar/bottom" = { - monitor = "$\{env:MONITOR:}"; - fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями + # monitor = "polybar -M | cut -d ':' -f 1"; # содержит список мониторов + # monitor-strict = false; # Require the monitor to be in connected state + # monitor-exact = true; # Зачем? Нечёткий поиск мониторов, если они называются по разному с разными драйверами bottom = true; # Put the bar at the bottom of the screen + fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями + enable-ipc = true; # Enable support for inter-process messaging + double-click-interval = 400; # If two clicks are received within this interval (ms), they are recognized as a double click. + offset-x = 0; # Offset the bar window in the x and/or y direction. + offset-y = 0; # Supports any percentage with offset relative to the monitor width or height + width = "100%"; # Ширина относительно ширины монитора + height = "20pt"; # Высота относительно высоты монитора. Не ебу что значит pt + radius = 0; + dpi = 100; # Для ppi монитора + background = gruvbox.transparent; # Фон бара + foreground = gruvbox.cream; # Передний план + border-color = gruvbox.transparent; # Цвет контура + border-size = "3pt"; # Размер контура + module-margin = 0; # Margin to add before/after each module. Можно юзать module-margin-{left,right} + padding = "4pt"; # Padding to add at the beginning/end of the bar. Можно юзать padding-{left,right} + separator-foreground = gruvbox.transparent; + separator = " "; # The separator will be inserted between the output of each module + + # If you don't explicitly set the font-index for a tag, + # the bar will iterate the font list and pick the first one that is able to draw the character + font-0 = "Roboto condensed:size=11:weight=bold;2"; + font-1 = "Font Awesome 6 Free:pixelsize=11;2"; + font-2 = "Font Awesome 6 Free Solid:pixelsize=11;2"; + font-3 = "Font Awesome 6 Brands:pixelsize=11;2"; + font-4 = "JetBrainsMono Nerd Font Mono:size=24:weight=bold;5"; + font-5 = "Noto Sans:size=11:weight=bold;1"; # Мб надо добавить CJK версии + + modules-left = "bspwm title"; modules-center = "time"; + modules-right = "cpu memory pulseaudio tray xkeyboard rofi"; + # Для модула right ещё можно добавить следующие модули: + # "battery", "" + + # Restack the bar window and put it above the selected window manager's root + # Fixes the issue where the bar is being drawn on top of fullscreen window's + # Currently supported values: + # generic (Tries the ewmh strategy and falls back to the bottom strategy. + # This is a best-effort strategy and may change and be tweaked in + # the future, the individual strategies are available on their own) + # (New in version 3.6.0) + # (Changed in version 3.7.0: Tries the ewmh strategy instead of just the bottom strategy) + # bspwm (Moves the bar window above all bspwm root windows) + # bottom (Moves the bar window above the first window in the window stack. + # Works in xmonad, may not work on other WMs + # New in version 3.7.0) + # ewmh (Moves the bar above the window specified in _NET_SUPPORTING_WM_CHECK, if it is set + # New in version 3.7.0) + # i3 (requires `override-redirect = true`) + wm-restack = "bspwm"; }; + "module/rofi" = { + type = "custom/text"; + click-left = "exec rofi -show drun -show-icons"; + label = " "; + # click-right= exec ~/.config/i3/scripts/power.sh; + content-foreground = gruvbox.orange; + content-background = gruvbox.black; + }; + + "module/bspwm" = { # Воркспейсы bspwm + type = "internal/bspwm"; + pin-workspaces = true; # Only show workspaces defined on the same output as the bar + inline-mode = true; # Output mode flags after focused state label. Не понял что значит + enable-click = true; # Create click handler used to focus workspace + enable-scroll = false; # Create scroll handlers used to cycle workspaces + reverse-scroll = false; # Set the scroll cycle direction + occupied-scroll = true; # Only scroll through occupied workspaces + + ws-icon-1 = "1;1"; + ws-icon-2 = "2;2"; + ws-icon-3 = "3;3"; + ws-icon-4 = "4;4"; + ws-icon-5 = "5;5"; + ws-icon-6 = "6;6"; + ws-icon-7 = "7;7"; + ws-icon-8 = "8;8"; + ws-icon-9 = "9;9"; + ws-icon-10 = "10;10"; + + format = " "; # Это невозможно описать. Я сам не до конца понял + + label-mode = "%mode%"; + label-mode-padding = 1; + label-mode-background = gruvbox.red-alt; + label-mode-foreground = gruvbox.white; + + label-focused = "%icon%"; + label-focused-font = 5; + label-focused-foreground = gruvbox.yellow; + label-focused-background = gruvbox.black; + label-focused-padding = 2; + + label-unfocused = "%icon%"; + label-unfocused-font = 5; + label-unfocused-foreground = gruvbox.cream; + label-unfocused-background= gruvbox.black; + label-unfocused-padding = 2; + + label-visible = "%icon%"; + label-visible-padding = 2; + + label-urgent = "%icon%"; + label-urgent-font = 5; + label-urgent-foreground = gruvbox.red-alt; + label-urgent-background = gruvbox.black; + label-urgent-padding = 2; + + label-separator = ""; + label-separator-padding = 0; + label-separator-foreground = gruvbox.transparent; + }; + + "module/title" = { # Отображение имени окна + type = "internal/xwindow"; + format-prefix = " "; + format-prefix-foreground = gruvbox.yellow-mat; + format-prefix-background = gruvbox.black; + + label = "%title%"; + label-maxlen = 50; + label-foreground = gruvbox.cream; + label-background = gruvbox.dark; + label-padding-left = 2; + label-padding-right = 2; + }; + + # %A: Полное название дня недели (например, "Monday") + # %d: День месяца в формате двух цифр (например, "01") + # %b или %B: Сокращённое или полное название месяца ("Jan", "January") + # %m: Месяц в формате двух цифр (например, "01" для января) "module/time" = { type = "internal/date"; interval = 1; - # format = "🕓