问题标签 [motif]

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 回答
248 浏览

events - xlib / 主题:如何判断窗口何时被重绘以响应属性更改?

开发一种 Motif GUI 设计工具。在我以编程方式更改属性、添加/删除小部件、移动小部件等之后,我捕获了 Motif 窗口的屏幕截图,显示了当前窗口状态。仅供参考,我正在使用 cairo 2d 将窗口的 Xlib 表面捕获为 png。

大多数情况下这工作正常,但有时我的窗口捕获发生在 UI 更新完成之前。特别是在更改小部件的字体或更改图形标签上的像素图时,我偶尔会注意到这一点。

我想等到窗口完成绘制新状态后再捕获表面。

我怎样才能可靠地做到这一点?看起来 Xlib 曝光事件发生在重绘之前。我看到有一个 PropertyChange 事件 - 但文档没有说明它何时发生与绘图有关。

0 投票
2 回答
404 浏览

opengl - OpenGL 窗口画得很好,但我的 OpenGL 窗口顶部的所有窗口都变黑了

我有一个将 OpenGL 与 Motif 混合的应用程序。包含 OpenGL 的大主窗口可以重新绘制。但是,坐在它上面的子窗口都变黑了。具体来说,只是那些位于主窗口顶部的子窗口的一部分。这些子窗口中都只有 Motif 代码(除了一个)。

该应用程序不会冻结或转储核心。数据仍在流动,随着文本字段等各种子窗口的更新,这些部分会重新绘制。相互拖动窗口或最小化/取消最小化也会触发重绘。“停电”的时间是随机的。我每次都运行相同的 1 小时数据集,有时停电发生在运行 5 分钟,有时是 30 分钟,等等。

我经历了关闭部分代码的过程,直到问题停止。越来越窄,发现它与使用深度缓冲区有关。换句话说,当我注释掉 时glEnable(GL_ENABLE_DEPTH_TEST),问题就消失了。所以这个问题似乎与深度缓冲区的使用有关。

据我所知,深度缓冲区在重绘完成之前就被清除了,这是应该的。调用周围有 if 语句glClear,所以我把消息放在那里,并确认glClear即使发生中断,深度缓冲区也确实发生了。而且,glGetError什么都没回。

更新 6/30/2014 看起来至少还有一个人在看这个(感谢 UltraJoe)。如果我没记错的话,事实证明它有时会在没有先定义后台缓冲区并向其绘制任何内容的情况下交换缓冲区。以前对我来说并不明显,因为这是一个很长的例程。还有一些其他的小东西我必须清理,但我认为这是主要原因。

0 投票
1 回答
1469 浏览

x11 - 检测 X11 窗口是否有装饰

此 C 函数可用于禁用或启用许多窗口管理器中的窗口装饰。如果 'mode' 是 'd' 窗口将隐藏装饰,否则如果 'mode' 是 'D' 窗口将显示它们。

我想实现一个“切换模式”。所以我的问题是,有没有办法检测窗户是否有装饰品?我尝试将 XGetWindowProperty 与 _MOTIF_WM_HINTS 一起使用,但我不确定如何解释输出。

0 投票
1 回答
110 浏览

design-patterns - Motif/UIL 是模型-视图-视图模型吗?

我试图了解这种模式的含义(不仅仅是“我正在使用最近的 Microsoft GUI 工具”)。MVVM wiki页面似乎将其解释为表示模型的系统部分和表示模型的图形视图的部分的分离,中间有一点在两者之间进行转换。这也意味着微软为 WPF 发明了这个概念。

但是,我看不出这与自 1980 年代以来UILMotif所做的事情之间有什么区别。

那么 MVVM 是否只是Motif的用户代码/UIL/MRM 设置等方案的模式,还是有更多内容?

0 投票
2 回答
114 浏览

c - 更改文本字体时的标签标题剪切(打开 Motif 2.3.1)

我正在尝试解决软件上的问题。我有两个用 Motif 库创建的窗口。第一个窗口包含 5 个按钮(字体 1、2、3、4、退出),选择一种字体会影响另一个窗口的文本(“未确认的更新”)。 当第二个窗口的文本是字体 1 时,我们单击字体 4 或字体 3 按钮,结果包括在第二个窗口上显示一个文本标签剪切。

我已经编写了一个原型来使用相同的编码和初始化小部件的方式来重现错误。但是,我还不能重现这个错误。问题是,在我的原型中管理回调的方式比使用 Xevent 发送到 X 服务器的原始代码要简单得多。

您可以在链接后找到显示问题的两个屏幕截图: ---屏幕截图---

您将在此链接之后找到原型代码:---here---

要编译的行: gcc mmm_window.c -lX11 -lXm -lXt -o mmm_window

0 投票
1 回答
310 浏览

linux - 将 qtmotifextension 与 QT5 一起使用

目前我正在使用qtmotifextension将 QT 世界与 X11 Linux 站上的旧 Motif UI 连接起来。

我正在尝试向 QT5 更新,但X11processEventfromQApplication已被删除。是否有来自旧 qt 解决方案的更新 qtmotifextension 可用,或者有什么方法可以X11processEvent从 QT5 获得?

0 投票
2 回答
325 浏览

java - PLAF 上的 NullPointerException 更改为 Motif

谁能看到我做了什么导致NullPointerException(下面的堆栈跟踪)?

面板显示正常:

可视化工作布局

文本输出

那 ( 1.6.0-b105) 是古老的,它是这里 Netbeans 的默认运行时环境。必须更新到版本 7 JRE。

代码

堆栈跟踪

0 投票
1 回答
215 浏览

python-3.x - Python3 的 Motif 小部件

我想为 Python3 找到类似于流行的 Python 模块“PyQt4”的 Motif 小部件。我还没有找到 Motif-widgets 模块。有吗?

0 投票
1 回答
362 浏览

linux - 如何使用 Netbeans 在 Ubuntu 64 位上编译实现 Xm 的代码?

我只是 X-Windows 的新手,并尝试编写只在 Linux 上调用简单 MessageBox 的代码,如 Window 的。

我在 Ubuntu 12.04LTS 64bit 上并安装了 Netbeans 完整版。我在这个项目中包含了“/usr/include/Xm”,对于库,我包含了“Motif”库。

编译代码时出现以下错误:

我真的不明白这个错误,至少我从未见过像“aka void blah blah~~”这样的语法。

谁能帮我解决这个编译错误,如果可能的话,请解释一下这个错误消息的含义?

以下是原始源代码:

0 投票
2 回答
604 浏览

java - Java Swing - 在 Motif L&F 的自定义组合框渲染器中消失的文本

我目前正在ListCellRendererJComboBox. 为此,我使用系统在 L&F 更改时获取新的渲染器,并将方法委托给它。这适用于所有 L&F。但是,当我将此组件放在面板中时(因此我可以添加更多组件),它在 Metal 和 Windows L&F 中运行良好,但JComboBox文本在 Motif 中消失了。见截图和代码:

第三个渲染器的问题

任何有助于理解为什么会发生这种情况的帮助将不胜感激!