当输入进入未激活的选项卡时,选项卡的文本将变为紫色。我需要使用什么 CSS 选择器来更改此设置?
我在 Konsole 中使用自定义样式表来更改选项卡的外观,但不知道如何更改此值。 此页面没有提及它。
我在 Xubuntu 14.04(XFCE) 上使用 Konsole 2.13.2(KDE 4.13.3)。
截至今天,此选项卡活动颜色似乎是由
设置的void TabbedViewContainer::setTabActivity(int index , bool activity)
{
const QPalette& palette = _tabBar->palette();
KColorScheme colorScheme(palette.currentColorGroup());
const QColor colorSchemeActive = colorScheme.foreground(KColorScheme::ActiveText).color();
const QColor normalColor = palette.text().color();
const QColor activityColor = KColorUtils::mix(normalColor, colorSchemeActive);
QColor color = activity ? activityColor : QColor();
if (color != _tabBar->tabTextColor(index))
_tabBar->setTabTextColor(index, color);
}
src/ViewContainer.cpp
中,因此可能超出了 Konsole 中配置的自定义样式表的范围。
注意
KColorScheme::ActiveText
如何与normalColor
混合。 您可以通过更改 KDE 系统设置 -> 颜色 -> 颜色选项卡 -> 活动文本中的“活动文本”颜色来对颜色产生一些影响。 Konsole 必须重新启动才能使更改生效。
要突出显示焦点选项卡,可以克隆 konsole repo 并在其中添加一些代码。
src/widgets/TerminalHeaderBar.h,
class TerminalHeaderBar
定义:
private:
QPalette m_palette = QPalette();
src/widgets/TerminalHeaderBar.cpp,
TerminalHeaderBar::paintEvent()
实现:
void TerminalHeaderBar::paintEvent(QPaintEvent *paintEvent)
{
if (m_terminalIsFocused) {
m_palette.setColor(QPalette::WindowText, QColor(200, 200, 50));
m_palette.setColor(QPalette::Window, QColor(50, 50, 0));
} else {
m_palette.setColor(QPalette::WindowText, QColor(200, 200, 200));
m_palette.setColor(QPalette::Window, QColor(46, 48, 43));
}
setPalette(m_palette);