python - 如何创建类似于 yakuake 的“桌面下拉菜单”?
问题描述
我一直在为我和我的朋友开发一个信使应用程序(主要用 Python 编写)作为一个副项目。现在,由于桌面通常是一团糟,而且大多数人通常打开的窗口太多,我真的很想将它包装在“桌面下拉菜单”中(抱歉,我没有更好的词来形容它)。这样,我可以在需要时使用快捷键弹出它,但如果不是,它不会在混乱中添加一个窗口。我对整个想法的灵感来自 Yakuake(Linux 下拉终端)。
现在的问题是我真的不知道从哪里开始。我知道这不是人们普遍欣赏的那种问题,但到目前为止我的所有研究都没有给我带来任何结果,我只是不知道我还能在哪里问这样的问题。所以,简而言之,我在寻找什么:
- 我正在寻找建议哪种语言/框架/等。我可以用来创建这样的东西
- 它主要用于 Linux(但我也愿意为其他操作系统提供输入)
- 我目前主要在 Python 和 JS 工作,但如果需要,我也想学习一些新东西
再次抱歉这个非常开放的问题。在这一点上,经过我所有的研究,我只是希望运气好,找到可以给我任何建议的人,告诉我从哪里开始寻找。
解决方案
这不是一个完整的答案,但我做了一些挖掘 Yakuake 是如何做到的:
Yakuake 是使用KDE Frameworks编写的,这是一个扩展 Qt 框架的 C++ 库。Qt 是一个主要用于 C++ 的 UI 框架,但它也有Python 绑定。
在Yakuake 的源代码中,他们主要是指KFW 中的这个函数,它将一些数据设置为实际的窗口系统。所以简而言之,Yakuake 使用 KFW 做了一些带有原生窗口效果的花哨的东西。
如果您不想为此学习 C++,您可以使用 Qt(或任何其他 Python UI 框架)并使用动画窗口高度来做一些技巧。
您可能需要考虑的另一件事是设置快捷键,这也取决于您使用的 OS/DE。
推荐阅读
- docker - 哪些端口可用于 Ubuntu 服务器
- java - 在画布中绘制和擦除圆圈
- javascript - 跨多个子域的 WebAuthn
- python - 如何在我的 python 代码的每一行中获取内存使用情况
- c# - C# - 如何将列表框中的文本文件中的文本加载到richTextBox中?
- ruby - Sinatra 会话未在帖子中持续存在
- r - R CRAN 检查:自动标题:警告:缺少模板:HAVE_GSL_HEADER 自动标题:使用 AC_DEFINE([HAVE_GSL_HEADER],[],[描述])
- html - id 选择器阻止元素悬停的变化
- django - 我看不到数据库名称中保存的图像“用户”未定义
- python - 使用 python 的语言检查模块 - “找不到 Java”错误