最近想自己写个gnome-shell扩展找到了下面两个教程
GNOME 3.0 and 3.1 Shell Extensions
More GNOME Shell Customization
这是两篇2011年的 gnome3.0 和 3.1 的教程,相信很多开发 gnome-shell 扩展的朋友也看见过这两篇教程吧,我现在用的是3.18,我想差不了太多的,毕竟都是 gnome 3,我便照着这两个教程开发,没想到这就是我开发 gnome-shell 扩展噩梦的开始。。。。。
为什么我的扩展就运行不起来呢,只好又在 github 上看了好多扩展的代码,终于发现了
main( ) 函数不再是程序入口了!!!
main( ) 函数不再是程序入口了!!!
main( ) 函数不再是程序入口了!!!
于是只能按照模板提供的方式开发扩展,上面的教程的代码根本运行不起来,求我心理阴影面积。。。
好了,吐槽完了开始正式讲讲 gnome 现在开发的基本结构,其实变化也没用太大只是把以前的 main( ) 拆成了三个函数分别是 init( ),enable( ),disable( ),上面两篇教程还是很值得学习的,只要会 JavaScript 和 GObject 五分钟就能学会开发 gnome-shell 扩展
另外我的/usr/share/gnome-shell/里为什么死活找不到./js/ui这个文件夹呀,连./js都没有。。。。如果你也找不到请移步这里,找各个组件的名字属性什么的就全靠它了
首先创建一个 gnome-shell-extension 模板,输入如下命令
# gnome-shell-extension-tool -c
就会在$HOME/.local/share/gnome-shell/extensions下创建一个模板扩展,里面有三个文件
- extension.js 这是 gnome-shell 扩展最核心的代码,init( ),enable( ),disable( ) 三个函数就在这里面
- stylesheet.css 这时扩展中所使用的 css 样式
- metadata.json 这是扩展的元信息
先上 extension.js 的代码
const St = imports.gi.St;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
let text, button;
function _hideHello() {
Main.uiGroup.remove_actor(text);
text = null;
}
function _showHello

本文分享了作者在开发GNOME Shell扩展时遇到的问题及解决过程,包括主要函数的变化,从main()到init(), enable(), disable()。文章强调了JavaScript和GObject知识的重要性,并提供了调试扩展的困难与解决方法,帮助开发者避免常见陷阱,快速入门GNOME Shell扩展开发。"
118038051,10793182,Java开发者:我的阿里面试经验与资料分享,"['Java', '面试经验', '技术面试', '阿里集团', '数据库']
Hello,world!&spm=1001.2101.3001.5002&articleId=52529425&d=1&t=3&u=9163c83dde74467a89e61f421236fe33)
3504

被折叠的 条评论
为什么被折叠?



