lchhzdz 2019-08-24 22:21 采纳率: 0%
浏览 119

x11 xlib 怎么获取书签 及收藏栏的宽度

linux ubuntu下想用x11 xlib获取 chrome书签 及收藏栏的宽度
XGetWindowAttributes(display, window, &attrs);
获取的是窗口整个宽度,不能细化大标题栏和收藏栏及书签宽度,不知道如何获取

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-31 16:48
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要获取Chrome浏览器中收藏夹(bookmarks)和书签(bookmarks)的宽度,你需要使用XLib库。以下是一个简单的示例,展示了如何通过XGetWindowAttributes函数获取窗口属性,包括书签和收藏栏的宽度。

    首先,确保你的环境已安装了必要的依赖项,例如X11和Xlib库。

    #include <X11/Xlib.h>
    
    int main() {
        // 创建一个显示实例
        Display* display = XOpenDisplay(NULL);
        
        // 获取当前活动窗口
        Window active_window = DefaultRootWindow(display);
        
        // 获取窗口属性
        WindowAttributes attrs;
        XGetWindowAttributes(display, active_window, &attrs);
        
        // 计算书签和收藏栏的宽度
        int bookmarks_width = attrs.width - attrs.x;
        int bookmarks_height = attrs.height - attrs.y;
        
        // 释放资源
        XCloseDisplay(display);
        
        return 0;
    }
    

    在这个例子中,我们首先创建了一个显示实例,并尝试获取当前活动窗口。然后,我们使用XGetWindowAttributes函数获取窗口的属性,特别是widthheight属性。这些值表示窗口的实际尺寸,包括书签和收藏栏的空间。最后,我们将这两个值相减以得到书签和收藏栏的宽度。

    注意:这个方法只能用于Linux系统下的X11环境。如果你在Windows或macOS上运行,你可能需要使用其他的方法来获取这些信息。

    评论

报告相同问题?