Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(BetterBloom): add Betterbloom theme #1064

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading