Skip to content

Commit

Permalink
feat(BetterBloom): add Better Bloom Theme
Browse files Browse the repository at this point in the history
  • Loading branch information
sanoojes committed May 9, 2024
1 parent 18a4673 commit 235ce27
Show file tree
Hide file tree
Showing 20 changed files with 2,329 additions and 251 deletions.
110 changes: 110 additions & 0 deletions BetterBloom/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Better-Bloom

Minimal Bloom theme inspired by [Bloom](https://github.com/nimsandu/spicetify-bloom)

## Screenshots

### Dark (default)

![Dark Preview](./images/base.png)
![Dark 1 Preview](./images/better-bloom-dark.png)
![Dark 2 Preview](./images/better-bloom-dark2.png)

### Light

![Light Preview](./images/better-bloom-light.png)

### Comfy

![Comfy Preview](./images/better-bloom-comfy.png)

### Darkgreen

![DarkGreen Preview](./images/better-bloom-darkgreen.png)

### Violet

![Violet Preview](./images/better-bloom-violet.png)

### Dark-Fluent

![Dark-Fluent Preview](./images/better-bloom-dark-fluent.png)

### Dark-Bloom

![Dark-Bloom Preview](./images/better-bloom-dark-bloom.png)

## Installation

### Scripts

#### Windows (Powershell)

```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/sanoojes/Better-Bloom/main/install/Better-Bloom.ps1') }"
# Scripts Taken From https://github.com/nimsandu/spicetify-bloom
```

### Spicetify Marketplace (will be added soon)

Simply install [spicetify-marketplace](https://github.com/spicetify/spicetify-marketplace) by following it's
[installation instructions](https://github.com/spicetify/spicetify-marketplace/wiki/Installation). Then look for `Better-Bloom` theme and click the install button.

### Manual Installation

Use this guide to install if you're having trouble using the shell commands/installation scripts:

1. Download this repo as [archive](https://codeload.github.com/sanoojes/Better-Bloom/zip/refs/heads/main).
2. Navigate to the Spicetify's `Themes` directory. Use `spicetify path userdata` command to get the path.
3. In the directory, create a new folder called `Better-Bloom`.
4. Open the downloaded repo archive, and move all of the files from the `src` subfolder to the `Better-Bloom` folder you created.
5. Open a terminal/command prompt window and type the following commands:

```shell
spicetify config current_theme Better-Bloom color_scheme dark
spicetify config inject_css 1 replace_colors 1 overwrite_assets 1 inject_theme_js 1
spicetify apply
```

## Customization

### Color Scheme

The `dark` color scheme is applied by default during the installation process. If you install Better-Bloom via PowerShell the installed color scheme depends on your Windows settings.

The available color schemes are: `dark` `light` `dark-green` `coffee` `comfy` `dark-fluent` . Apply one using the following commands:

```shell
spicetify config color_scheme <color scheme>
spicetify apply
```

If you installed Better-Bloom from Marketplace you can change the color scheme on its page.

### Accent Color

1. Navigate to the Spicetify's `Themes` directory. Use `spicetify path userdata` command to get the path.
2. Open `Better-Bloom` folder.
3. Edit your current color scheme in the `color.ini` file.
4. Use the `spicetify apply` command.

If you installed Better-Bloom from Marketplace you can change the accent color using built-in `Color.ini Editor`.

## Updating Theme

### Windows (PowerShell)

```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/sanoojes/Better-Bloom/main/install/Better-Bloom.ps1') } -Action Update"
```

## Credits

volumePercentage, quickQueue ,npvAmbience taken from [ohitstom/spicetify-extensions](https://github.com/ohitstom/spicetify-extensions)

## License

[MIT License](LICENSE)
Binary file added BetterBloom/images/base.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-coffee.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-comfy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-dark-bloom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-dark-fluent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-dark2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-darkgreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BetterBloom/images/better-bloom-violet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
139 changes: 139 additions & 0 deletions BetterBloom/install/Better-Bloom.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
[CmdletBinding()]
param (
[ValidateSet('Install', 'Uninstall', 'Update')]
[string]$Action = 'Install'
)
begin {
$ErrorActionPreference = 'Stop'
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$previousConsoleTitle = $Host.UI.RawUI.WindowTitle
$Host.UI.RawUI.WindowTitle = 'Better Bloom Installer'
}
process {
Clear-Host

Write-Verbose -Message 'Downloading Functions module...' -Verbose
$moduleName = 'Functions'
$modulePath = "$env:TEMP\$moduleName.psm1"
$Parameters = @{
Uri = (
'https://raw.githubusercontent.com/sanoojes/better-bloom/main/install/Functions.psm1'
)
UseBasicParsing = $true
OutFile = $modulePath
}
Invoke-WebRequest @Parameters
Import-Module -Name $modulePath

Clear-Host
Write-HelloMessage

$minimumPowerShellVersion = 5
$currentPowerShellVersion = $PSVersionTable.PSVersion.Major

if ($currentPowerShellVersion -lt $minimumPowerShellVersion) {
Write-Error -Message (
"Your PowerShell version is $currentPowerShellVersion.`n" +
"The minimum version required to run this script is $minimumPowerShellVersion."
)
}

$isSpicetifyInstalled = Test-Spicetify

switch ($Action) {
'Uninstall' {
if (-not $isSpicetifyInstalled) {
Write-Error -Message 'Failed to detect Spicetify installation!'
}

$spicetifyFolders = Get-SpicetifyFoldersPaths
$Parameters = @{
Path = $spicetifyFolders.bloomPath
Config = $spicetifyFolders.configPath
}

$Host.UI.RawUI.Flushinputbuffer()
$choice = $Host.UI.PromptForChoice(
'',
'Do you plan to use the marketplace to install the next theme?',
('&Yes', '&No'),
0
)
if ($choice -eq 0) {
$Parameters.Value = 'marketplace'
}

Uninstall-BetterBloom @Parameters
}
'Update' {
if (-not $isSpicetifyInstalled) {
Write-Error -Message 'Failed to detect Spicetify installation!'
}

$spicetifyFolders = Get-SpicetifyFoldersPaths
$Parameters = @{
Path = (Get-BetterBloom)
Destination = $spicetifyFolders.bloomPath
Config = $spicetifyFolders.configPath
Type = (Get-ThemeType -Path $spicetifyFolders.bloomPath)
}
Install-BetterBloom @Parameters
}
'Install' {
if (-not (Test-Spotify)) {
Write-Host -Object 'Spotify not found.' -ForegroundColor Yellow

$Host.UI.RawUI.Flushinputbuffer()
$choice = $Host.UI.PromptForChoice('', 'Install Spotify?', ('&Yes', '&No'), 0)
if ($choice -eq 1) {
exit
}

Install-Spotify
}

if (-not $isSpicetifyInstalled) {
Write-Host -Object 'Spicetify not found.' -ForegroundColor Yellow

$Host.UI.RawUI.Flushinputbuffer()
$choice = $Host.UI.PromptForChoice('', 'Install Spicetify?', ('&Yes', '&No'), 0)
if ($choice -eq 1) {
exit
}

Install-Spicetify
Install-Marketplace
}

$spicetifyFolders = Get-SpicetifyFoldersPaths
$Parameters = @{
Path = (Get-BetterBloom)
Destination = $spicetifyFolders.bloomPath
Config = $spicetifyFolders.configPath
ColorScheme = (Get-WindowsAppsTheme)
}

$Host.UI.RawUI.Flushinputbuffer()
$choice = $Host.UI.PromptForChoice(
'',
'Use the files that fetch all the code remotely (auto-update)' +
'or store all of the code locally (no auto-update)?',
('&Remote', '&Local'),
0
)
if ($choice -eq 1) {
$Parameters.Type = 'Local'
}

Install-BetterBloom @Parameters
}
}
}
end {
Write-ByeMessage
Remove-Module -Name $moduleName -Force
Remove-Item -Path $modulePath -Force
[Console]::Title = $previousConsoleTitle
Start-Sleep -Seconds 5
}
Loading

0 comments on commit 235ce27

Please sign in to comment.