首页 > TAG信息列表 > xlib

Xlib 应用被覆盖遮挡或者移出屏幕时,获取窗口截图

在https://www.cnblogs.com/chaichengxun/p/15409996.html这篇文章里已经讲过,如果应用窗口位于屏幕外或者被遮挡,xlib不能获取完整的应用窗口截屏,如下     今天就拉解决这个问题。 用到的头文件: #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/extensions/Xcompo

Xlib Linux判断程序窗口是否为最小化

最近在开发linux窗口捕获,XLib下最小化的窗口不能够捕获到画面,需要将最小化的程序剔除出程序列表。 根据 https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html 查阅,窗口的属性由 _NET_WM_STATE 获取。 需要用到的头文件有 #include <X11/Xlib.h> #include <X11/Xa

通过Python中的Xlib找出鼠标按钮状态

我可以通过以下方式确定当前鼠标指针的位置: from Xlib.display import Display display = Display() qp = display.screen().root.query_pointer() print(qp.root_x, qp.root_y) 我如何也可以通过Xlib获得当前鼠标按钮的状态,例如按下/释放左/右按钮? (或者,如果不可能,为什么不呢

c-X11,更改分辨率并使窗口全屏显示

我正在用这个把头发拔出来. 我使用以下程序以编程方式更改屏幕的分辨率: int FindBestVideoMode(int screen, unsigned int &width, unsigned int &height) { int modeCount; XF86VidModeModeInfo** modes; if (XF86VidModeGetAllModeLines(display, screen, &modeCou

从Xlib转换为xcb

我目前正在将我的一个应用程序从Xlib移植到libxcb,并且在某些时候无法找到有关XInput2扩展的信息. libxcb中是否有XInput2实现?如果是,我在哪里可以找到文档. 目前,我在使用以下功能时遇到麻烦:XIQueryDevice,XISelectEvents.这些主要是我使用的功能. 也许有人可以为我指出文档或为我

linux,C,xft:如何使用?

我尝试使用0ft的Xft,让他们称这是一个教程…看起来像是在朝鲜北部的一个营地中写的…我也找到了这个one.所以让我尝试逐步进行: // g++ XftTest.cc -lX11 -lXft `pkg-config --cflags freetype2` #include<unistd.h> #include<X11/Xlib.h> #include<X11/Xutil.h> #include<X11/Xft/

XFetchName始终返回0

我试图写一个C代码来获取我的Linux系统中的活动窗口的标题,但函数XFetchName总是返回零,我也尝试了XGetWMName,相同的结果…… 但是使用xprop,我可以看到“WM_NAME”属性中有一个字符串 谁能告诉我我的代码有什么问题? #include <X11/Xlib.h> #include <stdio.h> #include <stdarg.

c – Xlib测试窗口名称

我试图用Xlib来控制Xterm. 为此,我正在制作一个带有奇怪标题的Xterm.在我列出所有窗口并检查它们的名称之后.但有些东西被窃听,我的Xterm的名字在列出时没有出现.这是列出所有窗口的代码: void CMD::getWindowTerminal() { Atom a = XInternAtom(m_display, "_NET_CLIENT_LIST"

使用Python gtk3在X上进行全局键绑定

我正在寻找可以与gtk3一起使用的python xlib全局键绑定的一些示例,就像在http://www.siafoo.net/snippet/239处为gtk2完成一样.这里的代码非常相似: from Xlib.display import Display from Xlib import X import gtk.gdk import threading import gobject class GlobalKeyBinding

Linux上的无边框窗口

它们是在Linux上使特定窗口无边框的标准方法吗?我相信窗口边框是由你的窗口管理器绘制的,所以我可能只需要使用一个特定的窗口管理器(可以找到,我只需要知道哪一个)…我的希望是那样的所有窗口管理器都可能遵循一些标准,允许我以编程方式执行此操作…解决方法:使用Xlib和旧的_MOTIF_

c – Xlib如何(删除窗口装饰)工作?

以下代码如何删除窗口边框? //note the struct is declared elsewhere, is here just for clarity. //code is from [http://tonyobryan.com/index.php?article=9][1] typedef struct Hints { unsigned long flags; unsigned long functions; unsigned long deco

如何在Python上使用Xlib模拟鼠标点击

出于教育目的,我已经开始使用cwiid和Xlib编写python脚本,以便我可以像使用鼠标一样使用我的wiimote. 到目前为止,我已经通过调用disp.warp_pointer(dx,dy)然后在每个设置的时间间隔调用disp.sync()来移动光标.我担心这可能不是最有效的方法,但至少现在,它很简单,效果也不错. 我遇到

从另一个进程关闭XLib应用程序

我有一个基于Xlib的程序,其中包含一个使用XNextEvent接收和处理相关事件的事件循环. 我希望能够从另一个进程(实际上来自shell脚本)优雅地关闭该程序.关闭时我需要做一些清理,所以我考虑设置信号处理程序(例如SIGUSR1),当收到此信号时,进行适当的清理. 我的问题是,如何从信号处理程

linux – 是由xlib实现的剪贴板或由各个应用程序实现的剪贴板

ICCCM定义了三个选项1)主要2)次要3)剪贴板.但是在xlib中,xatom.h只定义了XA_PRIMARY和XA_SECONDARY,但剪贴板没有这样的原子.所以我怀疑剪贴板是由xlib实现还是必须由主要和次要的单个应用程序实现? 如果它必须由各个应用程序实现,那么不同的应用程序如何与剪贴板交互,如同从一个应

c – 学习Xlib的书籍/资源(“Linux Petzold”?)

我顽固地决定学习用于Linux GUI的Xlib编程,只是为了好玩和娱乐.获得的经验.我很年轻,有很多时间阅读无用的东西.然而,似乎没有人希望人们学习这一点,就像我看到的那样,askers正在被使用工具集的建议轰炸 – 通常是Qt或wxWidgets.如果没有人学习Xlib,这将是一种悲伤,谁将继续发展,例

c – Xlib:XGetWindowAttributes总是返回1×1?

我想拥有当前聚焦窗口的宽度和高度.窗户的选择就像一个魅力,而高度和宽度总是返回1. #include <X11/Xlib.h> #include <stdio.h> int main(int argc, char *argv[]) { Display *display; Window focus; XWindowAttributes attr; int revert; display = XOpe

Python:如何使用Xlib在工作区之间切换?

如何使用Python与Xlib模块在窗口管理器的工作区之间切换? 这是我最有希望的尝试: #!/usr/bin/python from Xlib import X, display, error, Xatom, Xutil import Xlib.protocol.event screen = Xlib.display.Display().screen() root = screen.root def sendEvent(win, ctype,

在Python中使用GTK和Xlib

我正在编写一些代码,我需要从GTK下载到Xlib.具体来说,我想将顶层窗口的图标设置为窗口本身,而不是像素图,以便编写GTK Window Maker dockapp. 我让它在C中工作如下: gdkDockapp = gtk_widget_get_window(dockapp); xDockapp = GDK_WINDOW_XID(gdkDockapp); gdkDisplay = gdk_windo

使用xlib检测正在运行的屏幕保护程序

我正试图检测屏幕保护程序是否正在运行. 这是我到目前为止的代码: /* LDFLAGS='-L/usr/X11R6/lib/ -lX11 -lXext -lXss' make xidle */ #include <stdio.h> #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/extensions/scrnsaver.h> int main(int argc, c

c – 以不同频率发出声音

X11中是否有一个功能或内置于Linux中可以产生不同频率的Beep声音? 有些功能类似于Windows中的Beep(dwFreq,dwDuration)功能,其参数允许以赫兹为单位指定频率,以及以毫秒为单位的持续时间.解决方法:尝试使用扬声器测试(1). 它通常可以在alsa-utils包中找到. 示例(生成正弦波,440 Hz):

Python:Xlib – 如何提升(顶到)窗口?

我尝试过使用: win.configure(stack_mode=X.TopIf) win.set_input_focus(X.RevertToParent, X.CurrentTime) 然而,即使我的窗口管理器没有任何焦点丢失防止这不起作用,有没有人知道另一种方法来做到这一点? Xlib与否.解决方法:有一个名为wmctrl的命令行工具,它允许您与EWMH /

linux – 如何使用x资源删除x窗口程序中窗口小部件的边框?

我想改变gv的GUI的丑陋默认看法.我使用editres来获取gv的x资源树,并尝试使用以下设置删除按钮的边框: GV.control.MButton.borderWidth: 0 GV.control.MButton.borderColor: white 它们都不起作用.后来我发现相关的资源可能是: GV.control.MButton.unsetFrameStyle: sunken/raised

linux – 如何使用Xlib恢复窗口?

我已经设法使用XIconifyWindow对一个窗口进行图标化,但是之前没有设法恢复它.我尝试了以下方法: XMapRaised (display, window); 和: XMapWindow (display, window); 和: XClientMessageEvent ev; std::memset (&ev, 0, sizeof ev); ev.type = ClientMessage; ev.window = window

c – X11鼠标移动事件

在XLib中创建窗口时 >我为SetWindowAttributes.event_mask成员提供了哪些掩码? >我需要传递给XCreateWindow的第11个参数()>我在主消息循环中寻找的事件是什么(我在哪里使用XNextEvent(lDisplay,& xEvent);?>由于X的行为与Microsoft的Win32 API不同,如何确定鼠标是在我的“应用程序