Skip to content

Profile Management

Save and restore complete device configurations including brightness, effects, LED states, and animation layers.

profile

Manage device presets that capture the full lighting state.

Synopsis

uchroma profile <command> [args]
uchroma preset <command> [args]
uchroma prof <command> [args]

Commands

CommandAliasesDescription
listlsList saved profiles
save-Save current device state
loadapplyApply a saved profile
showcatDisplay profile contents
deleterm, removeDelete a profile

Listing Profiles

Show all saved profiles.

bash
$ uchroma profile list

 Saved Profiles:

  gaming            Razer BlackWidow V3 (2024-01-15 14:30)
  work              Razer BlackWidow V3 (2024-01-14 09:00)
  night             Razer BlackWidow V3 (2024-01-10 22:15)

If no profiles exist:

bash
$ uchroma profile list

 Saved Profiles:

  No profiles saved yet

  Save one with: uchroma profile save <name>

Saving Profiles

Capture the current device state as a named profile.

Synopsis

uchroma profile save <name> [options]

Options

OptionShortDescription
--force-fOverwrite existing profile

Examples

bash
# Save current state as "gaming"
$ uchroma profile save gaming
Saved profile: gaming
  ~/.config/uchroma/profiles/gaming.json

# Overwrite existing profile
$ uchroma profile save gaming --force
Saved profile: gaming
  ~/.config/uchroma/profiles/gaming.json

What Gets Saved

  • Device name and type
  • Serial number (for device matching)
  • Brightness level
  • Current hardware effect and its parameters
  • LED states (logo, scroll wheel, etc.)
  • Active animation layers and their settings

Loading Profiles

Apply a saved profile to a device.

Synopsis

uchroma profile load <name>
uchroma profile apply <name>

Examples

bash
# Load the "gaming" profile
$ uchroma profile load gaming
Loaded profile: gaming

# Load with specific device
$ uchroma -d blackwidow_v3 profile load work
Loaded profile: work

Partial Loading

If some settings cannot be applied (e.g., effect not available on device), a warning is shown but other settings are still applied:

bash
$ uchroma profile load gaming
Loaded profile with 1 warning(s)
  fx: Effect 'spectrum' not available on this device

Viewing Profile Contents

Display the contents of a saved profile without applying it.

Synopsis

uchroma profile show <name>
uchroma profile cat <name>

Example

bash
$ uchroma profile show gaming

 Profile: gaming

  device_name    Razer BlackWidow V3
  device_type    keyboard
  serial         XX1234567890
  created        2024-01-15 14:30:00

  brightness     ████████████████████ 100%
  effect         spectrum
  leds           backlight, logo
  layers         plasma, aurora

  File: ~/.config/uchroma/profiles/gaming.json

Deleting Profiles

Remove a saved profile.

Synopsis

uchroma profile delete <name>
uchroma profile rm <name>
uchroma profile remove <name>

Example

bash
$ uchroma profile delete old_profile
Deleted profile: old_profile

Profile Storage

Profiles are stored as JSON files in:

~/.config/uchroma/profiles/

Each profile is a separate file named <profile-name>.json.

Profile Format

json
{
  "created": "2024-01-15T14:30:00",
  "device_name": "Razer BlackWidow V3",
  "device_type": "keyboard",
  "serial": "XX1234567890",
  "brightness": 100,
  "fx": "spectrum",
  "fx_args": {},
  "leds": {
    "logo": {
      "state": "on",
      "color": "#00ff00"
    }
  },
  "layers": [
    {
      "renderer": "uchroma.fxlib.plasma.Plasma",
      "zindex": 0,
      "args": {
        "preset": "Rainbow"
      }
    }
  ]
}

Use Cases

Gaming Setup

bash
# Set up your gaming lighting
uchroma brightness 100
uchroma fx disable
uchroma anim add plasma --preset Rainbow
uchroma profile save gaming

# Later, restore it
uchroma profile load gaming

Work Mode

bash
# Subtle lighting for work
uchroma brightness 30
uchroma fx static --color "#ffffff"
uchroma profile save work

Night Mode

bash
# Dim lighting for night
uchroma brightness 10
uchroma fx static --color "#ff3300"
uchroma profile save night

Scripting with Profiles

bash
#!/bin/bash
# Switch profiles based on time of day

hour=$(date +%H)

if [ "$hour" -ge 22 ] || [ "$hour" -lt 6 ]; then
    uchroma profile load night
elif [ "$hour" -ge 9 ] && [ "$hour" -lt 18 ]; then
    uchroma profile load work
else
    uchroma profile load gaming
fi

  • brightness - Brightness control
  • fx - Hardware effects
  • anim - Animation layers
  • led - LED configuration

Released under the LGPL-3.0 License.