Skip to content

ThemeChanger is a command line utility, designed to work primarily with Auto Dark Mode. It changes themes for programs that support dark mode, but do not obey dynamic/adaptive theming on Windows.

License

Notifications You must be signed in to change notification settings

sayandipdutta/themechanger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Program to change themes for certain programs that don't support Dynamic Themeing in Windows

Requirements:

  1. Windows 10 or higher
  2. Auto Dark Mode >= 10.0.0
  3. Golang >= 1.23.5 (If you plan to build from source)

Installation

go install github.com/sayandipdutta/themechanger

If you plan to build from source, you will need to install Go from here. After you are done installing. Get the repo and run the following command:

git clone https://github.com/sayandipdutta/themechanger.git
cd themechanger
go mod tidy
go build

themechanger.exe file will be created in the pwd.

You can then add it to your %PATH ($Env:PATH from powershell).

Usage

  1. Open the Auto Dark Mode scripts file (see Installation)
  2. Add the following line to the end of the file:
  - Name: ProgramThemeSwitcher
    Command: themechanger.exe  # if added to PATH, else the full path to the exe
    ArgsLight: [-light]
    ArgsDark: []
    AllowedSources: [Any]

The scripts.yml file should look like this:

Enabled: true
Component:
  TimeoutMillis: 10000
  Scripts:
  - Name: ProgramThemeSwitcher
    Command: themechanger.exe  # if added to PATH, else the full path to the exe
    ArgsLight: [-light]
    ArgsDark: []
    AllowedSources: [Any]

Usage of themeChange.exe is as follows:

Usage of themeChange.exe:

Flags:
  -light light
        If given, light theme will be set, otherwise `dark`.

Example:
.\themeChange.exe
.\themeChange.exe -light

Configuration:

themechanger looks for the config file in $Env:THEMECHANGER_CONFIG.

So populate a json file with the following structure:

{
  "YourAppName": {
    "light": "X:full\\path\\to\\light\\themeconfig\\for\\YourAppName",
    "dark": "X:full\\path\\to\\dark\\themeconfig\\for\\YourAppName",
    "configpath": "X:full\\path\\to\\YourApp's\\Default\\ConfigPath"
  },
  // ... other apps
}

And set the path of the file as $Env:THEMECHANGER_CONFIG

About

ThemeChanger is a command line utility, designed to work primarily with Auto Dark Mode. It changes themes for programs that support dark mode, but do not obey dynamic/adaptive theming on Windows.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages