如何通过CSS修改非活动窗口标题栏按钮的颜色?
如何通过CSS修改非活动窗口标题栏按钮的颜色?
嗨,我来帮你搞定这个问题!其实GTK CSS里专门有针对非活动窗口的状态选择器——window.inactive,你只需要把这个选择器和你的标题按钮规则结合起来,就能单独给非活动窗口的按钮设置样式了。
你原来的代码已经搞定了活动窗口的按钮样式,现在只需要给非活动窗口的按钮补充对应的规则就行。下面是修改后的完整代码,我给你标注了每个部分的作用:
/* 所有窗口的标题按钮基础样式 */ button.titlebutton { min-height: 16px; min-width: 16px; padding: 0; color: transparent; } /* --- 活动窗口的按钮样式(保留你原来的设置) --- */ button.titlebutton.close { background-color: @error_color; margin-left: 10px; } button.titlebutton.close:hover { background-color: red; color: black; } button.titlebutton.maximize { background-color: green; } button.titlebutton.maximize:hover { background-color: mediumseagreen; color: black; } button.titlebutton.minimize { background-color: @warning_color; } button.titlebutton.minimize:hover { background-color: #e8e337; color: black; } /* --- 非活动窗口的按钮样式(新增部分) --- */ /* 可选:统一调整非活动窗口按钮的基础属性,比如透明度 */ window.inactive button.titlebutton { opacity: 0.8; } /* 非活动窗口的关闭按钮 */ window.inactive button.titlebutton.close { background-color: darkred; /* 替换成你想要的非活动状态颜色 */ } window.inactive button.titlebutton.close:hover { background-color: crimson; /* 非活动窗口下hover的颜色 */ color: white; } /* 非活动窗口的最大化按钮 */ window.inactive button.titlebutton.maximize { background-color: darkgreen; } window.inactive button.titlebutton.maximize:hover { background-color: seagreen; color: white; } /* 非活动窗口的最小化按钮 */ window.inactive button.titlebutton.minimize { background-color: goldenrod; } window.inactive button.titlebutton.minimize:hover { background-color: gold; color: white; }
核心逻辑就是用window.inactive作为父选择器,后面跟你原来的按钮选择器,这样规则就只会作用在非活动窗口的按钮上。你可以完全按照自己的喜好修改每个按钮在非活动状态下的颜色、透明度等属性。
修改完成后,记得保存~/.config/gtk-3.0/gtk.css文件,然后注销重新登录或者重启你要测试的应用,新的CSS规则才能生效哦。
备注:内容来源于stack exchange,提问作者dEEpZoneD
相关产品推荐
相关产品推荐

