Files
obs-studio/frontend/data/themes/System.obt
2026-01-14 13:47:30 -05:00

487 lines
10 KiB
Plaintext

/* Intentionally left blank */
/* Themes are created using Qt CSS, you can visit */
/* http://doc.qt.io/qt-5/stylesheet-reference.html and */
/* http://doc.qt.io/qt-5/stylesheet-examples.html for examples. */
/* OBS will use the theme filename for the settings. */
/* You can ship images using relative paths in qss. */
/* Dark Theme is a good place to start if you need */
/* a template. */
@OBSThemeMeta {
name: 'System';
id: 'com.obsproject.System';
author: 'Warchamp7';
}
.bg-base {
background-color: #DCD9D7;
}
.text-heading {
font-size: 36px;
font-weight: bold;
}
.text-large {
font-size: 16px;
}
.text-bright {
color: var(--primary_light);
}
/* We need to set back the icons, or the preview wont stick. */
.icon-plus {
qproperty-icon: url(:/res/images/plus.svg);
}
.icon-minus {
qproperty-icon: url(:/res/images/minus.svg);
}
.icon-trash {
qproperty-icon: url(:/res/images/trash.svg);
}
.icon-clear {
qproperty-icon: url(:/res/images/entry-clear.svg);
}
.icon-gear {
qproperty-icon: url(:/res/images/settings/general.svg);
}
.icon-dots-vert {
qproperty-icon: url(:/res/images/dots-vert.svg);
}
.icon-refresh {
qproperty-icon: url(:/res/images/refresh.svg);
}
.icon-cogs {
qproperty-icon: url(:/res/images/cogs.svg);
}
.icon-touch {
qproperty-icon: url(:/res/images/interact.svg);
}
.icon-up {
qproperty-icon: url(:/res/images/up.svg);
}
.icon-down {
qproperty-icon: url(:/res/images/down.svg);
}
.icon-filter {
qproperty-icon: url(:/res/images/filter.svg);
}
.icon-revert {
qproperty-icon: url(:res/images/revert.svg);
}
.indicator-mute {
outline: none;
}
.indicator-mute::indicator:checked {
image: url(:/res/images/mute.svg);
}
.indicator-mute::indicator:indeterminate {
image: url(:/res/images/unassigned.svg);
}
.indicator-mute::indicator:unchecked {
image: url(:/settings/images/settings/audio.svg);
}
.indicator-expand {
background: transparent;
outline: none;
}
.indicator-expand::indicator {
width: 10px;
height: 10px;
}
.indicator-expand::indicator:checked {
image: url(:/res/images/expand.svg);
}
.indicator-expand::indicator:unchecked {
image: url(:/res/images/collapse.svg);
}
/* Volume Control */
VolumeMeter {
qproperty-backgroundNominalColor: rgb(15, 100, 15);
qproperty-backgroundWarningColor: rgb(100, 100, 15);
qproperty-backgroundErrorColor: rgb(100, 15, 15);
qproperty-foregroundNominalColor: rgb(50, 200, 50);
qproperty-foregroundWarningColor: rgb(255, 200, 50);
qproperty-foregroundErrorColor: rgb(200, 50, 50);
qproperty-magnitudeColor: rgb(0, 0, 0);
qproperty-majorTickColor: rgb(0, 0, 0);
qproperty-minorTickColor: rgb(50, 50, 50);
qproperty-meterThickness: 3;
/* The meter scale numbers normally use your QWidget font, with size */
/* multiplied by meterFontScaling to get a proportionally smaller font. */
/* To use a unique font for the numbers, specify font-family and/or */
/* font-size here, and set meterFontScaling to 1.0. */
qproperty-meterFontScaling: 0.7;
}
/* Label warning/error */
.text-warning {
color: rgb(192, 128, 0);
}
.text-danger {
color: rgb(192, 0, 0);
}
.text-success {
color: rgb(0, 128, 0);
}
/* macOS Separator Fix */
QMainWindow::separator {
background: transparent;
width: 4px;
height: 4px;
}
/* Preview background color */
OBSQTDisplay {
qproperty-displayBackgroundColor: rgb(76, 76, 76);
}
/* Preview/Program labels */
.label-preview-title {
font-size: 18px;
font-weight: bold;
color: rgb(122,121,122);
}
/* Settings Icons */
OBSBasicSettings {
qproperty-generalIcon: url(:settings/images/settings/general.svg);
qproperty-appearanceIcon: url(:settings/images/settings/appearance.svg);
qproperty-streamIcon: url(:settings/images/settings/stream.svg);
qproperty-outputIcon: url(:settings/images/settings/output.svg);
qproperty-audioIcon: url(:settings/images/settings/audio.svg);
qproperty-videoIcon: url(:settings/images/settings/video.svg);
qproperty-hotkeysIcon: url(:settings/images/settings/hotkeys.svg);
qproperty-accessibilityIcon: url(:settings/images/settings/accessibility.svg);
qproperty-advancedIcon: url(:settings/images/settings/advanced.svg);
}
OBSBasicSettings QListWidget::item {
padding-top: 5px;
padding-bottom: 5px;
}
.checkbox-icon {
outline: none;
background: transparent;
}
/* Locked CheckBox */
.indicator-lock::indicator:checked {
image: url(:res/images/locked.svg);
}
.indicator-lock::indicator:unchecked {
image: url(:res/images/unlocked.svg);
}
/* Visibility CheckBox */
.indicator-visibility::indicator:checked {
image: url(:res/images/visible.svg);
}
.indicator-visibility::indicator:unchecked {
image: url(:res/images/invisible.svg);
}
OBSMissingFiles {
qproperty-warningIcon: url(:res/images/alert.svg);
}
/* Source Icons */
OBSBasic {
qproperty-imageIcon: url(:res/images/sources/image.svg);
qproperty-colorIcon: url(:res/images/sources/brush.svg);
qproperty-slideshowIcon: url(:res/images/sources/slideshow.svg);
qproperty-audioInputIcon: url(:res/images/sources/microphone.svg);
qproperty-audioOutputIcon: url(:settings/images/settings/audio.svg);
qproperty-desktopCapIcon: url(:settings/images/settings/video.svg);
qproperty-windowCapIcon: url(:res/images/sources/window.svg);
qproperty-gameCapIcon: url(:res/images/sources/gamepad.svg);
qproperty-cameraIcon: url(:res/images/sources/camera.svg);
qproperty-textIcon: url(:res/images/sources/text.svg);
qproperty-mediaIcon: url(:res/images/sources/media.svg);
qproperty-browserIcon: url(:res/images/sources/globe.svg);
qproperty-groupIcon: url(:res/images/sources/group.svg);
qproperty-sceneIcon: url(:res/images/sources/scene.svg);
qproperty-defaultIcon: url(:res/images/sources/default.svg);
qproperty-audioProcessOutputIcon: url(:res/images/sources/windowaudio.svg);
}
/* Scene Tree */
SceneTree {
qproperty-gridItemWidth: 150;
qproperty-gridItemHeight: 24;
}
/* Save icon */
.icon-save {
qproperty-icon: url(:res/images/save.svg);
}
/* Studio Mode T-Bar */
.slider-tbar {
height: 24px;
}
.slider-tbar::groove:horizontal {
border: 1px solid #4c4c4c;
height: 5px;
background: #DCD9D7;
}
.slider-tbar::sub-page:horizontal {
background: #DCD9D7;
border: 1px solid #4c4c4c;
}
.slider-tbar::handle:horizontal {
background-color: #4c4c4c;
width: 12px;
height: 24px;
margin: -24px 0px;
}
/* Source Context */
#contextContainer QPushButton {
padding: 3px 10px;
}
#contextContainer QPushButton#sourcePropertiesButton {
qproperty-icon: url(:/settings/images/settings/general.svg);
}
#contextContainer QPushButton#sourceFiltersButton {
qproperty-icon: url(:/res/images/filter.svg);
}
#contextContainer QPushButton#sourceInteractButton {
qproperty-icon: url(:/res/images/interact.svg);
}
/* Media icons */
.icon-media-play {
qproperty-icon: url(:res/images/media/media_play.svg);
}
.icon-media-pause {
qproperty-icon: url(:res/images/media/media_pause.svg);
}
.icon-media-restart {
qproperty-icon: url(:res/images/media/media_restart.svg);
}
.icon-media-stop {
qproperty-icon: url(:res/images/media/media_stop.svg);
}
.icon-media-next {
qproperty-icon: url(:res/images/media/media_next.svg);
}
.icon-media-prev {
qproperty-icon: url(:res/images/media/media_previous.svg);
}
/* YouTube Integration */
OBSYoutubeActions {
qproperty-thumbPlaceholder: url(:res/images/sources/image.svg);
}
#ytEventList QLabel {
background-color: #e1e1e1;
border: 1px solid #ddd;
}
#ytEventList QLabel:hover {
background-color: #eee;
border: 1px solid #777;
}
#ytEventList .row-selected {
background-color: #ccc;
border: 1px solid #444;
}
/* Calendar Widget */
QCalendarWidget QToolButton {
padding: 0px 12px;
}
#qt_calendar_monthbutton::menu-indicator {
image: url(:/res/images/down.svg);
subcontrol-position: right;
padding-top: 2px;
padding-right: 2px;
height: 8px;
width: 8px;
}
#qt_calendar_monthbutton::menu-indicator:hover {
image: url(:/res/images/down.svg);
color: red;
}
QCalendarWidget #qt_calendar_prevmonth {
padding: 2px;
qproperty-icon: url(:/res/images/left.svg);
icon-size: 16px;
}
QCalendarWidget #qt_calendar_nextmonth {
padding: 2px;
qproperty-icon: url(:/res/images/right.svg);
icon-size: 16px;
}
/* Status Bar */
StatusBarWidget > QFrame {
padding: 0px 12px 8px;
}
idian--ToggleSwitch {
qproperty-handle: rgb(255, 255, 255);
qproperty-backgroundActive: #284cb8;
qproperty-backgroundInactive: #3c404b;
}
idian--Group {
border-radius: 4px;
font-weight: bold;
}
idian--Group > QLabel.title {
font-weight: bold;
}
idian--Group > QLabel.subtitle {
color: palette(button-text);
}
idian--PropertiesList {
background: palette(base);
border-radius: 4px;
border-width: 0px;
padding: 0px;
margin: 0px;
}
idian--GenericRow {
margin: 0;
padding: 0;
border-left: 3px solid transparent;
min-height: 48px;
background: transparent;
}
idian--GenericRow:hover {
background: palette(highlight);
border-left: 0;
}
idian--GenericRow[last="true"]:hover {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
idian--GenericRow[first="true"]:hover {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
idian--GenericRow > QLabel {
font-weight: 500;
}
idian--GenericRow > QLabel.subtitle {
font-size: 9pt;
color: palette(button-text);
}
idian--GenericRow QComboBox,
idian--GenericRow QPushButton {
margin: 0;
}
idian--GenericRow QComboBox,
idian--GenericRow QComboBox:hover,
idian--GenericRow QComboBox:selected,
idian--GenericRow QComboBox::on {
background: transparent;
}
idian--GenericRow QComboBox::drop-down {
border: none;
}
idian--GenericRow QComboBox::down-arrow {
image: url(./Light/collapse.svg);
}
idian--PropertiesListSpacer {
max-height: 1px;
min-height: 1px;
background-color: palette(midlight);
}
idian--CollapsibleRow {
margin: 0;
padding: 0;
border: none;
}
idian--CollapsibleRow idian--PropertiesList {
border-radius: 0;
background: palette(mid);
}
IdianPlayground QVBoxLayout {
background: palette(midlight);
border-radius: 4px;
padding-top: 32px;
padding-bottom: 8px;
font-weight: bold;
margin-bottom: 6px;
}