Как я могу создать «выпадающий список на рабочем столе», похожий на якуаке?
Я работал над приложением для обмена сообщениями (в основном написанным на Python) для меня и моих друзей в качестве побочного проекта. Поскольку рабочие столы, как правило, представляют собой бесконечный беспорядок, и у большинства людей обычно слишком много открытых окон, я бы действительно хотел заключить это в «раскрывающийся список рабочего стола» (извините, у меня нет лучшего слова для этого). Таким образом, я мог бы заставить его всплывать с помощью сочетания клавиш, когда это необходимо, но он не добавлял бы окно к беспорядку, когда это не так. Мое вдохновение для всей идеи - это Yakuake (выпадающий список Linux).
Проблема в том, что я буквально не знаю, с чего начать. Я знаю, что это не тот вопрос, который люди в SO обычно ценят, но все мои исследования до сих пор не принесли мне никаких результатов, и я просто не знаю, где еще я мог бы задать такой вопрос. Итак, вкратце, что я ищу:
- Ищу совет, какой язык / фреймворк / и т. Д. Я мог бы создать что-то вроде этого
- Это будет в первую очередь для Linux (но я открыт для ввода и для других ОС)
- В настоящее время я в основном работаю на Python и JS, но я также хотел бы узнать что-то новое, если это необходимо
Еще раз извините за очень открытый вопрос. На данный момент, после всех моих исследований, я просто надеюсь, что мне повезет и я найду кого-нибудь, кто может дать мне любой совет, с чего начать поиск.
1 ответ
Это не полный ответ, но я немного покопался, как это делает Якуаке:
Yakuake написан с использованием KDE Frameworks , библиотеки C++, расширяющей Qt Framework. Qt - это фреймворк пользовательского интерфейса в основном для C++, но он также имеет привязки к Python .
В исходном коде Yakuake они в основном ссылаются на эту функцию в KFW, которая устанавливает некоторые данные в фактическую оконную систему. Короче говоря, Yakuake делает некоторые причудливые вещи с собственными оконными эффектами, используя KFW.
Если вы не хотите изучать C++ для этого, вы можете просто использовать Qt (или любую другую среду пользовательского интерфейса Python, если на то пошло) и проделать некоторые трюки с анимацией высоты окна.
Еще одна вещь, которую вам, вероятно, следует учитывать, - это установка сочетаний клавиш, которые также будут различаться в зависимости от используемой вами ОС / DE.