я3 мой любимый оконный менеджер с плиткой.
Но совсем недавно, занятый очередным перекрашиванием своего рабочего стола, я столкнулся с одной неприятной вещью: функционал родной панели совершенно не достаточен для реализации всех моих фантазий.
В частности, он не может изменять размер или цвет границ.
Что делает пользователь Linux, когда программное обеспечение его не устраивает и альтернатив нет (да и нет)? Правильно, он патчит существующую, или пишет свою.
У меня совершенно нет желания иметь дело с xcb, на котором написана стандартная панель, поэтому я пошел по второму пути.
В качестве языка был выбран C++.
По поводу каркаса спросите К.
О.
Предисловие
Что вообще такое панель? Википедия сообщает нам об этом: «Панель задач — это приложение, которое используется для запуска других программ или управления уже запущенными, и представляет собой панель инструментов.Особенно используется для управления окнами приложений».
А вот в тайловых оконных менеджерах все не так просто.
Окна в них не перекрывают друг друга.
Менеджер выделяет каждому окну свое пространство (плитка), на которое это окно растягивается.
Например:
Ты видишь? Все окна видны.
Так что вопрос о необходимости панели задач в таких менеджерах отпадает сам собой.
Но на одном экране не уместишь много приложений.
Что делать? Именно здесь в игру вступает концепция нескольких рабочих столов.
Это чертовски удобно! Нет необходимости ежеминутно менять фокус окон, их размер и положение.
Перешел на первый рабочий стол - вот набор приложений для разработки, перешел на второй - держи рядом файловый менеджер и плеер.
И так далее.
Теоретически рабочих столов может быть бесконечное количество, но использовать более 10 одновременно может быть довольно проблематично.
Итак, наша панель будет управлять не окнами, а рабочими столами.
Поэтому я предпочитаю просто использовать слово «панель», а не словосочетание «панель задач».
Начнем разработку
Подобно тому, как дружба начинается с улыбки, большинство приложений Qt начинаются с виджета.Так что не будем отступать от традиций и первым делом напишем виджет для нашей будущей панели.
На данный момент это будет просто класс, унаследованный от QWidget. С конструктором и деструктором.
Теги: #Qt #панель #i3 #программирование #Qtclass Q3Panel : public QWidget { Q_OBJECT public:
-
Теория Вероятности
19 Oct, 24 -
Забыли Пароль Windows 7 – Что Делать?
19 Oct, 24 -
Топ Кириллических Шрифтов
19 Oct, 24 -
10 Причин Для Ipo
19 Oct, 24 -
Стремление К Совершенству
19 Oct, 24 -
Ip Doorbell – Интерактивный Дверной Звонок
19 Oct, 24