Как отключить прозрачность Picom, пока открыт Neovim?

Вопрос или проблема

Я использую терминал st от suckless. Я запускаю picom при старте с помощью picom --backend glx, и терминал имеет прозрачность. Мне нравится, как терминал остается прозрачным до тех пор, пока я не пытаюсь использовать Neovim, где, на мой взгляд, отвлекает то, что я вижу свой рабочий стол во время редактирования файлов. Есть ли способ отключить эту прозрачность только во время открытия Neovim?

Я пытался искать в гугле и нашел только способы отключения прозрачности для всего окна, но это не помогает, потому что это не отключает прозрачность только при открытом Neovim.

Ответ или решение

Чтобы отключить прозрачность Picom во время работы с Neovim в терминале st, вам необходимо воспользоваться декорацией окон и конфигурацией Picom. Ваша цель — временно изменить настройки прозрачности, когда вы открываете Neovim, и восстановить их после его закрытия. Рассмотрим пошаговое решение этой проблемы.

Шаг 1: Настройка конфигурации Picom

  1. Открытие файла конфигурации Picom. Обычно файл конфигурации находится по пути ~/.config/picom.conf. Если у вас его нет, создайте новый файл в указанной директории.

  2. Добавление правил для Neovim. Вам нужно задать правило, которое будет отключать прозрачность для конкретного приложения, в данном случае Neovim. Найдите секцию opacity-rule и добавьте в нее следующую строку:

    opacity-rule = [
       "90:class_g = 'St'",
       "100:class_g = 'Neovim'"
    ];

    Здесь St — это ваш терминал simple terminal, а Neovim — это класс окна, который будет применяться, когда Neovim открыт. Уровень 100 означает, что прозрачности не будет совсем.

Шаг 2: Перезапуск Picom

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

pkill picom   # Остановите Picom
picom --backend glx &  # Запустите Picom снова в фоновом режиме

Шаг 3: Создание скрипта для автоматизации (опционально)

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

Вот пример такого скрипта:

#!/bin/bash

# Проверяем, запущен ли Neovim
if pgrep -x "nvim" > /dev/null
then
    # Если запущен, изменяем настройки Picom и перезапускаем
    sed -i 's/opacity-rule = \[.*\]/opacity-rule = ["100:class_g = 'Neovim'", "90:class_g = 'St'"]/g' ~/.config/picom.conf
else
    # Если не запущен, восстанавливаем настройки
    sed -i 's/opacity-rule = \[.*\]/opacity-rule = ["90:class_g = 'St'"]/g' ~/.config/picom.conf
fi

# Перезапускаем Picom
pkill picom
picom --backend glx &

Сохраните этот скрипт, например, под именем toggle-picom.sh, и сделайте его исполняемым командой:

chmod +x toggle-picom.sh

Шаг 4: Использование скрипта

Теперь каждый раз, когда вы хотите запустить Neovim, просто выполните этот скрипт. Он отключит прозрачность при открытии Neovim и восстановит её, когда Neovim будет закрыт.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...