我决定尝试通过从其中删除背景图像来让我的生活变得更加美丽弗利克每 30 分钟更改一次,并带有透明的终端和编辑器窗口。
然而,这有一些缺点。有时图像太明显并且妨碍编辑,所以我想调整透明度。
因此,我想要一种快速的方法来更改编辑器(emacs:完成)和终端(mate-terminal,未完成)中的透明度。
这似乎是可能的gnome 终端(在 Ubuntu 中使用命令更改 gnome 终端透明度?)。我的理解是 mate-terminal 是从 gnome-terminal 分叉出来的。
“您可以使用 gconftool 和 /apps/gnome-terminal/profiles/Default/background_type 键(您可能必须使用与“Default”不同的配置文件名称):“
但我似乎无法找到更改背景时更改的任何设置。
meld <( { gconftool -R / | sort ; gsettings list-schemas | xargs -n 1 gsettings list-recursively | sort } ) <( { sleep 20 ; gconftool -R / | sort ; gsettings list-schemas | xargs -n 1 gsettings list-recursively | sort } )
源代码
我尝试阅读一些排序代码。这看起来是一个很好的起点:https://github.com/mate-desktop/mate-terminal/blob/078d0b1fdac2e50dfa4411b612e78a4be134e47d/src/terminal-screen.c#L1111
配置文件看起来像这样找到profile = g_value_get_object (value);
这个函数调用的参考手册可以找到这里但是GValue 的文档看起来有点不透明。
无论如何,是的,有人知道足够的知识来得到这个问题的答案吗?
可能的攻击路线
- 使用BTFS快照以准确发现发生了什么变化
- 使用 *strace * 来弄清楚发生了什么(strace 输出有点吵,因为这是一个 X 应用程序)
- 读码模式
备择方案
- 切换到 gnome 终端。我不愿意这样做,因为有些事情不太可能改变。我的理解是,MATE 被分叉是因为 gnome 变化太快,所以这似乎是一个不错的选择。
- 切换到另一个终端。我对此不持开放态度。但真的不知道该切换到哪个终端
- 智能渲染背景以确保它们正确着色
- 有修改的键绑定背景而不是终端
答案1
mate-terminal
将其设置存储在 中dconf
,每个终端设置配置文件单独设置。因此,如果您有默认配置文件,那么它将是:
$ dconf read /org/mate/terminal/profiles/default/background-type
'solid'
$ dconf read /org/mate/terminal/profiles/default/background-darkness
0.5
第一个设置为背景类型 -solid
或transparent
,第二个设置为透明度级别。
要以编程方式更改透明度设置,您有 2 个选项:
使用单一配置文件并通过 dconf 更改其设置:
$ dconf write /org/mate/terminal/profiles/default/background-type "'transparent'" $ dconf write /org/mate/terminal/profiles/default/background-type "'solid'"
创建 2 个具有不同设置的配置文件,并在启动终端时选择一个:
$ mate-terminal --load-config=FILE