Dark theme for Perforce P4V Helix on Linux?
P4V added a dark theme option in version 2019.2. You can activate it in the display settings (requires restart): Edit / Preferences / Display / Application / Application color scheme
Another dark style:
LightweightTextView
{
background-color: /*#ffffff*/ #222222;
color: #cccccc;
}
/*
Modal lists can't figure out focus well
but we can hardcode them safely
*/
DefinitionTree::branch:selected {
background-color: /*#0088CC*/ #006600;
}
DefinitionTree::branch:selected:hover {
background-color: /*#0085C7*/ #008800;
}
DefinitionTree::item:selected {
background-color: /*#0088CC*/ #006600;
}
DefinitionTree::item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
TFilterView::branch:selected {
background-color: /*#0088CC*/ #006600;
}
TFilterView::branch:selected:hover {
background-color: /*#0085C7*/ #008800;
}
TFilterView::item:selected {
background-color: /*#0088CC*/ #006600;
}
TFilterView::item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
UIPreferencesDialog QTreeWidget::branch:selected {
background-color: /*#0088CC*/ #006600;
}
UIPreferencesDialog QTreeWidget::branch:selected:hover {
background-color: /*#0085C7*/ #008800;
}
UIPreferencesDialog QTreeWidget::item:selected {
background-color: /*#0088CC*/ #006600;
}
UIPreferencesDialog QTreeWidget::item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QTreeView::branch:selected {
background-color: /*#0088CC*/ #006600;
}
QTreeView::branch:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QTreeView::item:selected {
background-color: /*#0088CC*/ #006600;
}
QTreeView::item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QTableWidget::item:selected {
background-color: /*#0088CC*/ #006600;
}
QTableWidget:item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
ConnectionPane::item:selected {
background-color: /*#0088CC*/ #006600;
}
ConnectionPane:item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QAbstractItemView {
background-color: /*#ffffff*/ #222222;
color: /*#000000*/ #cccccc;
}
QAbstractItemView[hasFocus="false"]::item:selected {
background-color: #AAAAAA;
}
QAbstractItemView[hasFocus="false"]::item:selected:hover {
background-color: #999999;
}
QAbstractItemView[hasFocus="true"]::item:selected {
background-color: /*#0088CC*/ #006600;
}
QAbstractItemView[hasFocus="true"]::item:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QAbstractItemView[hasFocus="false"]::branch:selected {
background-color: #AAAAAA;
}
QAbstractItemView[hasFocus="false"]::branch:selected:hover {
background-color: #999999;
}
QAbstractItemView[hasFocus="true"]::branch:selected {
background-color: /*#0088CC*/ #006600;
}
QAbstractItemView[hasFocus="true"]::branch:selected:hover {
background-color: /*#0085C7*/ #008800;
}
QAbstractItemView::item:hover {
background: /*#F8F8F8*/ #666666;
}
QAbstractItemView::branch:hover {
background: /*#F8F8F8*/ #666666;
}
QAbstractItemView::branch:has-children:!has-siblings:closed,
QAbstractItemView::branch:closed:has-children:has-siblings {
border-image: none;
image: url(:/directory_collapsed.png);
}
QAbstractItemView::branch:open:has-children:!has-siblings,
QAbstractItemView::branch:open:has-children:has-siblings {
border-image: none;
image: url(:/directory_expanded.png);
}
QRadioButton {
color: /*#000000*/ #cccccc;
}
QCheckBox {
color: /*#000000*/ #cccccc;
}
/*
QCheckBox::indicator:unchecked {
background-color: #222222;
}
QCheckBox::indicator:checked {
background-color: #cccccc;
}
*/
QComboBox
{
selection-background-color: #5091bc;
background-color: /*#ffffff*/ #222222;
}
QComboBox:hover
{
background-color: /*#ffffff*/ #222222;
}
QComboBox:on
{
background-color: #777777;
selection-background-color: #777777;
}
QComboBox QAbstractItemView
{
background-color: /*#ffffff*/ #222222;
}
QHeaderView::section {
background-color: /*#e2edf5*/ #336633;
color: /*#5e707d*/ #cccccc;
padding: 0.125em;
border-top: 0em;
border-bottom: 0em;
border-left: 0em;
border-right: 0.062em solid #c2cfd8;
/* font-size: 11px; */
}
QLineEdit {
selection-background-color: #9ABFD9;
background-color: /*#ffffff*/ #222222;
color: /*#000000*/ #cccccc;
}
MostRecentCombo {
color: /*#000000*/ #cccccc;
}
QComboBox {
color: /*#000000*/ #cccccc;
}
QLineEdit[readOnly="true"]
{
color: /*#000000*/ #cccccc;
background: transparent;
}
QMainWindow {
background-color: #222222;
color: #cccccc;
}
QMainWindow::separator {
width: 0.062em;
height: 0.062em;
}
QMenuBar {
background-color: /*#f0f0f0*/ #202020;
selection-background-color: /*#9ABFD9*/ #606060;
color: /*#000000*/ #cccccc;
}
QMenu {
background-color: /*#ffffff*/ #202020; /* sets background of the menu */
border: 0.062em solid /*#999999*/ #666666;
padding-top: 0.31em;
}
QMenu::item {
/* sets background of menu item. set this to something non-transparent
if you want menu color and menu item color to be different */
background-color: transparent;
color: #cccccc;
}
QMenu::item:selected {
color: #ffffff;
background-color: /*#5091bc*/ #666666;
}
QMenu::item:disabled {
color: #666666;
}
QProgressBar
{
border: 0.062em solid #dddddd;
border-radius: 0em;
text-align: center;
}
QProgressBar::chunk {
background-color: #0088cc;
width: 0.62em;
margin: 0.062em;
}
QPushButton {
background-color: /*#f0f0f0*/ #444444;
color: /*black*/ #cccccc;
}
QPushButton:disabled {
color: #888888;
}
QScrollBar:horizontal {
border-top: 0.062em solid /*#dddddd*/ #000000;
background-color: /*#eeeeee*/ #444444;
height: 0.75em;
margin: 0em 0.75em 0 0.75em;
}
QScrollBar::handle:horizontal
{
background-color: /*#cccccc*/ #aaaaaa;
min-height: 1.1em;
}
QScrollBar::add-line:horizontal {
border-top: 0.062em solid /*#dddddd*/ #000000;
border-radius: 0em;
background-color: /*#eeeeee*/ #444444;
width: 0.75em;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal {
border-top: 0.062em solid /*#dddddd*/ #000000;
border-radius: 0px;
background-color: /*#eeeeee*/ #444444;
width: 0.75em;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::left-arrow
{
height: 0.75em;
width: 0.75em;
image: url(:/scroll_left_arrow.png);
}
QScrollBar::right-arrow
{
height: 0.75em;
width: 0.75em;
image: url(:/scroll_right_arrow.png);
}
QScrollBar:vertical
{
background-color: /*#eeeeee*/ #444444;
width: 0.75em;
margin: 0.75em 0 0.75em 0;
border-left: 0.062em solid /*#dddddd*/ #000000;
}
QScrollBar::handle:vertical
{
background-color: /*#cccccc*/ #aaaaaa;
min-height: 1.1em;
border-radius: 0em;
}
QScrollBar::add-line:vertical
{
border-left: 0.062em solid /*#dddddd*/ #000000;
border-radius: 0em;
background-color: /*#eeeeee*/ #444444;
height: 0.75em;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical
{
border-left: 0.062em solid /*#dddddd*/ #000000;
border-radius: 0em;
background-color: /*#eeeeee*/ #444444;
height: 0.75em;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::up-arrow
{
height: 0.75em;
width: 0.75em;
image: url(:/scroll_up_arrow.png);
}
QScrollBar::down-arrow
{
height: 0.75em;
width: 0.75em;
image: url(:/scroll_down_arrow.png);
}
QSplitter {
background-color: transparent;
width: 0.4em;
height: 0.4em;
}
/* Main horizontal above log pane only*/
QSplitter#centralSplitter::handle {
height: 0.4em;
width: 0.25em;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 /*#a7a7a7*/ #444444, stop: 0.17 /*#a7a7a7*/ #444444,
stop: 0.18 transparent, stop: 0.83 transparent,
stop: 0.84 /*#a7a7a7*/ #444444, stop: 1.0 /*#a7a7a7*/ #444444);
}
QSplitter::handle:horizontal {
height: 0.25em;
width: 0.25em;
background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
stop: 0 /*#a7a7a7*/ #444444, stop: 0.17 /*#a7a7a7*/ #444444,
stop: 0.18 transparent, stop: 1.0 transparent);
image: url(:/splitter_handle_horizontal.png);
}
QSplitter::handle:vertical {
height: 0.25em;
width: 0.25em;
background-color: transparent;
image: url(:/splitter_handle_vertical.png);
}
QSplitter#P4MergeSplitter::handle:vertical {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 /*#a7a7a7*/ #444444, stop: 0.17 /*#a7a7a7*/ #444444,
stop: 0.18 transparent, stop: 0.83 transparent,
stop: 0.84 /*#a7a7a7*/ #444444, stop: 1.0 /*#a7a7a7*/ #444444);
}
P4mSplitter {
width: 3.12em;
}
QSplitterHandle {
background-color: /*#f0f0f0*/ #000000;
}
QTabBar::tab {
color: /*#888888*/ #aaaaaa;
background-color: /*#ededed*/ #333333;
border-left: none;
border-right: 0.062em solid /*#dddddd*/ #666666;
border-bottom: 0.062em solid #555555;
min-width: 0.5em;
padding: 0.32em;
margin-bottom: 0.13em;
}
QTabBar::tab:hover {
color: /*#444444*/ #aaaaaa;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 /*#fdfdfd*/ #444444, stop: 0.89 /*#fdfdfd*/ #444444,
stop: 0.9 /*#a7a7a7*/ #666666, stop: 1.0 /*#a7a7a7*/ #666666);
margin-bottom: 0.13em;
}
QTabBar::tab:selected {
color: /*#444444*/ #cccccc;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 /*#fdfdfd*/ #555555, stop: 0.89 /*#fdfdfd*/ #555555,
stop: 0.9 /*#a7a7a7*/ #aaccaa, stop: 1.0 /*#a7a7a7*/ #aaccaa);
border-top-left-radius: 0em;
border-top-right-radius: 0em;
margin-bottom: 0.13em;
}
QTabBar::tab:!selected { /* make non-selected tabs look smaller */
margin-top: 0em;
}
QTabBar::tab:first:selected { /* the first selected tab has nothing to overlap with on the left */
margin-left: 0;
}
QTabBar::tab:last:selected { /* the last selected tab has nothing to overlap with on the right */
margin-right: 0;
}
QTabBar::tab:only-one { /* if there is only one tab, we don't want overlapping margins */
margin: 0;
}
QTabBar::close-button {
image: url(:/clear_icon.png);
margin-bottom: 0.25em;
}
QTabBar {
background-color: /*#f0f0f0*/ #333333;
}
QTabWidget::tab-bar {
background-color: /*#ededed*/ #222222;
left: 0em;
}
QTabWidget::pane {
border: 1px solid #666666;
}
QTextEdit[readOnly="true"]
{
color: /*#000000*/ #cccccc;
padding: 0em;
background-color: transparent;
border: 0.062em solid rgba(0,0,0,10);
}
QTextEdit[readOnly="false"]
{
color: /*#000000*/ #cccccc;
background-color: /*#ffffff*/ #222222;
}
QDialog {
background-color: /*#f0f0f0*/ #333333;
}
QToolBar {
background-color: /*#ededed*/ #333333;
padding: 0.25em;
}
QStackedWidget {
background-color: /*#f0f0f0*/ #333333;
}
QWidget#centralWidget {
background-color: /*#f0f0f0*/ #333333;
}
UISpecList {
background-color: /*#f0f0f0*/ #333333;
}
UIWorkspace2 QToolBar {
background-color: /*#ededed*/ #333333;
spacing: 0.94em;
s}
QToolBar#P4VToolBar::separator:horizontal {
height: 6.25em;
width: 0.125em;
background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
stop: 0 /*#d8d8d8*/ #666666, stop: 0.5 /*#d8d8d8*/#666666,
stop: 0.6 /*#ffffff*/ #444444, stop: 1.0 /*#ffffff*/ #444444);
}
QToolBar#P4VToolBar::separator:vertical {
height: 0.125em;
width: 6.25em;
color: #FFFFFF;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 /*#d8d8d8*/ #666666, stop: 0.5 /*#d8d8d8*/#666666,
stop: 0.6 /*#ffffff*/ #444444, stop: 1.0 /*#ffffff*/ #444444);
}
QToolBar#AddressBar {
background-color: /*#ededed*/ #333333;
}
QToolBar#P4VToolBar QToolButton {
color: /*#333333*/ #cccccc;
/* font-size: 10px;*/
}
QScrollArea#filterScrollArea QWidget#filterScrollWidget {
background-color: /*#f0f0f0*/ #333333;
}
QScrollArea#filterScrollArea QToolButton {
background-color: /*#f0f0f0*/ #333333;
}
UIFilterWidget {
background-color: /*#f0f0f0*/ #333333;
}
WorkspaceStatusBar {
background-color: /*#f0f0f0*/ #333333;
color: /*#000000*/ #cccccc;
}
QFrame#ExtendedTabWidget-mCornerWidget {
background-color: /*#f0f0f0*/ #333333;
}
UIWorkspaceWidget {
background-color: /*#f0f0f0*/ #333333;
}
QFrame {
background-color: #333333;
color: #cccccc;
border-color: #000000;
}
QGroupBox {
color: #aaaaaa;
}
QToolBar#P4VToolBar QToolButton:hover {
background-color: /*#ededed*/ #333333;
color: /*#333333*/ #cccccc;
}
QToolBar#P4VToolBar QToolButton:disabled {
color: /*#cccccc*/ #666666;
}
QToolTip {
border: 0.062em solid /*#e5d36c*/ #000000;
background-color: /*#fdfdc9*/ #666666;
color: /*#000000*/ #eeeeee;
border-radius: 0em;
opacity: 250;
/* font-size: 11px;*/
}
QWidget#UIChangeWindow_QWidget {
background-color: /*#fafafa*/ #3a3a3a;
}
QWidget#InnerWidget_for_QScrollArea {
background-color: transparent;
}
RevDetails {
background-color: /*#ededed*/ #222222;
}
RevDetails QLabel {
color: #777777;
}
Gui--DirectoryTreeView {
background-color: /*#f1f4f9*/ #222222;
}
Gui--DirectoryTreeView::item:hover {
background-color: /*#E5E8ED*/ #666666;
}
Gui--DirectoryTreeView::branch:hover {
background-color: /*#E5E8ED*/ #666666;
}
UIBrowseUsersDialog {
background-color: /*#f0f0f0*/ #333333;
}
Gui--PasswordDialog {
background-color: /*#f0f0f0*/ #333333;
}
QDialogButtonBox {
background-color: transparent;
}
UISpecPicker {
background-color: /*#f0f0f0*/ #333333;
}
UIClearableComboBox QPushButton {
min-width:0em;
background-color:transparent;
}
UIConfigurationDialog {
background-color: /*#f0f0f0*/ #333333;
color: /*#888888*/ #cccccc;
}
UITabTitleWidget QStackedWidget#qt_tabwidget_stackedwidget {
background-color: /*#f1f4f9*/ #333333;
}
QStatusBar {
max-height: 1.3em;
}
Gui--FormWidget {
background-color: transparent;
}
UISpecWindow {
background-color: /*#fafafa*/ #222222;
}
UISpecWindow QLabel {
color: /*#666666*/ #aaaaaa;
}
QLabel {
color: /*#000000*/ #cccccc;
}