Added Style Settings to color min-max titlebar icons

This commit is contained in:
Kazi Aidah Haque 2026-03-13 00:03:23 +06:00
parent 0376b715b4
commit 4003865995
4 changed files with 261 additions and 222 deletions

42
LICENSE
View file

@ -1,21 +1,21 @@
MIT License
Copyright (c) 2025 Kazi Aidah Haque
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
MIT License
Copyright (c) 2025 Kazi Aidah Haque
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

358
README.md
View file

@ -1,179 +1,179 @@
<!-- <img src="assets/bob%20squircle.png" width="100" /> -->
# blobob theme
An animated theme for Obsidian!
![](assets/screenshot-HQ.png)
![](assets/bubble-tabs.gif)
As a self-taught animator with 7 years of experience, I love seeing motion in interactions. So I created this theme with 60+ colour options and, of course, ANIMATIONS! ( ≧ᗜ≦ )
It supports [Style Settings](https://github.com/mgmeyers/obsidian-style-settings#obsidian-style-settings-plugin) for lots of customization. Blobob Theme is currently in development, so if you find issues or want features or more styles, please create an issue [here](https://github.com/Kazi-Aidah/blobob/issues).
> I'd recommend trying this theme out without reading the rest of the README for surprises.
---
# Colour Options
**Note:** Heading is green due to my current Obsidian accent color. Some themes override it with their own.
### Dark Theme Colors
| **Amoled**<br>![](assets/themages/Amoled.png) | **Darker Gray**<br>![](assets/themages/Darker%20Gray.png) |
|-----------------------------------------------|------------------------------------------------------------|
| **Neutral Gray**<br>![](assets/themages/Neutral%20Gray.png) | **Slate Smoke**<br>![](assets/themages/Slate%20Smoke.png) |
| **Arctic Ice**<br>![](assets/themages/Arctic%20Ice.png) | **Noble Blue**<br>![](assets/themages/Noble%20Blue.png) |
| **Dark Night**<br>![](assets/themages/Dark%20Night.png) | **Deep Blue**<br>![](assets/themages/Deep%20Blue.png) |
| **Deep Purple**<br>![](assets/themages/Deep%20Purple.png) | **Violent Dream**<br>![](assets/themages/Violent%20Dream.png) |
| **Magic Purple**<br>![](assets/themages/Magic%20Purple.png) | **Lavendar**<br>![](assets/themages/Lavendar.png) |
| **Emerald**<br>![](assets/themages/Emerald.png) | **Muted Green**<br>![](assets/themages/Muted%20Green.png) |
| **More Olives**<br>![](assets/themages/More%20Olives.png) | **Deep Green**<br>![](assets/themages/Deep%20Green.png) |
| **Rose Gold**<br>![](assets/themages/Rose%20Gold.png) | **Crimson Twilight**<br>![](assets/themages/Crimson%20Twilight.png) |
| **Wine**<br>![](assets/themages/Wine.png) | **Deep Hotpink**<br>![](assets/themages/Deep%20Hotpink.png) |
| **Deep Magenta**<br>![](assets/themages/Deep%20Magenta.png) | **Golden Earth**<br>![](assets/themages/Golden%20Earth.png) |
| **Golden Hour**<br>![](assets/themages/Golden%20Hour.png) | **Caramel**<br>![](assets/themages/Caramel.png) |
| **Chocolate**<br>![](assets/themages/Chocolate.png) | **Dark Chocolate**<br>![](assets/themages/Dark%20Chocolate.png) |
| **Comfort Chocolate**<br>![](assets/themages/Comfort%20Chocolate.png) | **Tasty Chocolate**<br>![](assets/themages/Tasty%20Chocolate.png) |
| **Tasty Chocolate 2**<br>![](assets/themages/Tasty%20Chocolate%202.png) | **Leather**<br>![](assets/themages/Leather.png) |
| **Mafia Red**<br>![](assets/themages/Mafia%20Red.png) | **Deep Red**<br>![](assets/themages/Deep%20Red.png) |
### Light Theme Colors
| **Cloud White**<br>![](assets/themages/Cloud%20White.png) | **Paper White**<br>![](assets/themages/Paper%20White.png) |
|------------------------------------------------------------|------------------------------------------------------------|
| **Light Gray**<br>![](assets/themages/Light%20Gray.png) | **Sand**<br>![](assets/themages/Sand.png) |
| **Peach**<br>![](assets/themages/Peach.png) | **Yellow**<br>![](assets/themages/Yellow.png) |
| **Green**<br>![](assets/themages/Green.png) | **Cyan**<br>![](assets/themages/Cyan.png) |
| **Blue**<br>![](assets/themages/Blue.png) | **Azure**<br>![](assets/themages/Azure.png) |
| **Purple**<br>![](assets/themages/Purple.png) | **Pink**<br>![](assets/themages/Pink.png) |
| **Herb**<br>![](assets/themages/Herb.png) | **Olive**<br>![](assets/themages/Olive.png) |
| **Jade**<br>![](assets/themages/Jade.png) | **Rose**<br>![](assets/themages/Rose.png) |
| **Yellow Teeth**<br>![](assets/themages/Yellow%20Teeth.png) | **Toothpaste**<br>![](assets/themages/Toothpaste.png) |
| **Blood**<br>![](assets/themages/Blood.png) | **Corporate**<br>![](assets/themages/Corporate.png) |
| **Disgust**<br>![](assets/themages/Disgust.png) | **Payesh**<br>![](assets/themages/Payesh.png) |
| **Chicken**<br>![](assets/themages/Chicken.png) | **Cream**<br>![](assets/themages/Cream.png) |
| **Cream Blue**<br>![](assets/themages/Cream%20Blue.png) | **50% Gray**<br>![](assets/themages/50%20Gray.png) |
**My favourites are:**
*Favourite Dark Themes:* Dark Night, Golden Earth, Crimson Twilight, Emerald, Mafia Red
*Favourite Light Themes:* Payesh, Chicken, Corporate, Yellow Teeth
---
## Settings Tabs
<!-- ![](assets/settings-vertical-tabs.gif) -->
![](assets/settings-vertical-tabs.gif)
It is animated using ease-in-ease-out and anticipation animation principles.
## Setting Items
![](assets/setting-items.gif)
## Right-click Menu
I absolutely love how this looks.
![](assets/right-click-menu.gif)
## Toggle Animation
![](assets/toggle.gif)
## Checkboxes
![](assets/checkboxes.png)
![](assets/clicking-checkbox.gif)
## Hide Nav Buttons
![](assets/text-hide-nav.gif)
## Animated Tabs
![](assets/tabs.gif)
I personally have `Alt + <` and `Alt + >` for easy tab navigation.
## Tab Bar
| ![](assets/tab-bar-left.png) | ![](assets/tab-bar-right.png) |
| ---------------------------- | ----------------------------- |
**Left:** Fixed stack tabs button along with the left sidebar button (which moves into the sidebar when active).
**Right:** Fixed + Add Tab button & right sidebar button, custom mix-max-close buttons.
Design Idea: Essential buttons should stay fixed.
### Pinned Tabs
![](assets/pinned-tabs.gif)
Design idea: Sharp when active, darkened and standing down when inactive (like bodyguards).
## Callout Style
![](assets/callout-style.png)
# Style Settings
You can use the [Style Settings](https://github.com/mgmeyers/obsidian-style-settings#obsidian-style-settings-plugin) plugin to activate these extra styles!
## Multiple Theme Colors
![](assets/theme-colors-dropdown.png)
6 Button Styles + 35 Dark Theme Colors 👀 + 30+ Light Theme Colors!!
## Active Line Highlighting
![](assets/active-line-highlight-w-face.png)
## Active Line Dimming & Floating
![](assets/darken-inactive-lines.gif)
## Properties Styles
The Properties Styling does not affect the "Show File Properties" brought via Command Palette.
Style 1:
![](assets/properties-style-1.png)
Style 2:
![](assets/properties-style-2.png)
Style 3:
![](assets/properties-style-3.png)
Style 4:
![](assets/properties-style-4.png)
### Cool Properties Features
1. Dim properties unless hovered
![](assets/dim-properties.gif)
2. Hide arrows in the properties heading
3. Center the properties heading
4. cssclasses & tag styles
5. Metadata key colors
## Folder Styles
| ![](assets/folders-accent.png) | ![](assets/folders-butonica.png) |
| ------------------------------ | -------------------------------- |
<!-- ## Hide Calendar Tab Icon -->
## Custom Bullets
Define Custom Bullets!
![](assets/custom-list-bullets.png)
## Hiding
1. Focus Mode Hides the tab bar, min-max-close buttons & status bar
2. Hide Status Bar - Hides the Status Bar
3. Hide Breadcrumbs - Hides the parent paths in view-header
## Why is the theme named ***blobob***?
I drew **Blob** a long time ago as a simple character concept.
At one point, I planned to turn it into a small animated task-reminder app using Rive, but the idea never went further. The character stayed with me, though.
![](assets/original-blob.png)
In the theme, the main face you see is the yellow character I named **Bob**:
![](assets/blob-bob.png)
**Blob** is the original concept, **Bob** is the face used in the theme.
Together, they became **blobob**.
<!-- <img src="assets/bob%20squircle.png" width="100" /> -->
# blobob theme
An animated theme for Obsidian!
![](assets/screenshot-HQ.png)
![](assets/bubble-tabs.gif)
As a self-taught animator with 7 years of experience, I love seeing motion in interactions. So I created this theme with 60+ colour options and, of course, ANIMATIONS! ( ≧ᗜ≦ )
It supports [Style Settings](https://github.com/mgmeyers/obsidian-style-settings#obsidian-style-settings-plugin) for lots of customization. Blobob Theme is currently in development, so if you find issues or want features or more styles, please create an issue [here](https://github.com/Kazi-Aidah/blobob/issues).
> I'd recommend trying this theme out without reading the rest of the README for surprises.
---
# Colour Options
**Note:** Heading is green due to my current Obsidian accent color. Some themes override it with their own.
### Dark Theme Colors
| **Amoled**<br>![](assets/themages/Amoled.png) | **Darker Gray**<br>![](assets/themages/Darker%20Gray.png) |
|-----------------------------------------------|------------------------------------------------------------|
| **Neutral Gray**<br>![](assets/themages/Neutral%20Gray.png) | **Slate Smoke**<br>![](assets/themages/Slate%20Smoke.png) |
| **Arctic Ice**<br>![](assets/themages/Arctic%20Ice.png) | **Noble Blue**<br>![](assets/themages/Noble%20Blue.png) |
| **Dark Night**<br>![](assets/themages/Dark%20Night.png) | **Deep Blue**<br>![](assets/themages/Deep%20Blue.png) |
| **Deep Purple**<br>![](assets/themages/Deep%20Purple.png) | **Violent Dream**<br>![](assets/themages/Violent%20Dream.png) |
| **Magic Purple**<br>![](assets/themages/Magic%20Purple.png) | **Lavendar**<br>![](assets/themages/Lavendar.png) |
| **Emerald**<br>![](assets/themages/Emerald.png) | **Muted Green**<br>![](assets/themages/Muted%20Green.png) |
| **More Olives**<br>![](assets/themages/More%20Olives.png) | **Deep Green**<br>![](assets/themages/Deep%20Green.png) |
| **Rose Gold**<br>![](assets/themages/Rose%20Gold.png) | **Crimson Twilight**<br>![](assets/themages/Crimson%20Twilight.png) |
| **Wine**<br>![](assets/themages/Wine.png) | **Deep Hotpink**<br>![](assets/themages/Deep%20Hotpink.png) |
| **Deep Magenta**<br>![](assets/themages/Deep%20Magenta.png) | **Golden Earth**<br>![](assets/themages/Golden%20Earth.png) |
| **Golden Hour**<br>![](assets/themages/Golden%20Hour.png) | **Caramel**<br>![](assets/themages/Caramel.png) |
| **Chocolate**<br>![](assets/themages/Chocolate.png) | **Dark Chocolate**<br>![](assets/themages/Dark%20Chocolate.png) |
| **Comfort Chocolate**<br>![](assets/themages/Comfort%20Chocolate.png) | **Tasty Chocolate**<br>![](assets/themages/Tasty%20Chocolate.png) |
| **Tasty Chocolate 2**<br>![](assets/themages/Tasty%20Chocolate%202.png) | **Leather**<br>![](assets/themages/Leather.png) |
| **Mafia Red**<br>![](assets/themages/Mafia%20Red.png) | **Deep Red**<br>![](assets/themages/Deep%20Red.png) |
### Light Theme Colors
| **Cloud White**<br>![](assets/themages/Cloud%20White.png) | **Paper White**<br>![](assets/themages/Paper%20White.png) |
|------------------------------------------------------------|------------------------------------------------------------|
| **Light Gray**<br>![](assets/themages/Light%20Gray.png) | **Sand**<br>![](assets/themages/Sand.png) |
| **Peach**<br>![](assets/themages/Peach.png) | **Yellow**<br>![](assets/themages/Yellow.png) |
| **Green**<br>![](assets/themages/Green.png) | **Cyan**<br>![](assets/themages/Cyan.png) |
| **Blue**<br>![](assets/themages/Blue.png) | **Azure**<br>![](assets/themages/Azure.png) |
| **Purple**<br>![](assets/themages/Purple.png) | **Pink**<br>![](assets/themages/Pink.png) |
| **Herb**<br>![](assets/themages/Herb.png) | **Olive**<br>![](assets/themages/Olive.png) |
| **Jade**<br>![](assets/themages/Jade.png) | **Rose**<br>![](assets/themages/Rose.png) |
| **Yellow Teeth**<br>![](assets/themages/Yellow%20Teeth.png) | **Toothpaste**<br>![](assets/themages/Toothpaste.png) |
| **Blood**<br>![](assets/themages/Blood.png) | **Corporate**<br>![](assets/themages/Corporate.png) |
| **Disgust**<br>![](assets/themages/Disgust.png) | **Payesh**<br>![](assets/themages/Payesh.png) |
| **Chicken**<br>![](assets/themages/Chicken.png) | **Cream**<br>![](assets/themages/Cream.png) |
| **Cream Blue**<br>![](assets/themages/Cream%20Blue.png) | **50% Gray**<br>![](assets/themages/50%20Gray.png) |
**My favourites are:**
*Favourite Dark Themes:* Dark Night, Golden Earth, Crimson Twilight, Emerald, Mafia Red
*Favourite Light Themes:* Payesh, Chicken, Corporate, Yellow Teeth
---
## Settings Tabs
<!-- ![](assets/settings-vertical-tabs.gif) -->
![](assets/settings-vertical-tabs.gif)
It is animated using ease-in-ease-out and anticipation animation principles.
## Setting Items
![](assets/setting-items.gif)
## Right-click Menu
I absolutely love how this looks.
![](assets/right-click-menu.gif)
## Toggle Animation
![](assets/toggle.gif)
## Checkboxes
![](assets/checkboxes.png)
![](assets/clicking-checkbox.gif)
## Hide Nav Buttons
![](assets/text-hide-nav.gif)
## Animated Tabs
![](assets/tabs.gif)
I personally have `Alt + <` and `Alt + >` for easy tab navigation.
## Tab Bar
| ![](assets/tab-bar-left.png) | ![](assets/tab-bar-right.png) |
| ---------------------------- | ----------------------------- |
**Left:** Fixed stack tabs button along with the left sidebar button (which moves into the sidebar when active).
**Right:** Fixed + Add Tab button & right sidebar button, custom mix-max-close buttons.
Design Idea: Essential buttons should stay fixed.
### Pinned Tabs
![](assets/pinned-tabs.gif)
Design idea: Sharp when active, darkened and standing down when inactive (like bodyguards).
## Callout Style
![](assets/callout-style.png)
# Style Settings
You can use the [Style Settings](https://github.com/mgmeyers/obsidian-style-settings#obsidian-style-settings-plugin) plugin to activate these extra styles!
## Multiple Theme Colors
![](assets/theme-colors-dropdown.png)
6 Button Styles + 35 Dark Theme Colors 👀 + 30+ Light Theme Colors!!
## Active Line Highlighting
![](assets/active-line-highlight-w-face.png)
## Active Line Dimming & Floating
![](assets/darken-inactive-lines.gif)
## Properties Styles
The Properties Styling does not affect the "Show File Properties" brought via Command Palette.
Style 1:
![](assets/properties-style-1.png)
Style 2:
![](assets/properties-style-2.png)
Style 3:
![](assets/properties-style-3.png)
Style 4:
![](assets/properties-style-4.png)
### Cool Properties Features
1. Dim properties unless hovered
![](assets/dim-properties.gif)
2. Hide arrows in the properties heading
3. Center the properties heading
4. cssclasses & tag styles
5. Metadata key colors
## Folder Styles
| ![](assets/folders-accent.png) | ![](assets/folders-butonica.png) |
| ------------------------------ | -------------------------------- |
<!-- ## Hide Calendar Tab Icon -->
## Custom Bullets
Define Custom Bullets!
![](assets/custom-list-bullets.png)
## Hiding
1. Focus Mode Hides the tab bar, min-max-close buttons & status bar
2. Hide Status Bar - Hides the Status Bar
3. Hide Breadcrumbs - Hides the parent paths in view-header
## Why is the theme named ***blobob***?
I drew **Blob** a long time ago as a simple character concept.
At one point, I planned to turn it into a small animated task-reminder app using Rive, but the idea never went further. The character stayed with me, though.
![](assets/original-blob.png)
In the theme, the main face you see is the yellow character I named **Bob**:
![](assets/blob-bob.png)
**Blob** is the original concept, **Bob** is the face used in the theme.
Together, they became **blobob**.

View file

@ -1,10 +1,10 @@
{
"name": "blobob",
"author": "Kazi Aidah Haque",
"authorUrl": "https://github.com/Kazi-Aidah",
"minAppVersion": "1.5.0",
"version": "0.1.0",
"repo": "Kazi-Aidah/blobob",
"screenshot": "assets/screenshot.png",
"modes": ["dark", "light"]
}
{
"name": "blobob",
"author": "Kazi Aidah Haque",
"authorUrl": "https://github.com/Kazi-Aidah",
"minAppVersion": "1.5.0",
"version": "0.1.0",
"repo": "Kazi-Aidah/blobob",
"screenshot": "assets/screenshot.png",
"modes": ["dark", "light"]
}

View file

@ -905,12 +905,13 @@
--background-modifier-border-focus: #5d503c;
}
/* .theme-dark ::selection,
.theme-dark ::selection,
.theme-light ::selection {
color: #ffffff;
background-color: hsl(var(--interactive-accent-hsl), 0.3) !important;
}
/*
.cm-highlight, mark {
padding: 2px 6px;
border-radius: 6px;
@ -3519,17 +3520,20 @@ a,
.clickable-icon {
transition: all 0.1s ease;
border-radius: 20px !important;
transition: 0.2s ease cubic-bezier(0.175, 0.885, 0.32, 1.275);
transform: scale(0.9);
}
.clickable-icon:hover {
/* transform: scale(1.2); */
transition: all 0.1s ease;
border-radius: 20px !important;
transform: scale(1);
}
.clickable-icon:active {
border-radius: 10px !important;
/* transform: scale(0.8); */
transform: scale(0.8);
color: var(--color-accent-1);
background-color: hsla(var(--interactive-accent-hsl), 0.2) !important;
}
@ -3564,6 +3568,13 @@ a,
}
.workspace-tab-header-new-tab .clickable-icon:hover {
border-radius: 20px !important;
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.2) !important;
transition: 0.2s ease !important;
}
.workspace-tab-header-new-tab .clickable-icon:active {
border-radius: 8px !important;
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.2) !important;
@ -3919,7 +3930,8 @@ vertical-tab-nav-item-icon,
.setting-hotkey,
.suggestion-hotkey {
color: var(--color-accent-2) !important;
/* color: var(--color-accent-2) !important; */
/* color: var(--text-on-accent); */
background-color: hsla(var(--interactive-accent-hsl), 0.3) !important;
border-radius: 20px;
}
@ -5503,7 +5515,6 @@ th {
/* ===== MIN MAX CLOSE BUTTONS ===== */
/* base titlebar buttons */
.titlebar-button {
position: relative;
background-color: transparent;
@ -5543,16 +5554,32 @@ th {
transform: scale(1.15);
}
.titlebar-button.mod-maximize:hover {
color: var(--color-yellow);
background-color: rgba(var(--color-yellow-rgb), 0.2) !important;
.g-min-y-max {
.titlebar-button.mod-maximize:hover {
color: var(--color-yellow);
background-color: rgba(var(--color-yellow-rgb), 0.2) !important;
}
.titlebar-button.mod-minimize:hover {
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.2) !important;
}
}
.titlebar-button.mod-minimize:hover {
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.2) !important;
.y-min-g-max {
.titlebar-button.mod-maximize:hover {
color: var(--color-green);
background-color: rgba(var(--color-green-rgb), 0.2) !important;
}
.titlebar-button.mod-minimize:hover {
color: var(--color-yellow);
background-color: rgba(var(--color-yellow-rgb), 0.2) !important;
}
}
/* close */
.titlebar-button.mod-close::before {
-webkit-mask-image: url("data:image/svg+xml;utf8,\
@ -6642,6 +6669,18 @@ settings:
- label: Centered
value: centered-statusbar
- id: color-min-max
title: Color Minimize & Maximize buttons
type: class-select
default: none
options:
- label: none
value: none
- label: Green-min Yellow-max
value: g-min-y-max
- label: Yellow-min Green-max
value: y-min-g-max
- id: hide-breadcrumbs
title: Hide Breadcrumbs
type: class-toggle