MCPcopy Index your code
hub / github.com/CodeDead/opal

github.com/CodeDead/opal @v1.5.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.1 ↗ · + Follow
195 symbols 449 edges 26 files 154 documented · 79%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Opal

Opal

GitHub GitHub GitHub release (latest by date) Test build

Opal is a free and open-source JavaFX application that can play relaxing music in the background.

Building

Windows

Installer

You can create an executable installer by running the jpackage Gradle task on a Windows host:

./gradlew jpackage

Do note that you will need the WiX Toolset in order to create msi packages.

Portable image

You can create a portable image by running the jpackageImage Gradle task on a Windows host:

./gradlew jpackageImage

Linux

rpm

You can create an rpm, by running the jpackage Gradle task on a Linux host:

./gradlew jpackage

Do note that you will need the rpm-build package in order to create an rpm.

AppImage

You can create an AppImage by executing the AppImage Gradle task on a Linux host:

./gradlew AppImage

Do note that running this task will execute a shell script in order to download and run the appimagetool in order to create the AppImage file.

Portable image

You can create a portable image by running the jpackageImage Gradle task on a Linux host:

./gradlew jpackageImage

macOS

dmg

You can create a dmg, by running the jpackage Gradle task on a macOS host:

./gradlew jpackage

Portable image

You can create a portable image by running the jpackageImage Gradle task on a macOS host:

./gradlew jpackageImage

Dependencies

A couple of dependencies are required in order to build Opal. Some of which require a specific host machine, especially if you're targeting a specific platform and installation method.

The following dependencies are universal:

Windows

MSI

In order to build an installer (MSI) of Opal on Windows, you will need:

Linux

rpm

In order to create an RPM, you will need to have the following package(s) installed:

  • rpm-build (dnf install rpm-build)

Credits

Audio

All audio files have been provided by ZapSplat.

Images

All images have been provided by Remix Icon.

About

This library is maintained by CodeDead. You can find more about us using the following links: * Website * Bluesky * Facebook * Reddit

Copyright © 2025 CodeDead

Extension points exported contracts — how you extend this code

IAudioTimer (Interface)
(no doc) [2 implementers]
src/main/java/com/codedead/opal/interfaces/IAudioTimer.java
TrayIconListener (Interface)
(no doc) [2 implementers]
src/main/java/com/codedead/opal/interfaces/TrayIconListener.java
IRunnableHelper (Interface)
(no doc) [2 implementers]
src/main/java/com/codedead/opal/interfaces/IRunnableHelper.java

Core symbols most depended-on inside this repo

getStringBinding
called by 65
src/main/java/com/codedead/opal/domain/ObservableResourceFactory.java
getNameLabel
called by 40
src/main/java/com/codedead/opal/domain/SoundPane.java
getProperties
called by 35
src/main/java/com/codedead/opal/controller/SettingsController.java
getResources
called by 27
src/main/java/com/codedead/opal/domain/ObservableResourceFactory.java
showErrorAlert
called by 19
src/main/java/com/codedead/opal/utils/FxUtils.java
getSoundPanes
called by 17
src/main/java/com/codedead/opal/controller/MainWindowController.java
getAllSoundPanes
called by 9
src/main/java/com/codedead/opal/controller/MainWindowController.java
getMajorVersion
called by 8
src/main/java/com/codedead/opal/domain/PlatformUpdate.java

Shape

Method 170
Class 21
Interface 3
Enum 1

Languages

Java100%

Modules by API surface

src/main/java/com/codedead/opal/controller/MainWindowController.java41 symbols
src/main/java/com/codedead/opal/domain/SoundPane.java24 symbols
src/main/java/com/codedead/opal/domain/PlatformUpdate.java19 symbols
src/main/java/com/codedead/opal/controller/SettingsController.java11 symbols
src/main/java/com/codedead/opal/controller/SettingsWindowController.java10 symbols
src/main/java/com/codedead/opal/utils/HelpUtils.java9 symbols
src/main/java/com/codedead/opal/controller/UpdateController.java9 symbols
src/main/java/com/codedead/opal/domain/ObservableResourceFactory.java7 symbols
src/main/java/com/codedead/opal/domain/NumberTextField.java7 symbols
src/main/java/com/codedead/opal/controller/TrayIconController.java7 symbols
src/main/java/com/codedead/opal/utils/FxUtils.java6 symbols
src/main/java/com/codedead/opal/controller/AboutWindowController.java6 symbols

For agents

$ claude mcp add opal \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact