问题标签 [window-managers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1003 浏览

vim - 将 vim 的强大功能放入 WM:模态窗口管理?

我是 Vim 的忠实拥护者,我在很大程度上坚持极其高效的模态编辑风格。在对 Vim 有一些经验之后,我决定进入其他分享其高效/快速键盘使用理念的软件。这自然导致我使用平铺窗口管理器,它允许使用键盘快捷键有效地管理窗口空间、工作区/标签、多个屏幕等。

似乎绝大多数 TWM 用户都使用 Vim,所以我想知道为什么没有类似 Vim 的窗口管理器?我的意思是,与其使用一些笨拙的修饰符来管理窗口,不如使用一种特定的模式,您必须输入一个特定的模式,从该模式中所有的窗口管理都只需一个按键即可。

这样,您可以通过进入wm模式来完成所有操作,用单次击键击中所有操作,然后退出wm。这种窗口管理风格是否存在,如果不存在,那为什么不呢?

0 投票
1 回答
2372 浏览

android - 添加到 WindowManager 的自定义视图上的动画

我有一个自定义视图,它被插入到 windowManager 以实现拖动功能,并覆盖了该OnDraw()方法。我正在尝试使用平移动画对其进行动画处理,但动画没有开始(animationListener 也没有捕捉到动画),而是视图从动画的起点“跳跃”到它的终点。

这是自定义视图:

这就是我开始动画的方式:

0 投票
2 回答
6073 浏览

haskell - 仅从全屏浮动窗口中删除边框(XMonad 配置)

我想

  1. (仅)从覆盖全屏的浮动窗口(如 mplayer)中删除边框,以及
  2. 当工作区中只有一个窗口时,使用不同的边框颜色 (normalBorderColor)。

目前,我正在使用 XMonad.Layout.NoBorders 中的 smartBorders 从 mplayer 中删除边框,并在该窗口是工作区中唯一的窗口时删除该窗口的边框。但是,当我在两个都有一个非浮动窗口(无论模式(高/镜像/全))的两个工作区之间切换时,我会看到窗口(在我正在更改的工作区中)“跳跃”了一下,当它的边框被绘制时,然后在稍后的片刻中移除(如果你将borderWidth设置为一个大数字,效果会更明显)。

下面给出了我的 ~/.xmonad/xmonad.hs 的相关部分。

你们知道我是如何达到这个效果的吗?(第 2 部分。甚至可能吗?)非常感谢对实现类似效果的扩展和/或现有配置的建议和指针。

0 投票
0 回答
413 浏览

macos - 为 Mac OS X 创建一个窗口管理器类型覆盖

我想为 OS X 制作自己的窗口管理器,或者至少给它一个新的外观。我有一本书写了很多设计,并希望实现它们。其中包括更改甚至完全删除菜单栏,为切换应用程序创建全新的 gui 等。

我知道 OS X 没有窗口管理器,基本上 X11 窗口管理器将执行的功能是由 Carbon、Cocoa、Dock 应用程序和窗口服务器完成的。我已经读过,在硬件级别编写我自己的 api 等需要大量的逆向工程。我仍然不擅长编程,也没有那种时间。这就是为什么我在考虑在 OS X 上运行一个应用程序,该应用程序将像一个单独的窗口管理器一样运行 - 并完成普通 OS GUI/窗口管理器所做的一切。

这可能吗?例如:制作一个自定义按钮,该按钮将出现在某个组合键上,可以单击该按钮以访问文档查看器、更改时间、最小化窗口等。是否有某种方法可以访问此类基本任务/操作的功能不使用默认的 OS X 按钮控件,并使用我自己的 GUI 实现它们?我说的不仅仅是一个简单的主题更改,我想彻底改变用户体验。这意味着该应用程序将以全屏模式运行,该模式会屏蔽默认的 OS X 菜单栏。

我听说过一些关于使用图形架构插入您自己的窗口管理器的消息?这也是一种选择吗?如果是这样,我将如何去做?

0 投票
1 回答
989 浏览

android - 软输入键盘在 Android 中不可见

可能重复:
关闭/隐藏 Android 软键盘

我使用以下代码隐藏默认键盘以调出我自己的,它工作正常

但是现在当我单击一个按钮使用以下内容时,软键盘不会重新出现。为什么?

0 投票
1 回答
118 浏览

perl - 如何从perl打开具有定义路径的窗口?

我有一个具有这些要求的任务:在 Ubuntu 12.04 上,我需要使用用户在 Perl 脚本中设置的定义路径打开 Nautilus(文件管理器)的实例。

有什么方法可以做到吗?感谢您的回复。

UPD 是否可以从位于文件夹(路径)中的所有文件中选择特定文件?

0 投票
0 回答
655 浏览

window - pygtk 最小化和最大化窗口

我正在使用 pygtk,一旦我最小化窗口(iconyfy),窗口管理器就会使用它的动画来做到这一点。在我最小化它之前(用户不能这样做;没有最小化按钮,仅来自代码)它位于桌面的右侧大小。现在,当用户单击 tackbar 图标 wm 时会显示窗口,但它不在右侧,它会转到屏幕中央。有没有办法消除这种行为?我正在使用 ubuntu 12.04。

0 投票
1 回答
293 浏览

python - 如何监控在 linux/tcl/python 中打开或启动的应用程序?

我正在尝试构建一个面板应用程序,例如前卫窗口导航器或 ubuntu unity。

我的问题是,一旦我使用预定义的应用程序构建面板,我如何在应用程序打开或启动时向面板添加项目?

这是我在 tcl 中的源代码:

是否有任何终端、tcl 或 python 命令可以实现这一点?

欣赏任何见解。先感谢您。

0 投票
3 回答
1573 浏览

taskbar - 如何更改 Awesome WM 将项目添加到任务列表的方式?

我想让我很棒的 WM 像其他窗口管理器一样将项目添加到任务列表中。基本上,当您在 awesome 中打开应用程序时,它会将其放在前一个应用程序之前的任务列表中。

例如,如果您按顺序打开 xterm、gvim 和 firefox,则在任务列表上将首先出现 firefox,然后是 gvim,最后是 xterm。

像 Gnome 和 KDE 这样的大部分窗口管理器将按照打开时的顺序添加项目。

是否有可能在 AWESOME 中实现这种行为?

谢谢你。

0 投票
1 回答
1400 浏览

c++ - QWidget / QWindow 标题栏:自定义外观,原生感觉(类似于 Chrome)

我知道如何使 QWidget(在 Qt4 或 Qt5 中)/ QWindow(从 Qt5 开始)无边框,绘制自定义标题栏并手动实现鼠标拖动以通过简单地跟踪鼠标位置mouseMoveEvent并更新窗口来在屏幕上移动窗口位置。

但是,这种移动的行为与窗口管理器实现的本地移动不同。例如,将窗口移动到屏幕边框附近可以解释为“全屏”或“分屏”;或窗口捕捉到彼此的边界,具体取决于系统/窗口管理器。如果您像上面那样实现窗口移动,这些东西就不起作用。

Google Chrome / Chromium 只是实现自定义窗口标题栏和边框的应用程序的一个示例,同时仍适应窗口管理器的本机行为。我想知道 Chrome 是否自行实现这些(并检测窗口管理器及其配置),或者大多数窗口管理器中是否有一些功能(显然,这仍然高度依赖于平台)用于告诉“启动本机窗口移动”和“停止本机窗口移动”或类似的。

在 Qt 中可能有这样的事情吗?如果没有,也许使用其他一些库,如 Qxt?

仅供参考:我主要针对 Windows 和 Linux,我看到用户可以安装任何窗口管理器的困难。