更新

更新

我在用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

相关内容