首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GJS: global.window_manager.get_workspaces()未定义

GJS: global.window_manager.get_workspaces()未定义
EN

Stack Overflow用户
提问于 2018-10-03 17:47:56
回答 1查看 807关注 0票数 2

我的分机有这样的代码

for (let i = 0; i < screen.get_n_workspaces(); ++i) { let w = screen.get_workspace_by_index(i); //Do something }

因为gjs将c函数映射到javascript,所以meta_screen_get_n_workspaces变成了get_n_workspaces。但是,当我为meta_screen_get_workspaces尝试这个时

screen.get_workspaces().forEach(w => { //Do someting })

它说'get_workspaces不是一个函数‘。这里有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 00:04:25

很可能是依赖于最近在libmutter中更改的API。如果使用的是较早版本的libmutter或比更改日期更新的版本,则需要检查全局变量。

您可能可以从Gnome壳牌的差异中了解如何调整代码。

通常,工作空间现在由MetaWorkspaceManager处理,它在Gnome中可以作为global.workspace_manager使用,您可以在此调用get_n_workspaces()。libmutter中相关的上游文件是workspace_manager.h。在此之前,我相信它们是通过global.screen访问的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52632909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档