
我在用Debian - 杰西我设法通过编辑适当的主题 .xml 文件来更改默认窗口边框厚度。在这种情况下:
/usr/share/themes/BlueMenta/metacity-1/metacity-theme-1.xml
我将如何为所有主题执行此操作? (我必须在多台机器上更改此设置,并且它们都使用不同/自定义主题)。
另一种选择是尝试找出正在使用的主题,并使用该信息对适当的文件进行更改,但是:
gsettings get org.gnome.desktop.interface gtk-theme
即使未使用,也始终显示“Adwaita”。
/usr/share/themes/Default
无论使用什么主题,我都可以利用某种方式在全球范围内改变这一点吗?
非常感谢!
更新
实际上,这显示了实时使用的正确主题:
gsettings get org.mate.interface gtk-theme
这至少缩小了范围,这样我就可以只修改正确的文件。
更新2
我最终编写了一个脚本,该脚本将替换某个用户正在使用的主题的配置文件中的 left/right_width 和 Bottom_height 参数。
用法:以用户名作为参数运行脚本。
#!/bin/bash
if [[ -z $1 ]]; then
echo 'No params provided' && exit 1 ; fi
themeRootDir=/usr/share/themes/
backupDir=/opt/theme_backup$(date +%d-%m-%H%M%S)
themeUsed=$(sudo su -c "gsettings get org.mate.interface gtk-theme | tr -d '\'\'" $1)
if ! [[ -d $backupDir ]]; then
mkdir $backupDir ; fi
if ! [[ -z themeUsed ]]; then
rsync -av $themeRootDir$themeUsed $backupDir;
echo "Theme configuration backup: $backupDir"; else
echo 'Theme could not be located' && exit 1 ; fi
for xml in $(find $themeRootDir$themeUsed -name 'metacity*.xml'); do
sed -i '/distance name="left_width"/c<distance name="left_width" value="10"/>' $xml
sed -i '/distance name="right_width"/c<distance name="right_width" value="10"/>' $xml
sed -i '/distance name="bottom_height"/c<distance name="bottom_height" value="10"/>' $xml
done