0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

UI: Convert themes to composable format

This commit is contained in:
Warchamp7 2024-04-06 01:17:42 +02:00
parent eea0e3d2cc
commit a3a8f6dbfb
15 changed files with 2873 additions and 8810 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#202020"><path d="m 1 1 v 14 h 14 v -14 z m 1 1 h 12 v 12 h -12 z m 0 0"/><path d="m 6 11 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -4 -1 h 3 v 10 h -3 z m 0 0"/><path d="m 8 3 h 1 v 10 h -1 z m 2 9 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m -1 7 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 0" fill-opacity="0.34902"/></g></svg>

After

Width:  |  Height:  |  Size: 761 B

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,10 @@
/* Dark Theme is a good place to start if you need */
/* a template. */
OBSThemeMeta {
dark: 'false';
@OBSThemeMeta {
name: 'System';
id: 'com.obsproject.System';
author: 'Warchamp7';
}
/* We need to set back the icons, or the preview wont stick. */
@ -211,31 +213,31 @@ OBSBasicSettings QListWidget::item {
/* Locked CheckBox */
QCheckBox[lockCheckBox=true] {
LockedCheckBox {
outline: none;
background: transparent;
}
QCheckBox[lockCheckBox=true]::indicator:checked {
LockedCheckBox::indicator:checked {
image: url(:res/images/locked.svg);
}
QCheckBox[lockCheckBox=true]::indicator:unchecked {
LockedCheckBox::indicator:unchecked {
image: url(:res/images/unlocked.svg);
}
/* Visibility CheckBox */
QCheckBox[visibilityCheckBox=true] {
VisibilityCheckBox {
outline: none;
background: transparent;
}
QCheckBox[visibilityCheckBox=true]::indicator:checked {
VisibilityCheckBox::indicator:checked {
image: url(:res/images/visible.svg);
}
QCheckBox[visibilityCheckBox=true]::indicator:unchecked {
VisibilityCheckBox::indicator:unchecked {
image: url(:res/images/invisible.svg);
}

1842
UI/data/themes/Yami.obt Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,232 @@
@OBSThemeMeta {
name: 'Acri';
id: 'com.obsproject.Yami.Acri';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'true';
}
@OBSThemeVars {
--grey1: rgb(97,97,97);
--grey2: rgb(87,87,87);
--grey3: rgb(61,61,63);
--grey4: rgb(22,36,88);
--grey5: rgb(40,40,42);
--grey6: rgb(24,24,25);
--grey7: rgb(16,16,16);
--grey8: rgb(9,9,9);
--primary: rgb(19,26,48);
--primary_light: rgb(42,58,117);
--primary_dark: rgb(22,31,65);
--border_color: var(--grey5);
--input_bg: var(--grey5);
--input_bg_hover: var(--grey7);
--input_bg_focus: var(--grey7);
--list_item_bg_selected: var(--primary);
--list_item_bg_hover: var(--primary_light);
--input_border: var(--grey1);
--input_border_hover: var(--grey1);
--input_border_focus: var(--primary);
--spacing_input: var(--spacing_base);
--button_bg: #162458;
--button_bg_hover: var(--primary_light);
--button_bg_down: var(--grey7);
--button_bg_disabled: var(--grey6);
--button_bg_red: rgb(88,22,36);
--button_bg_red_hover: rgb(116,32,49);
--button_bg_red_down: rgb(63,21,30);
--button_border: #162458;
--button_border_hover: var(--button_bg_hover);
--button_border_focus: var(--button_bg_hover);
--tab_bg: var(--input_bg);
--tab_bg_hover: var(--grey3);
--tab_bg_down: var(--grey7);
--tab_bg_disabled: var(--grey6);
--tab_border: var(--grey3);
--tab_border_hover: var(--grey1);
--tab_border_focus: var(--grey1);
--tab_border_selected: var(--primary_light);
--scrollbar: var(--grey5);
--scrollbar_hover: var(--primary_light);
--scrollbar_down: var(--grey5);
--scrollbar_border: var(--grey5);
--toolbutton_bg: var(--grey5);
--toolbutton_bg_hover: var(--primary_light);
--toolbutton_bg_down: var(--primary_dark);
}
QMenu::separator {
background-color: var(--grey5);
}
QDockWidget::title {
background-color: var(--grey6);
}
QDockWidget::close-button:hover,
QDockWidget::float-button:hover {
background: var(--grey3);
}
QScrollBar::handle:hover {
border-color: var(--scrollbar_hover);
}
QScrollBar::handle:pressed {
border-color: var(--scrollbar_down);
}
QToolButton,
QPushButton[toolButton="true"] {
background-color: var(--toolbutton_bg);
border-color: var(--toolbutton_bg);
}
QToolButton:hover,
QToolButton:focus {
border-color: var(--primary_light);
background-color: var(--primary_light);
}
QToolButton:pressed,
QToolButton:pressed:hover {
background-color: var(--toolbutton_bg_down);
border-color: var(--toolbutton_bg_down);
}
MuteCheckBox::indicator,
MuteCheckBox::indicator:unchecked,
MuteCheckBox::indicator:focus {
background-color: var(--toolbutton_bg);
border: 1px solid var(--toolbutton_bg);
}
MuteCheckBox::indicator:hover,
MuteCheckBox::indicator:unchecked:hover {
background-color: var(--toolbutton_bg_hover);
border: 1px solid var(--toolbutton_bg_hover);
}
MuteCheckBox::indicator:pressed,
MuteCheckBox::indicator:pressed:hover {
background-color: var(--toolbutton_bg_down);
border-color: var(--toolbutton_bg_down);
}
#stackedMixerArea QPushButton,
#stackedMixerArea QPushButton:!hover {
background-color: var(--toolbutton_bg);
border-color: var(--toolbutton_bg);
}
#stackedMixerArea QPushButton:hover {
background-color: var(--toolbutton_bg_hover);
}
#stackedMixerArea QPushButton:pressed {
background-color: var(--toolbutton_bg_down);
}
QTabBar::tab {
background-color: var(--grey5);
}
QTabBar QToolButton {
background-color: var(--grey5);
}
/* Primary Control Button Checked Coloring */
#streamButton:!hover:!pressed:checked,
#recordButton:!hover:!pressed:checked,
QPushButton[themeID="replayBufferButton"]:!hover:!pressed:checked,
QPushButton[themeID="vcamButton"]:!hover:!pressed:checked,
#modeSwitch:!hover:!pressed:checked,
#broadcastButton:!hover:!pressed:checked {
background: var(--button_bg_red);
border-color: var(--button_bg_red);
}
/* Primary Control Button Hover Coloring */
#streamButton:hover:!pressed:checked,
#recordButton:hover:!pressed:checked,
QPushButton[themeID="replayBufferButton"]:!pressed:checked,
QPushButton[themeID="vcamButton"]:!pressed:checked,
#modeSwitch:hover:!pressed:checked,
#broadcastButton:hover:!pressed:checked {
background: var(--button_bg_red_hover);
}
/* Primary Control Button Checked + Pressed Coloring */
#streamButton:pressed:checked,
#recordButton:pressed:checked,
QPushButton[themeID="replayBufferButton"]:pressed:checked,
QPushButton[themeID="vcamButton"]:pressed:checked,
#modeSwitch:pressed:checked,
#broadcastButton:pressed:checked {
background: var(--button_bg_red_down);
}
QPushButton:disabled {
border-color: var(--grey5);
}
QHeaderView::section {
background-color: var(--grey5);
}
OBSQTDisplay {
qproperty-displayBackgroundColor: var(--grey5);
}
*[gridMode="true"] SceneTree::item:selected {
background-color: var(--button_bg_red);
}
*[gridMode="true"] SceneTree::item:checked {
background-color: var(--button_bg_red);
}
*[gridMode="true"] SceneTree::item:hover {
background-color: var(--button_bg_red_down);
}
*[gridMode="true"] SceneTree::item:selected:hover {
background-color: var(--button_bg_red_hover);
}
#ytEventList QLabel {
background-color: var(--grey5);
}
#ytEventList QLabel:hover {
background-color: var(--grey3);
}
QCalendarWidget QToolButton {
background-color: var(--grey6);
}
QCalendarWidget QToolButton:hover {
background-color: var(--primary_light);
}
QCalendarWidget QToolButton:pressed {
background-color: var(--primary_dark);
}
QCalendarWidget QSpinBox {
background-color: var(--primary_dark);
}

View File

@ -0,0 +1,228 @@
@OBSThemeMeta {
name: 'Classic';
id: 'com.obsproject.Yami.Classic';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'true';
}
@OBSThemeVars {
--grey1: rgb(97,97,97);
--grey2: rgb(134,135,134);
--grey3: rgb(122,121,122);
--grey4: rgb(76,76,76);
--grey5: rgb(88,87,88);
--grey6: rgb(31,30,31);
--grey7: rgb(58,57,58);
--grey8: rgb(46,45,46);
--bg_window: var(--grey7);
--bg_base: var(--grey6);
--bg_preview: rgb(76,76,76);
--primary: rgb(25,52,76);
--primary_light: rgb(33,71,109);
/* Layout */
--font_base_value: 9;
--spacing_base_value: 2;
--padding_base_value: 0.25;
--icon_base: calc(6px + var(--font_base_value));
--padding_wide: calc(18px + calc(0.25 * var(--padding_base_value)));
--padding_menu: calc(8px + calc(1 * var(--padding_base_value)));
--input_height_base: calc(1px + calc(var(--input_font_scale) + var(--input_font_padding)));
--border_color: var(--grey6);
--border_radius: 2px;
--border_radius_small: 1px;
--border_radius_large: 2px;
--input_bg: var(--grey4);
--input_bg_hover: var(--grey5);
--input_bg_focus: var(--grey6);
--list_item_bg_selected: var(--primary);
--list_item_bg_hover: var(--primary_light);
--input_border: var(--grey4);
--input_border_hover: var(--grey5);
--input_border_focus: var(--grey6);
--spacing_input: var(--spacing_base);
--button_bg: var(--input_bg);
--button_bg_hover: var(--grey3);
--button_bg_down: var(--grey7);
--button_bg_disabled: var(--grey8);
--button_border: var(--button_bg);
--button_border_hover: var(--grey1);
--button_border_focus: var(--grey1);
--tab_bg: var(--input_bg);
--tab_bg_hover: var(--grey3);
--tab_bg_down: var(--grey7);
--tab_bg_disabled: var(--grey8);
--tab_border: var(--grey1);
--tab_border_hover: var(--grey1);
--tab_border_focus: var(--grey1);
--tab_border_selected: var(--primary);
--scrollbar: var(--grey4);
--scrollbar_hover: var(--grey3);
--scrollbar_down: var(--grey8);
--scrollbar_border: var(--grey2);
/* Variant Extras */
--dock_title_padding: calc(2px + var(--padding_base));
--icon_base_mixer: calc(2px + var(--icon_base));
--padding_menu_y: calc(3px + calc(1 * var(--padding_base_value)));
}
QStatusBar {
background-color: var(--bg_window);
}
QDockWidget {
font-weight: normal;
}
QDockWidget::title {
padding: var(--dock_title_padding);
text-align: center;
}
QDockWidget > QWidget {
background: var(--bg_window);
}
SceneTree::item,
SourceTreeItem {
border-width: 0px;
}
QMenu::item {
padding: var(--padding_menu_y) var(--padding_menu);
}
QGroupBox {
background: var(--bg_window);
border: 1px solid var(--border_color);
}
QTabWidget::pane {
border-width: 1px;
}
QTabBar::tab {
border-color: var(--tab_bg);
padding: 3px 6px;
}
QComboBox:hover,
QComboBox:focus,
QDateTimeEdit:hover,
QDateTimeEdit:selected {
background-color: var(--input_bg_hover);
}
QComboBox:on,
QDateTimeEdit:on,
QComboBox:editable:focus {
background-color: var(--input_bg_focus);
}
QLineEdit,
QTextEdit,
QPlainTextEdit {
background-color: var(--input_bg_focus);
padding-left: 8px;
}
QLineEdit:hover,
QTextEdit:hover,
QPlainTextEdit:hover {
background-color: var(--input_bg_focus);
}
QSpinBox,
QDoubleSpinBox {
background-color: var(--input_bg_focus);
border-width: 1px;
padding-left: 8px;
height: var(--input_height);
max-height: var(--input_height);
}
QSpinBox:hover,
QDoubleSpinBox:hover {
background-color: var(--input_bg_focus);
}
QSpinBox::up-button:disabled,
QSpinBox::up-button:off,
QDoubleSpinBox::up-button:disabled,
QDoubleSpinBox::up-button:off {
margin-top: 0px;
}
QSpinBox::down-button:disabled,
QSpinBox::down-button:off,
QDoubleSpinBox::down-button:disabled,
QDoubleSpinBox::down-button:off {
margin-bottom: 0px;
}
OBSBasicSettings #PropertiesContainer {
background-color: var(--bg_window);
}
OBSBasicSettings QListWidget::item {
padding: 4px;
}
QToolButton,
QPushButton[toolButton="true"] {
background-color: var(--bg_window);
border-color: var(--bg_window);
}
#stackedMixerArea QPushButton {
min-width: var(--icon_base);
padding: var(--padding_large) var(--padding_large);
icon-size: var(--icon_base), var(--icon_base);
}
MuteCheckBox::indicator,
MuteCheckBox::indicator:unchecked {
width: var(--icon_base_mixer);
height: var(--icon_base_mixer);
icon-size: var(--icon_base_mixer), var(--icon_base_mixer);
}
MuteCheckBox::indicator:hover,
MuteCheckBox::indicator:unchecked:hover {
icon-size: var(--icon_base_mixer), var(--icon_base_mixer);
}
#contextContainer {
background-color: var(--bg_window);
}
VolumeMeter {
qproperty-backgroundNominalColor: rgb(38,127,38);
qproperty-backgroundWarningColor: rgb(127,127,38);
qproperty-backgroundErrorColor: rgb(127,38,38);
qproperty-foregroundNominalColor: rgb(76,255,76);
qproperty-foregroundWarningColor: rgb(255,255,76);
qproperty-foregroundErrorColor: rgb(255,76,76);
qproperty-magnitudeColor: rgb(0,0,0);
qproperty-majorTickColor: var(--text);
qproperty-minorTickColor: rgb(122,121,122); /* light */
qproperty-meterThickness: 3;
}

View File

@ -0,0 +1,7 @@
@OBSThemeMeta {
name: 'Default';
id: 'com.obsproject.Yami.Original';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'true';
}

View File

@ -0,0 +1,18 @@
@OBSThemeMeta {
name: 'Grey';
id: 'com.obsproject.Yami.Grey';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'true';
}
@OBSThemeVars {
--grey1: rgb(97,97,97);
--grey2: rgb(87,87,87);
--grey3: rgb(77,77,77);
--grey4: rgb(67,67,67);
--grey5: rgb(57,57,57);
--grey6: rgb(47,47,47);
--grey7: rgb(33,33,33);
--grey8: rgb(21,21,21);
}

View File

@ -0,0 +1,313 @@
@OBSThemeMeta {
name: 'Light';
id: 'com.obsproject.Yami.Light';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'false';
}
@OBSThemeVars {
--grey1: rgb(140,140,140);
--grey2: rgb(254,254,254);
--grey3: rgb(254,254,254);
--grey4: rgb(243,243,243);
--grey5: rgb(236,236,236);
--grey6: rgb(229,229,229);
--grey7: rgb(211,211,211);
--grey8: rgb(193,193,193);
--primary: rgb(140,181,255);
--primary_light: rgb(178,207,255);
--primary_dark: rgb(22,31,65);
--bg_window: var(--grey7);
--bg_base: var(--grey6);
--bg_preview: var(--grey8);
--text: var(--black1);
--text_light: var(--black3);
--text_muted: var(--black4);
--text_disabled: var(--text_muted);
--text_inactive: var(--text_light);
--input_bg_hover: var(--grey3);
--input_bg_focus: var(--grey3);
--separator_hover: var(--black1);
}
VolumeMeter {
qproperty-backgroundNominalColor: rgb(66,112,24);
qproperty-backgroundWarningColor: rgb(112,91,28);
qproperty-backgroundErrorColor: rgb(112,39,53);
qproperty-foregroundNominalColor: rgb(115,189,49);
qproperty-foregroundWarningColor: rgb(189,144,9);
qproperty-foregroundErrorColor: rgb(189,47,73);
qproperty-magnitudeColor: rgb(0,0,0);
qproperty-majorTickColor: palette(text);
qproperty-minorTickColor: palette(light);
}
QMenu::right-arrow {
image: url(theme:Light/expand.svg);
}
QDockWidget {
titlebar-close-icon: url(theme:Light/close.svg);
titlebar-normal-icon: url(theme:Light/popout.svg);
}
QPushButton#sourcePropertiesButton {
qproperty-icon: url(theme:Light/settings/general.svg);
}
QPushButton#sourceFiltersButton {
qproperty-icon: url(theme:Light/filter.svg);
}
* [themeID="addIconSmall"] {
qproperty-icon: url(theme:Light/plus.svg);
}
* [themeID="removeIconSmall"] {
qproperty-icon: url(theme:Light/trash.svg);
}
* [themeID="clearIconSmall"] {
qproperty-icon: url(theme:Light/entry-clear.svg);
}
* [themeID="propertiesIconSmall"] {
qproperty-icon: url(theme:Light/settings/general.svg);
}
* [themeID="configIconSmall"] {
qproperty-icon: url(theme:Light/settings/general.svg);
}
* [themeID="menuIconSmall"] {
qproperty-icon: url(theme:Light/dots-vert.svg);
}
* [themeID="refreshIconSmall"] {
qproperty-icon: url(theme:Light/refresh.svg);
}
* [themeID="cogsIcon"] {
qproperty-icon: url(theme:Light/cogs.svg);
}
#sourceInteractButton {
qproperty-icon: url(theme:Light/interact.svg);
}
* [themeID="upArrowIconSmall"] {
qproperty-icon: url(theme:Light/up.svg);
}
* [themeID="downArrowIconSmall"] {
qproperty-icon: url(theme:Light/down.svg);
}
* [themeID="pauseIconSmall"] {
qproperty-icon: url(theme:Light/media-pause.svg);
}
* [themeID="filtersIcon"] {
qproperty-icon: url(theme:Light/filter.svg);
}
QToolBarExtension {
qproperty-icon: url(theme:Light/dots-vert.svg);
}
QComboBox::down-arrow,
QDateTimeEdit::down-arrow {
image: url(theme:Light/collapse.svg);
}
QComboBox::down-arrow:editable,
QDateTimeEdit::down-arrow:editable {
image: url(theme:Light/collapse.svg);
}
QSpinBox::up-arrow, QDoubleSpinBox::up-arrow {
image: url(theme:Light/up.svg);
}
QSpinBox::down-arrow, QDoubleSpinBox::down-arrow {
image: url(theme:Light/down.svg);
}
QPushButton::menu-indicator {
image: url(theme:Light/down.svg);
}
OBSBasicSettings {
qproperty-generalIcon: url(theme:Light/settings/general.svg);
qproperty-appearanceIcon: url(theme:Light/settings/appearance.svg);
qproperty-streamIcon: url(theme:Light/settings/stream.svg);
qproperty-outputIcon: url(theme:Light/settings/output.svg);
qproperty-audioIcon: url(theme:Light/settings/audio.svg);
qproperty-videoIcon: url(theme:Light/settings/video.svg);
qproperty-hotkeysIcon: url(theme:Light/settings/hotkeys.svg);
qproperty-accessibilityIcon: url(theme:Light/settings/accessibility.svg);
qproperty-advancedIcon: url(theme:Light/settings/advanced.svg);
}
QCheckBox::indicator:unchecked,
QGroupBox::indicator:unchecked {
image: url(theme:Light/checkbox_unchecked.svg);
}
QCheckBox::indicator:unchecked:hover,
QGroupBox::indicator:unchecked:hover {
image: url(theme:Light/checkbox_unchecked_focus.svg);
}
QCheckBox::indicator:checked,
QGroupBox::indicator:checked {
image: url(theme:Light/checkbox_checked.svg);
}
QCheckBox::indicator:checked:hover,
QGroupBox::indicator:checked:hover {
image: url(theme:Light/checkbox_checked_focus.svg);
}
QCheckBox::indicator:checked:disabled,
QGroupBox::indicator:checked:disabled {
image: url(theme:Light/checkbox_checked_disabled.svg);
}
QCheckBox::indicator:unchecked:disabled,
QGroupBox::indicator:unchecked:disabled {
image: url(theme:Light/checkbox_unchecked_disabled.svg);
}
QCheckBox[lockCheckBox=true]::indicator:checked,
QCheckBox[lockCheckBox=true]::indicator:checked:hover {
image: url(theme:Light/locked.svg);
}
QCheckBox[visibilityCheckBox=true]::indicator:checked,
QCheckBox[visibilityCheckBox=true]::indicator:checked:hover {
image: url(theme:Light/visible.svg);
}
* [themeID="revertIcon"] {
qproperty-icon: url(theme:Light/revert.svg);
}
MuteCheckBox::indicator:checked {
image: url(theme:Light/mute.svg);
}
MuteCheckBox::indicator:unchecked {
image: url(theme:Light/settings/audio.svg);
}
MuteCheckBox::indicator:unchecked:hover {
image: url(theme:Light/settings/audio.svg);
}
MuteCheckBox::indicator:unchecked:focus {
image: url(theme:Light/settings/audio.svg);
}
MuteCheckBox::indicator:checked:hover {
image: url(theme:Light/mute.svg);
}
MuteCheckBox::indicator:checked:focus {
image: url(theme:Light/mute.svg);
}
MuteCheckBox::indicator:checked:disabled {
image: url(theme:Light/mute.svg);
}
MuteCheckBox::indicator:unchecked:disabled {
image: url(theme:Light/settings/audio.svg);
}
QCheckBox[sourceTreeSubItem=true]::indicator:checked,
QCheckBox[sourceTreeSubItem=true]::indicator:checked:hover {
image: url(theme:Light/expand.svg);
}
QCheckBox[sourceTreeSubItem=true]::indicator:unchecked,
QCheckBox[sourceTreeSubItem=true]::indicator:unchecked:hover {
image: url(theme:Light/collapse.svg);
}
/* Source Icons */
OBSBasic {
qproperty-imageIcon: url(theme:Light/sources/image.svg);
qproperty-colorIcon: url(theme:Light/sources/brush.svg);
qproperty-slideshowIcon: url(theme:Light/sources/slideshow.svg);
qproperty-audioInputIcon: url(theme:Light/sources/microphone.svg);
qproperty-audioOutputIcon: url(theme:Light/settings/audio.svg);
qproperty-desktopCapIcon: url(theme:Light/settings/video.svg);
qproperty-windowCapIcon: url(theme:Light/sources/window.svg);
qproperty-gameCapIcon: url(theme:Light/sources/gamepad.svg);
qproperty-cameraIcon: url(theme:Light/sources/camera.svg);
qproperty-textIcon: url(theme:Light/sources/text.svg);
qproperty-mediaIcon: url(theme:Light/sources/media.svg);
qproperty-browserIcon: url(theme:Light/sources/globe.svg);
qproperty-groupIcon: url(theme:Light/sources/group.svg);
qproperty-sceneIcon: url(theme:Light/sources/scene.svg);
qproperty-defaultIcon: url(theme:Light/sources/default.svg);
qproperty-audioProcessOutputIcon: url(theme:Light/sources/windowaudio.svg);
}
* [themeID="replayIconSmall"] {
qproperty-icon: url(theme:Light/save.svg);
}
/* Media icons */
* [themeID="playIcon"] {
qproperty-icon: url(theme:Light/media/media_play.svg);
}
* [themeID="pauseIcon"] {
qproperty-icon: url(theme:Light/media/media_pause.svg);
}
* [themeID="restartIcon"] {
qproperty-icon: url(theme:Light/media/media_restart.svg);
}
* [themeID="stopIcon"] {
qproperty-icon: url(theme:Light/media/media_stop.svg);
}
* [themeID="nextIcon"] {
qproperty-icon: url(theme:Light/media/media_next.svg);
}
* [themeID="previousIcon"] {
qproperty-icon: url(theme:Light/media/media_previous.svg);
}
/* YouTube Integration */
OBSYoutubeActions {
qproperty-thumbPlaceholder: url(theme:Light/sources/image.svg);
}
QDateTimeEdit::down-arrow {
image: url(theme:Light/down.svg);
}
#qt_calendar_monthbutton::menu-indicator {
image: url(theme:Light/down.svg);
}
QCalendarWidget #qt_calendar_prevmonth {
qproperty-icon: url(theme:Light/left.svg);
}
QCalendarWidget #qt_calendar_nextmonth {
qproperty-icon: url(theme:Light/right.svg);
}

View File

@ -0,0 +1,221 @@
@OBSThemeMeta {
name: 'Rachni';
id: 'com.obsproject.Yami.Rachni';
extends: 'com.obsproject.Yami';
author: 'Warchamp7';
dark: 'true';
}
@OBSThemeVars {
--grey1: rgb(118,121,124);
--grey2: rgb(110,113,114);
--grey3: rgb(59,65,71);
--grey4: rgb(49,54,59);
--grey5: rgb(42,46,50);
--grey6: rgb(35,38,41);
--grey7: rgb(25,27,38);
--grey8: rgb(21,22,23);
--primary: rgb(0,188,212);
--primary_light: rgb(145,76,103);
--primary_lighter: rgb(240,96,146);
--primary_dark: rgb(89,66,79);
--primary_darker: rgb(25,27,38);
--bg_base: var(--grey6);
--bg_window: var(--grey4);
--bg_preview: rgb(34,37,40);
--border_color: var(--grey5);
--input_bg: var(--grey6);
--input_bg_hover: var(--grey7);
--input_bg_focus: var(--grey7);
--list_item_bg_selected: var(--primary);
--list_item_bg_hover: var(--primary_light);
--input_border: var(--grey1);
--input_border_hover: var(--primary);
--input_border_focus: var(--primary);
--spacing_input: var(--spacing_base);
--button_bg: var(--primary);
--button_bg_hover: var(--primary_light);
--button_bg_down: var(--primary_dark);
--button_bg_disabled: var(--grey6);
--button_bg_red: rgb(88,22,36);
--button_bg_red_hover: rgb(116,32,49);
--button_bg_red_down: rgb(63,21,30);
--button_border: var(--primary);
--button_border_hover: var(--button_bg_hover);
--button_border_focus: var(--button_bg_hover);
--tab_bg: var(--input_bg);
--tab_bg_hover: var(--grey3);
--tab_bg_down: var(--grey7);
--tab_bg_disabled: var(--grey6);
--tab_border: var(--grey3);
--tab_border_hover: var(--grey1);
--tab_border_focus: var(--grey1);
--tab_border_selected: var(--primary_light);
--scrollbar: var(--grey2);
--scrollbar_hover: var(--primary_light);
--scrollbar_down: var(--grey3);
--scrollbar_border: var(--primary_light);
--toolbutton_bg: var(--grey3);
--toolbutton_bg_hover: var(--primary_light);
--toolbutton_bg_down: var(--primary_dark);
--toolbutton_bg_disabled: var(--grey4);
}
QDockWidget::title {
background-color: var(--bg_base);
}
QDockWidget::close-button:hover,
QDockWidget::float-button:hover {
background: var(--grey3);
}
QComboBox,
QDateTimeEdit,
QLineEdit,
QPlainTextEdit,
QTextEdit,
QSpinBox,
QDoubleSpinBox {
border-width: 2px;
border-color: var(--input_border);
}
QMenu::item:selected,
QListWidget::item:selected,
SceneTree::item:selected,
SourceTree::item:selected {
background-color: var(--primary_dark);
}
QMenu::item:hover,
QListWidget::item:hover,
SceneTree::item:hover,
SourceTree::item:hover,
QMenu::item:selected:hover,
QListWidget::item:selected:hover,
SceneTree::item:selected:hover,
SourceTree::item:selected:hover {
background-color: var(--primary);
}
QToolBar {
background-color: var(--grey4);
padding: var(--padding_large);
margin: 0;
}
QPushButton:disabled {
border-color: var(--grey3);
}
QToolButton,
QPushButton[toolButton="true"] {
background-color: var(--toolbutton_bg);
border-color: var(--toolbutton_bg);
}
QToolButton:hover,
QToolButton:focus {
border-color: var(--primary_light);
background-color: var(--primary_light);
}
QToolButton:pressed,
QToolButton:pressed:hover {
background-color: var(--toolbutton_bg_down);
border-color: var(--toolbutton_bg_down);
}
MuteCheckBox::indicator,
MuteCheckBox::indicator:unchecked,
MuteCheckBox::indicator:focus {
background-color: var(--toolbutton_bg);
border: 1px solid var(--toolbutton_bg);
}
MuteCheckBox::indicator:hover,
MuteCheckBox::indicator:unchecked:hover {
background-color: var(--toolbutton_bg_hover);
border: 1px solid var(--toolbutton_bg_hover);
}
MuteCheckBox::indicator:pressed,
MuteCheckBox::indicator:pressed:hover {
background-color: var(--toolbutton_bg_down);
border-color: var(--toolbutton_bg_down);
}
#stackedMixerArea QPushButton,
#stackedMixerArea QPushButton:!hover {
background-color: var(--toolbutton_bg);
border-color: var(--toolbutton_bg);
}
#stackedMixerArea QPushButton:hover {
background-color: var(--toolbutton_bg_hover);
}
#stackedMixerArea QPushButton:pressed {
background-color: var(--toolbutton_bg_down);
}
QToolButton:disabled,
QPushButton[toolButton="true"]:disabled {
background-color: var(--toolbutton_bg_disabled);
border-color: transparent;
}
QTabBar::tab {
background-color: var(--grey5);
}
QTabBar::tab:top:selected {
border-bottom: 2px solid var(--primary_light);
}
QTabBar QToolButton {
background-color: var(--grey5);
}
QGroupBox {
background-color: var(--grey3);
}
OBSBasicSettings #PropertiesContainer {
background-color: var(--grey3);
}
QGroupBox::title {
color: var(--primary_lighter);
}
QSlider::groove {
background-color: var(--grey2);
}
VolumeMeter {
qproperty-backgroundNominalColor: rgb(0,128,79);
qproperty-backgroundWarningColor: rgb(128,57,0);
qproperty-backgroundErrorColor: rgb(128,9,0);
qproperty-foregroundNominalColor: rgb(119,255,143);
qproperty-foregroundWarningColor: rgb(255,157,76);
qproperty-foregroundErrorColor: rgb(255,89,76);
qproperty-magnitudeColor: palette(window);
qproperty-majorTickColor: palette(window-text);
qproperty-minorTickColor: palette(mid);
}