diff --git a/.editorconfig b/.editorconfig
index 59257f1f0..ea47e2b2c 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -14,7 +14,7 @@ indent_size = 2
max_line_length = 120
ktlint_standard_backing-property-naming = disabled
ktlint_standard_function-naming = disabled
-ij_kotlin_packages_to_use_import_on_demand = io.github.kdroidfilter.nucleus.window.icons.**
+ij_kotlin_packages_to_use_import_on_demand = dev.nucleusframework.nucleus.window.icons.**
[**/generated/**]
ktlint = disabled
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index b3936b959..589f933f6 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,2 +1,2 @@
-github: kdroidFilter
+github: nucleusframework
ko_fi: lomityaesh
diff --git a/.github/workflows/build-natives.yaml b/.github/workflows/build-natives.yaml
index 457f9d56d..269eb9650 100644
--- a/.github/workflows/build-natives.yaml
+++ b/.github/workflows/build-natives.yaml
@@ -313,6 +313,42 @@ jobs:
path: media-control/src/main/resources/nucleus/native/win32-*/
retention-days: 1
+ - name: Setup Rust
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ targets: x86_64-pc-windows-msvc, aarch64-pc-windows-msvc
+
+ - name: Build decorated-window-tao Windows DLLs
+ shell: cmd
+ run: call decorated-window-tao\src\main\native\windows\build.bat
+
+ - name: Verify decorated-window-tao Windows natives
+ shell: bash
+ run: |
+ for f in \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_deco.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_gl.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_a11y.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_dnd.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_native_view.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_deco.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_gl.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_a11y.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_dnd.dll \
+ decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_native_view.dll; do
+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
+ echo "OK: $f ($(wc -c < "$f") bytes)"
+ done
+
+ - name: Upload decorated-window-tao Windows DLLs
+ uses: actions/upload-artifact@v4
+ with:
+ name: decorated-window-tao-windows
+ path: decorated-window-tao/src/main/resources/nucleus/native/win32-*/
+ retention-days: 1
+
macos:
runs-on: macos-latest
steps:
@@ -629,6 +665,40 @@ jobs:
path: media-control/src/main/resources/nucleus/native/darwin-*/
retention-days: 1
+ - name: Setup Rust
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ targets: aarch64-apple-darwin, x86_64-apple-darwin
+
+ - name: Build decorated-window-tao macOS dylibs
+ run: bash decorated-window-tao/src/main/native/macos/build.sh
+
+ - name: Verify decorated-window-tao macOS natives
+ run: |
+ for f in \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_metal.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_dnd.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_deco.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_popup.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_native_view.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_metal.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_dnd.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_deco.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_popup.dylib \
+ decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_native_view.dylib; do
+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
+ echo "OK: $f ($(wc -c < "$f") bytes)"
+ done
+
+ - name: Upload decorated-window-tao macOS dylibs
+ uses: actions/upload-artifact@v4
+ with:
+ name: decorated-window-tao-macos
+ path: decorated-window-tao/src/main/resources/nucleus/native/darwin-*/
+ retention-days: 1
+
linux:
runs-on: ${{ matrix.os }}
strategy:
@@ -650,7 +720,7 @@ jobs:
java-version: '21'
- name: Install build dependencies
- run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev libx11-dev libglib2.0-dev
+ run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev libx11-dev libglib2.0-dev libgtk-3-dev
- name: Build darkmode-detector Linux native shared library
run: bash darkmode-detector/src/main/native/linux/build.sh
@@ -859,3 +929,26 @@ jobs:
name: media-control-linux-${{ matrix.arch }}
path: media-control/src/main/resources/nucleus/native/linux-*/
retention-days: 1
+
+ - name: Setup Rust
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ targets: ${{ matrix.arch == 'x64' && 'x86_64-unknown-linux-gnu' || 'aarch64-unknown-linux-gnu' }}
+
+ - name: Build decorated-window-tao Linux shared library
+ run: bash decorated-window-tao/src/main/native/linux/build.sh
+
+ - name: Verify decorated-window-tao Linux native
+ run: |
+ for lib in libnucleus_tao.so libnucleus_tao_egl.so libnucleus_tao_linux_widget.so; do
+ f="decorated-window-tao/src/main/resources/nucleus/native/linux-${{ matrix.arch }}/$lib"
+ if [ ! -f "$f" ]; then echo "MISSING: $f" >&2; exit 1; fi
+ echo "OK: $f ($(wc -c < "$f") bytes)"
+ done
+
+ - name: Upload decorated-window-tao Linux shared library
+ uses: actions/upload-artifact@v4
+ with:
+ name: decorated-window-tao-linux-${{ matrix.arch }}
+ path: decorated-window-tao/src/main/resources/nucleus/native/linux-*/
+ retention-days: 1
diff --git a/.github/workflows/pre-merge.yaml b/.github/workflows/pre-merge.yaml
index 698c99d2b..c36022840 100644
--- a/.github/workflows/pre-merge.yaml
+++ b/.github/workflows/pre-merge.yaml
@@ -176,6 +176,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Verify all natives present
run: |
EXPECTED=(
@@ -265,6 +272,36 @@ jobs:
"media-control/src/main/resources/nucleus/native/darwin-x64/libnucleus_media_control_macos.dylib"
"media-control/src/main/resources/nucleus/native/win32-x64/nucleus_media_control_windows.dll"
"media-control/src/main/resources/nucleus/native/win32-aarch64/nucleus_media_control_windows.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_deco.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_gl.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_a11y.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_dnd.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_native_view.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_deco.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_gl.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_a11y.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_dnd.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_native_view.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_metal.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_dnd.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_deco.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_popup.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_native_view.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_metal.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_dnd.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_deco.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_popup.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_native_view.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao_egl.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao_linux_widget.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao_egl.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao_linux_widget.so"
)
MISSING=0
for f in "${EXPECTED[@]}"; do
diff --git a/.github/workflows/publish-maven.yaml b/.github/workflows/publish-maven.yaml
index 92d540a4e..c885151b3 100644
--- a/.github/workflows/publish-maven.yaml
+++ b/.github/workflows/publish-maven.yaml
@@ -171,6 +171,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Verify all natives present
run: |
EXPECTED=(
@@ -260,6 +267,36 @@ jobs:
"media-control/src/main/resources/nucleus/native/darwin-x64/libnucleus_media_control_macos.dylib"
"media-control/src/main/resources/nucleus/native/win32-x64/nucleus_media_control_windows.dll"
"media-control/src/main/resources/nucleus/native/win32-aarch64/nucleus_media_control_windows.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_deco.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_gl.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_a11y.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_dnd.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-x64/nucleus_tao_windows_native_view.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_deco.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_gl.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_a11y.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_dnd.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/win32-aarch64/nucleus_tao_windows_native_view.dll"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_metal.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_dnd.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_deco.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_popup.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-aarch64/libnucleus_tao_macos_native_view.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_metal.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_dnd.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_deco.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_popup.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/darwin-x64/libnucleus_tao_macos_native_view.dylib"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao_egl.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-x64/libnucleus_tao_linux_widget.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao_egl.so"
+ "decorated-window-tao/src/main/resources/nucleus/native/linux-aarch64/libnucleus_tao_linux_widget.so"
)
MISSING=0
for f in "${EXPECTED[@]}"; do
diff --git a/.github/workflows/publish-plugin.yaml b/.github/workflows/publish-plugin.yaml
index c7dfcd442..cc0476829 100644
--- a/.github/workflows/publish-plugin.yaml
+++ b/.github/workflows/publish-plugin.yaml
@@ -177,6 +177,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Cache Gradle Caches
uses: gradle/actions/setup-gradle@v5
diff --git a/.github/workflows/release-graalvm.yaml b/.github/workflows/release-graalvm.yaml
index 59d34a39c..fea6324b5 100644
--- a/.github/workflows/release-graalvm.yaml
+++ b/.github/workflows/release-graalvm.yaml
@@ -202,6 +202,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Setup Nucleus (GraalVM)
uses: ./.github/actions/setup-nucleus
with:
diff --git a/.github/workflows/test-graalvm.yaml b/.github/workflows/test-graalvm.yaml
index 961a5be8e..8bbc9787a 100644
--- a/.github/workflows/test-graalvm.yaml
+++ b/.github/workflows/test-graalvm.yaml
@@ -187,6 +187,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Setup Nucleus (GraalVM)
uses: ./.github/actions/setup-nucleus
with:
diff --git a/.github/workflows/test-packaging.yaml b/.github/workflows/test-packaging.yaml
index bd373530e..af894e0e9 100644
--- a/.github/workflows/test-packaging.yaml
+++ b/.github/workflows/test-packaging.yaml
@@ -214,6 +214,13 @@ jobs:
pattern: 'media-control-*'
merge-multiple: true
+ - name: Download decorated-window-tao artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: decorated-window-tao/src/main/resources/nucleus/native/
+ pattern: 'decorated-window-tao-*'
+ merge-multiple: true
+
- name: Build packages
shell: bash
run: ./gradlew :example:packageReleaseDistributionForCurrentOS --stacktrace --no-daemon
diff --git a/CLAUDE.md b/CLAUDE.md
index 284e3fa1c..71af806ca 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -63,7 +63,7 @@ When creating a new module with platform-specific JNI libraries, all steps below
1. **Native source** — `/src/main/native/{linux,macos,windows}/` with `build.sh`/`build.bat` + C/ObjC source. Library name: `nucleus_`. Linux: prefer `dlopen` over hard compile-time deps.
2. **Build output** — scripts must place binaries in `/src/main/resources/nucleus/native/{linux-x64,linux-aarch64,darwin-x64,darwin-aarch64,win32-x64,win32-aarch64}/`. Build scripts must also clear the `NativeLibraryLoader` cache (`~/.cache/nucleus/native//`) after compilation, otherwise the loader serves the stale cached copy instead of the freshly built library.
3. **Kotlin JNI bridge** — `internal object` using `NativeLibraryLoader.load()` with `@JvmStatic external` methods. Always provide a Kotlin fallback when native lib is unavailable.
-4. **GraalVM reachability metadata** — create `/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus./reachability-metadata.json` declaring all JNI-accessible classes/methods. Without this, native-image silently eliminates the bridge.
+4. **GraalVM reachability metadata** — create `/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus./reachability-metadata.json` declaring all JNI-accessible classes/methods. Without this, native-image silently eliminates the bridge.
5. **CI build** (`build-natives.yaml`) — add build + verify + upload steps for each platform (Windows, macOS, Linux matrix x64+aarch64). Artifact naming: `-`.
6. **CI consumers** — add download step + EXPECTED verify entries (all 6 arch paths) in **every** consumer workflow: `pre-merge.yaml`, `publish-maven.yaml`, `publish-plugin.yaml`, `test-packaging.yaml`, `test-graalvm.yaml`, `release-graalvm.yaml`.
diff --git a/IDEAL_API.md b/IDEAL_API.md
index 498e9db30..393e82175 100644
--- a/IDEAL_API.md
+++ b/IDEAL_API.md
@@ -20,7 +20,7 @@ Everything else stays exactly as it is today. Each OS integration keeps its nati
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version "1.4.0"
+ id("dev.nucleusframework.nucleus") version "1.4.0"
}
nucleus {
@@ -33,7 +33,7 @@ nucleus {
dependencies {
implementation(compose.desktop.currentOs)
- implementation("io.github.kdroidfilter:nucleus.application-runtime:1.4.0")
+ implementation("dev.nucleusframework:nucleus.application-runtime:1.4.0")
}
```
diff --git a/README.md b/README.md
index a4502fa36..2c97c7436 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,8 @@
# Nucleus
-[](https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus)
-[](https://central.sonatype.com/search?q=io.github.kdroidfilter.nucleus)
+[](https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus)
+[](https://central.sonatype.com/search?q=dev.nucleusframework.nucleus)
[](https://github.com/kdroidFilter/Nucleus/actions/workflows/pre-merge.yaml)
[](https://github.com/kdroidFilter/Nucleus/blob/main/LICENSE)

@@ -65,7 +65,7 @@ Java evolved into Kotlin. JavaScript evolved into TypeScript. Desktop developmen
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
nucleus.application {
diff --git a/aot-runtime/build.gradle.kts b/aot-runtime/build.gradle.kts
index 48c798e46..a41165ddc 100644
--- a/aot-runtime/build.gradle.kts
+++ b/aot-runtime/build.gradle.kts
@@ -30,7 +30,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.aot-runtime", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.aot-runtime", publishVersion)
pom {
name.set("Nucleus AOT Runtime")
@@ -46,7 +46,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/aot-runtime/config/ktlint/baseline.xml b/aot-runtime/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/aot-runtime/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntime.kt b/aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntime.kt
similarity index 94%
rename from aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntime.kt
rename to aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntime.kt
index 5f387c6b7..c56d8afa2 100644
--- a/aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntime.kt
+++ b/aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntime.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.aot.runtime
+package dev.nucleusframework.nucleus.aot.runtime
public enum class AotRuntimeMode {
OFF,
diff --git a/aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntime.kt b/aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntime.kt
new file mode 100644
index 000000000..7cf2e9978
--- /dev/null
+++ b/aot-runtime/src/main/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntime.kt
@@ -0,0 +1,5 @@
+package dev.nucleusframework.nucleus.aot.runtime
+
+public typealias ExecutableType = dev.nucleusframework.nucleus.core.runtime.ExecutableType
+
+public typealias ExecutableRuntime = dev.nucleusframework.nucleus.core.runtime.ExecutableRuntime
diff --git a/aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntime.kt b/aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntime.kt
deleted file mode 100644
index f77e3ea13..000000000
--- a/aot-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntime.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package io.github.kdroidfilter.nucleus.aot.runtime
-
-public typealias ExecutableType = io.github.kdroidfilter.nucleus.core.runtime.ExecutableType
-
-public typealias ExecutableRuntime = io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
diff --git a/aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntimeTest.kt b/aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntimeTest.kt
similarity index 96%
rename from aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntimeTest.kt
rename to aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntimeTest.kt
index 918203841..f0006e7c6 100644
--- a/aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/AotRuntimeTest.kt
+++ b/aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/AotRuntimeTest.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.aot.runtime
+package dev.nucleusframework.nucleus.aot.runtime
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
diff --git a/aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntimeTest.kt b/aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntimeTest.kt
similarity index 98%
rename from aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntimeTest.kt
rename to aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntimeTest.kt
index 596273d87..25b2e0bad 100644
--- a/aot-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/aot/runtime/ExecutableRuntimeTest.kt
+++ b/aot-runtime/src/test/kotlin/dev/nucleusframework/nucleus/aot/runtime/ExecutableRuntimeTest.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.aot.runtime
+package dev.nucleusframework.nucleus.aot.runtime
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
diff --git a/autolaunch/build.gradle.kts b/autolaunch/build.gradle.kts
index 17c4fbab0..ee199f9b1 100644
--- a/autolaunch/build.gradle.kts
+++ b/autolaunch/build.gradle.kts
@@ -75,7 +75,7 @@ tasks.configureEach {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.autolaunch", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.autolaunch", publishVersion)
pom {
name.set("Nucleus Autolaunch")
@@ -91,7 +91,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/autolaunch/config/ktlint/baseline.xml b/autolaunch/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/autolaunch/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunch.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunch.kt
similarity index 94%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunch.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunch.kt
index 2dc0a8906..0742cc71e 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunch.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunch.kt
@@ -1,13 +1,13 @@
-package io.github.kdroidfilter.nucleus.autolaunch
+package dev.nucleusframework.nucleus.autolaunch
-import io.github.kdroidfilter.nucleus.autolaunch.linux.LinuxAutoLaunch
-import io.github.kdroidfilter.nucleus.autolaunch.windows.NativeAutoLaunchBridge
-import io.github.kdroidfilter.nucleus.autolaunch.windows.WindowsAutoLaunch
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableType
+import dev.nucleusframework.nucleus.autolaunch.linux.LinuxAutoLaunch
+import dev.nucleusframework.nucleus.autolaunch.windows.NativeAutoLaunchBridge
+import dev.nucleusframework.nucleus.autolaunch.windows.WindowsAutoLaunch
+import dev.nucleusframework.nucleus.core.runtime.ExecutableRuntime
+import dev.nucleusframework.nucleus.core.runtime.ExecutableType
private const val MAC_SMAPPSERVICE_BACKEND_CLASS =
- "io.github.kdroidfilter.nucleus.autolaunch.macos.MacSMAppServiceBackend"
+ "dev.nucleusframework.nucleus.autolaunch.macos.MacSMAppServiceBackend"
/**
* Cross-platform auto-launch at user login.
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchBackend.kt
similarity index 96%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchBackend.kt
index 2e26b2674..0d275b9a0 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchBackend.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.autolaunch
+package dev.nucleusframework.nucleus.autolaunch
/** Internal SPI implemented by each platform/packaging backend. */
internal interface AutoLaunchBackend {
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchConfig.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchConfig.kt
similarity index 90%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchConfig.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchConfig.kt
index 87f8b3287..c70067211 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchConfig.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchConfig.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.autolaunch
+package dev.nucleusframework.nucleus.autolaunch
/**
- * Optional overrides for auto-launch. Defaults fall back to [io.github.kdroidfilter.nucleus.core.runtime.NucleusApp].
+ * Optional overrides for auto-launch. Defaults fall back to [dev.nucleusframework.nucleus.core.runtime.NucleusApp].
*
* Configure before the first call to [AutoLaunch.state]/`enable`/`disable`:
* ```
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchState.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchState.kt
similarity index 97%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchState.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchState.kt
index a4e1a1898..1919ce901 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/AutoLaunchState.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/AutoLaunchState.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.autolaunch
+package dev.nucleusframework.nucleus.autolaunch
/**
* The current state of auto-launch at user login for this application.
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/FlatpakPortalBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/FlatpakPortalBackend.kt
similarity index 93%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/FlatpakPortalBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/FlatpakPortalBackend.kt
index d79d38cc0..a2e807d25 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/FlatpakPortalBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/FlatpakPortalBackend.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.autolaunch.linux
-
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.autolaunch.containsAutostartMarker
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+package dev.nucleusframework.nucleus.autolaunch.linux
+
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.autolaunch.containsAutostartMarker
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
import java.io.IOException
import java.nio.file.Path
import kotlin.io.path.createDirectories
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/LinuxAutoLaunch.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/LinuxAutoLaunch.kt
similarity index 83%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/LinuxAutoLaunch.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/LinuxAutoLaunch.kt
index 0b5f8a980..19b84d433 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/LinuxAutoLaunch.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/LinuxAutoLaunch.kt
@@ -1,9 +1,9 @@
-package io.github.kdroidfilter.nucleus.autolaunch.linux
+package dev.nucleusframework.nucleus.autolaunch.linux
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.core.runtime.ExecutableRuntime
/**
* Linux dispatcher. Chooses between systemd user service (host) and
@@ -16,7 +16,7 @@ import io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
* **Flatpak** — [FlatpakPortalBackend]
* - the sandbox cannot reach the host's systemd; portal is the only option
* - detects login launch via the CLI marker
- * ([io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig.autostartArgument])
+ * ([dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig.autostartArgument])
* injected into the portal's `commandline` (safe: `flatpak run ` has no spaces,
* so the portal's quoting bug on `Exec=` does not strike)
*/
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt
similarity index 94%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt
index 8695d77a5..32d91b75b 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/NativeAutoLaunchLinuxBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.autolaunch.linux
+package dev.nucleusframework.nucleus.autolaunch.linux
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_autolaunch_linux"
@@ -14,8 +14,8 @@ private const val LIBRARY_NAME = "nucleus_autolaunch_linux"
* talk to the host's systemd) — [requestBackground].
*
* All methods return status codes instead of throwing; the Kotlin side maps them
- * to [io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState] /
- * [io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult].
+ * to [dev.nucleusframework.nucleus.autolaunch.AutoLaunchState] /
+ * [dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult].
*/
@Suppress("TooManyFunctions")
internal object NativeAutoLaunchLinuxBridge {
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/SystemdUserBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/SystemdUserBackend.kt
similarity index 94%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/SystemdUserBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/SystemdUserBackend.kt
index 0f8bf8af0..92bfb53f9 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/linux/SystemdUserBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/linux/SystemdUserBackend.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.autolaunch.linux
+package dev.nucleusframework.nucleus.autolaunch.linux
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
import java.io.IOException
import java.nio.file.Files
import java.nio.file.Path
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt
similarity index 90%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt
index 8872f32d2..ddd06d783 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/macos/MacSMAppServiceBackend.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.autolaunch.macos
+package dev.nucleusframework.nucleus.autolaunch.macos
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.servicemanagement.AppService
-import io.github.kdroidfilter.nucleus.servicemanagement.AppServiceManager
-import io.github.kdroidfilter.nucleus.servicemanagement.AppServiceStatus
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.servicemanagement.AppService
+import dev.nucleusframework.nucleus.servicemanagement.AppServiceManager
+import dev.nucleusframework.nucleus.servicemanagement.AppServiceStatus
/**
* Unified macOS backend using `SMAppService.mainApp` (macOS 13.0+).
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt
similarity index 89%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt
index b4c88ee90..c0dda7f12 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/MsixStartupTaskBackend.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.autolaunch.windows
+package dev.nucleusframework.nucleus.autolaunch.windows
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
/**
* MSIX / packaged desktop backend. Requires ``
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt
similarity index 93%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt
index d64590a31..1a928058e 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/NativeAutoLaunchBridge.kt
@@ -1,13 +1,13 @@
-package io.github.kdroidfilter.nucleus.autolaunch.windows
+package dev.nucleusframework.nucleus.autolaunch.windows
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_autolaunch"
/**
* JNI bridge. All methods return status codes instead of throwing — the
- * Kotlin side maps them to [io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState] /
- * [io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult].
+ * Kotlin side maps them to [dev.nucleusframework.nucleus.autolaunch.AutoLaunchState] /
+ * [dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult].
*/
@Suppress("TooManyFunctions")
internal object NativeAutoLaunchBridge {
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/Win32RegistryBackend.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/Win32RegistryBackend.kt
similarity index 88%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/Win32RegistryBackend.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/Win32RegistryBackend.kt
index 366b76b54..2c31e79f8 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/Win32RegistryBackend.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/Win32RegistryBackend.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.autolaunch.windows
+package dev.nucleusframework.nucleus.autolaunch.windows
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
/**
* Registry-based backend for classic Win32 apps (MSI / NSIS / portable).
diff --git a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/WindowsAutoLaunch.kt b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/WindowsAutoLaunch.kt
similarity index 81%
rename from autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/WindowsAutoLaunch.kt
rename to autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/WindowsAutoLaunch.kt
index b72694b7f..1a39ca61c 100644
--- a/autolaunch/src/main/kotlin/io/github/kdroidfilter/nucleus/autolaunch/windows/WindowsAutoLaunch.kt
+++ b/autolaunch/src/main/kotlin/dev/nucleusframework/nucleus/autolaunch/windows/WindowsAutoLaunch.kt
@@ -1,8 +1,8 @@
-package io.github.kdroidfilter.nucleus.autolaunch.windows
+package dev.nucleusframework.nucleus.autolaunch.windows
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchBackend
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchBackend
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
/**
* Windows dispatcher. Chooses between MSIX StartupTask API and Win32 registry
diff --git a/autolaunch/src/main/native/linux/nucleus_autolaunch_linux.c b/autolaunch/src/main/native/linux/nucleus_autolaunch_linux.c
index 13afdfae9..565737390 100644
--- a/autolaunch/src/main/native/linux/nucleus_autolaunch_linux.c
+++ b/autolaunch/src/main/native/linux/nucleus_autolaunch_linux.c
@@ -160,7 +160,7 @@ static void on_response_signal(GDBusConnection *c,
/* ==== nativeIsPortalAvailable ========================================== */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeIsPortalAvailable(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeIsPortalAvailable(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -196,7 +196,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeRequestBackground(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeRequestBackground(
JNIEnv *env, jclass clazz,
jboolean enable,
jobjectArray j_commandline,
@@ -391,7 +391,7 @@ static int systemd_reload(GDBusConnection *conn) {
/* ==== nativeWriteUnitFile ============================================== */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeWriteUnitFile(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeWriteUnitFile(
JNIEnv *env, jclass clazz,
jstring j_unit_name, jstring j_content)
{
@@ -431,7 +431,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
/* ==== nativeDeleteUnitFile ============================================= */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeDeleteUnitFile(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeDeleteUnitFile(
JNIEnv *env, jclass clazz, jstring j_unit_name)
{
(void)clazz;
@@ -452,7 +452,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
/* ==== nativeEnableUnit ================================================= */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeEnableUnit(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeEnableUnit(
JNIEnv *env, jclass clazz, jstring j_unit_name)
{
(void)clazz;
@@ -494,7 +494,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
/* ==== nativeDisableUnit ================================================ */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeDisableUnit(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeDisableUnit(
JNIEnv *env, jclass clazz, jstring j_unit_name)
{
(void)clazz;
@@ -537,7 +537,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
/* ==== nativeGetUnitFileState =========================================== */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeGetUnitFileState(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeGetUnitFileState(
JNIEnv *env, jclass clazz, jstring j_unit_name)
{
(void)clazz;
@@ -589,7 +589,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge
/* ==== nativeGetDiagnostic ============================================== */
JNIEXPORT jstring JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeGetDiagnostic(
+Java_dev_nucleusframework_nucleus_autolaunch_linux_NativeAutoLaunchLinuxBridge_nativeGetDiagnostic(
JNIEnv *env, jclass clazz)
{
(void)clazz;
diff --git a/autolaunch/src/main/native/windows/nucleus_autolaunch.cpp b/autolaunch/src/main/native/windows/nucleus_autolaunch.cpp
index b5a802f73..ffe469611 100644
--- a/autolaunch/src/main/native/windows/nucleus_autolaunch.cpp
+++ b/autolaunch/src/main/native/windows/nucleus_autolaunch.cpp
@@ -119,7 +119,7 @@ static bool isCurrentProcessPackaged() {
}
extern "C" JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsPackaged(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsPackaged(
JNIEnv *env, jclass clazz) {
(void)env; (void)clazz;
bool p = isCurrentProcessPackaged();
@@ -128,7 +128,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
}
extern "C" JNIEXPORT jstring JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeGetDiagnostic(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeGetDiagnostic(
JNIEnv *env, jclass clazz) {
(void)clazz;
std::lock_guard lock(g_diagMutex);
@@ -146,7 +146,7 @@ static const wchar_t *SA_RUN_KEY =
// Returns: 0 = not present, 1 = enabled, 2 = disabled-by-user, -1 = error
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegReadState(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegReadState(
JNIEnv *env, jclass clazz, jstring jValueName) {
(void)clazz;
std::wstring name = toWString(env, jValueName);
@@ -184,7 +184,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegWriteRun(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegWriteRun(
JNIEnv *env, jclass clazz, jstring jValueName, jstring jCommand) {
(void)clazz;
std::wstring name = toWString(env, jValueName);
@@ -204,7 +204,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegDeleteRun(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeRegDeleteRun(
JNIEnv *env, jclass clazz, jstring jValueName, jboolean alsoSa) {
(void)clazz;
std::wstring name = toWString(env, jValueName);
@@ -287,7 +287,7 @@ static HRESULT findStartupTask(const std::wstring &taskId, ComPtr
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixGetState(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixGetState(
JNIEnv *env, jclass clazz, jstring jTaskId) {
(void)clazz;
std::wstring taskId = toWString(env, jTaskId);
@@ -303,7 +303,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixRequestEnable(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixRequestEnable(
JNIEnv *env, jclass clazz, jstring jTaskId) {
(void)clazz;
std::wstring taskId = toWString(env, jTaskId);
@@ -336,7 +336,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
// frameworks (rarely) may interfere.
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsStartupActivation(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsStartupActivation(
JNIEnv *env, jclass clazz) {
(void)env; (void)clazz;
@@ -463,7 +463,7 @@ static bool resolveExternalAncestorName(wchar_t *outName, size_t cchName) {
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsLaunchedByTaskScheduler(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeIsLaunchedByTaskScheduler(
JNIEnv *env, jclass clazz) {
(void)env; (void)clazz;
@@ -488,7 +488,7 @@ Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_na
}
extern "C" JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixDisable(
+Java_dev_nucleusframework_nucleus_autolaunch_windows_NativeAutoLaunchBridge_nativeMsixDisable(
JNIEnv *env, jclass clazz, jstring jTaskId) {
(void)clazz;
std::wstring taskId = toWString(env, jTaskId);
diff --git a/autolaunch/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.autolaunch/reachability-metadata.json b/autolaunch/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.autolaunch/reachability-metadata.json
new file mode 100644
index 000000000..0e3597206
--- /dev/null
+++ b/autolaunch/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.autolaunch/reachability-metadata.json
@@ -0,0 +1,12 @@
+{
+ "reflection": [
+ {
+ "type": "dev.nucleusframework.nucleus.autolaunch.windows.NativeAutoLaunchBridge",
+ "jniAccessible": true
+ },
+ {
+ "type": "dev.nucleusframework.nucleus.autolaunch.linux.NativeAutoLaunchLinuxBridge",
+ "jniAccessible": true
+ }
+ ]
+}
diff --git a/autolaunch/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.autolaunch/reachability-metadata.json b/autolaunch/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.autolaunch/reachability-metadata.json
deleted file mode 100644
index 4fa7e897b..000000000
--- a/autolaunch/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.autolaunch/reachability-metadata.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "reflection": [
- {
- "type": "io.github.kdroidfilter.nucleus.autolaunch.windows.NativeAutoLaunchBridge",
- "jniAccessible": true
- },
- {
- "type": "io.github.kdroidfilter.nucleus.autolaunch.linux.NativeAutoLaunchLinuxBridge",
- "jniAccessible": true
- }
- ]
-}
diff --git a/autolaunch/src/test/kotlin/io/github/kdroidfilter/nucleus/autolaunch/Win32RegistryBackendTest.kt b/autolaunch/src/test/kotlin/dev/nucleusframework/nucleus/autolaunch/Win32RegistryBackendTest.kt
similarity index 91%
rename from autolaunch/src/test/kotlin/io/github/kdroidfilter/nucleus/autolaunch/Win32RegistryBackendTest.kt
rename to autolaunch/src/test/kotlin/dev/nucleusframework/nucleus/autolaunch/Win32RegistryBackendTest.kt
index 3104edd78..7eeb9d91c 100644
--- a/autolaunch/src/test/kotlin/io/github/kdroidfilter/nucleus/autolaunch/Win32RegistryBackendTest.kt
+++ b/autolaunch/src/test/kotlin/dev/nucleusframework/nucleus/autolaunch/Win32RegistryBackendTest.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.autolaunch
+package dev.nucleusframework.nucleus.autolaunch
-import io.github.kdroidfilter.nucleus.autolaunch.windows.NativeAutoLaunchBridge
-import io.github.kdroidfilter.nucleus.autolaunch.windows.Win32RegistryBackend
+import dev.nucleusframework.nucleus.autolaunch.windows.NativeAutoLaunchBridge
+import dev.nucleusframework.nucleus.autolaunch.windows.Win32RegistryBackend
import kotlin.test.AfterTest
import kotlin.test.BeforeTest
import kotlin.test.Test
diff --git a/build.gradle.kts b/build.gradle.kts
index bd481892b..18c565bca 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -98,6 +98,7 @@ tasks.register("preMerge") {
dependsOn(":decorated-window-core:check")
dependsOn(":decorated-window-jbr:check")
dependsOn(":decorated-window-jni:check")
+ dependsOn(":decorated-window-tao:check")
dependsOn(":decorated-window-jewel:check")
dependsOn(":decorated-window-material2:check")
dependsOn(":decorated-window-material3:check")
@@ -116,6 +117,24 @@ tasks.register("preMerge") {
dependsOn(gradle.includedBuild("plugin-build").task(":plugin:validatePlugins"))
}
+tasks.register("cleanAllNative", Delete::class.java) {
+ description = "Deletes all generated native files"
+ group = "build"
+
+ subprojects {
+ delete(layout.projectDirectory.dir("src/main/resources/nucleus/native"))
+ delete(layout.projectDirectory.dir("src/main/native/target"))
+ delete(
+ fileTree(layout.projectDirectory.dir("src/main/native")) {
+ include("**/*.obj", "**/*.exp", "**/*.lib", "**/*.pdb")
+ },
+ )
+ }
+ delete(rootProject.layout.projectDirectory.dir("sample-tao/src/main/native/windows/packages"))
+ delete(rootProject.layout.projectDirectory.file("sample-tao/src/main/native/windows/nuget.exe"))
+ delete(rootProject.layout.projectDirectory.file("sample-tao/src/main/native/windows/build_log.txt"))
+}
+
tasks.wrapper {
distributionType = Wrapper.DistributionType.ALL
}
diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml
index 80a3d6bca..adda197f2 100644
--- a/config/detekt/detekt.yml
+++ b/config/detekt/detekt.yml
@@ -856,6 +856,6 @@ style:
active: true
excludeImports:
- 'java.util.*'
- - 'io.github.kdroidfilter.nucleus.window.icons.linux.gnome.*'
- - 'io.github.kdroidfilter.nucleus.window.icons.linux.kde.*'
- - 'io.github.kdroidfilter.nucleus.window.icons.windows.*'
+ - 'dev.nucleusframework.nucleus.window.icons.linux.gnome.*'
+ - 'dev.nucleusframework.nucleus.window.icons.linux.kde.*'
+ - 'dev.nucleusframework.nucleus.window.icons.windows.*'
diff --git a/config/ktlint/baseline.xml b/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/core-runtime/build.gradle.kts b/core-runtime/build.gradle.kts
index f1ec123bf..46090234f 100644
--- a/core-runtime/build.gradle.kts
+++ b/core-runtime/build.gradle.kts
@@ -29,7 +29,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.core-runtime", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.core-runtime", publishVersion)
pom {
name.set("Nucleus Core Runtime")
@@ -45,7 +45,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/core-runtime/config/ktlint/baseline.xml b/core-runtime/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/core-runtime/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/core-runtime/detekt-baseline.xml b/core-runtime/detekt-baseline.xml
new file mode 100644
index 000000000..14b92d2b5
--- /dev/null
+++ b/core-runtime/detekt-baseline.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ LoopWithTooManyJumpStatements:NativeLibraryLoader.kt:NativeLibraryLoader$for
+ TooGenericExceptionCaught:NativeLibraryLoader.kt:NativeLibraryLoader$e: Exception
+
+
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/DeepLinkHandler.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/DeepLinkHandler.kt
similarity index 96%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/DeepLinkHandler.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/DeepLinkHandler.kt
index 223206125..b4b66e225 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/DeepLinkHandler.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/DeepLinkHandler.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
-import io.github.kdroidfilter.nucleus.core.runtime.tools.debugln
-import io.github.kdroidfilter.nucleus.core.runtime.tools.errorln
+import dev.nucleusframework.nucleus.core.runtime.tools.debugln
+import dev.nucleusframework.nucleus.core.runtime.tools.errorln
import java.awt.Desktop
import java.io.IOException
import java.net.URI
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntime.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntime.kt
similarity index 98%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntime.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntime.kt
index ccb4df9e1..d2b26da54 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntime.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntime.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import java.io.File
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/LinuxDesktopEnvironment.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/LinuxDesktopEnvironment.kt
similarity index 94%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/LinuxDesktopEnvironment.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/LinuxDesktopEnvironment.kt
index 3e1f0688b..b90102cc3 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/LinuxDesktopEnvironment.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/LinuxDesktopEnvironment.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import java.util.Locale
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NativeLibraryLoader.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NativeLibraryLoader.kt
similarity index 99%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NativeLibraryLoader.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NativeLibraryLoader.kt
index 62e497e7d..d5f2d7808 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NativeLibraryLoader.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NativeLibraryLoader.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import java.net.JarURLConnection
import java.nio.file.Files
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusApp.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusApp.kt
similarity index 97%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusApp.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusApp.kt
index a4486f586..7e49a68a3 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusApp.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusApp.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
-import io.github.kdroidfilter.nucleus.core.runtime.tools.AppIdProvider
+import dev.nucleusframework.nucleus.core.runtime.tools.AppIdProvider
import java.util.Properties
/**
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/Platform.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/Platform.kt
similarity index 93%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/Platform.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/Platform.kt
index c15643748..d76f07127 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/Platform.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/Platform.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import java.util.Locale
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManager.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManager.kt
similarity index 97%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManager.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManager.kt
index 6ca8a46d3..640feb041 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManager.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManager.kt
@@ -1,8 +1,8 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
-import io.github.kdroidfilter.nucleus.core.runtime.tools.AppIdProvider
-import io.github.kdroidfilter.nucleus.core.runtime.tools.debugln
-import io.github.kdroidfilter.nucleus.core.runtime.tools.errorln
+import dev.nucleusframework.nucleus.core.runtime.tools.AppIdProvider
+import dev.nucleusframework.nucleus.core.runtime.tools.debugln
+import dev.nucleusframework.nucleus.core.runtime.tools.errorln
import java.io.File
import java.io.IOException
import java.io.RandomAccessFile
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/AppIdProvider.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/AppIdProvider.kt
similarity index 97%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/AppIdProvider.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/AppIdProvider.kt
index 43dcc4813..62c245c6d 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/AppIdProvider.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/AppIdProvider.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime.tools
+package dev.nucleusframework.nucleus.core.runtime.tools
/**
* Provides a unique, stable application identifier to namespace shared resources
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt
similarity index 97%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt
index 481c1a3b5..21e01542e 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/LinuxDesktopFileDetector.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.core.runtime.tools
+package dev.nucleusframework.nucleus.core.runtime.tools
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
import java.io.File
import java.nio.file.Files
import java.nio.file.Path
diff --git a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/Logger.kt b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/Logger.kt
similarity index 81%
rename from core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/Logger.kt
rename to core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/Logger.kt
index ec4062023..8733b5f81 100644
--- a/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/tools/Logger.kt
+++ b/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/tools/Logger.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.core.runtime.tools
+package dev.nucleusframework.nucleus.core.runtime.tools
-import io.github.kdroidfilter.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.DEBUG
-import io.github.kdroidfilter.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.ERROR
-import io.github.kdroidfilter.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.INFO
-import io.github.kdroidfilter.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.VERBOSE
-import io.github.kdroidfilter.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.WARN
+import dev.nucleusframework.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.DEBUG
+import dev.nucleusframework.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.ERROR
+import dev.nucleusframework.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.INFO
+import dev.nucleusframework.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.VERBOSE
+import dev.nucleusframework.nucleus.core.runtime.tools.ComposeNativeTrayLoggingLevel.Companion.WARN
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
diff --git a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntimeTest.kt b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntimeTest.kt
similarity index 98%
rename from core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntimeTest.kt
rename to core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntimeTest.kt
index 61df2596c..8e755a39e 100644
--- a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntimeTest.kt
+++ b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntimeTest.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
diff --git a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusAppTest.kt b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusAppTest.kt
similarity index 97%
rename from core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusAppTest.kt
rename to core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusAppTest.kt
index 15f0db6a9..f5bea0b74 100644
--- a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/NucleusAppTest.kt
+++ b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/NucleusAppTest.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
diff --git a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceHolder.kt b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceHolder.kt
similarity index 97%
rename from core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceHolder.kt
rename to core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceHolder.kt
index 0b1a56e60..ac2cc7dd8 100644
--- a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceHolder.kt
+++ b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceHolder.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import java.nio.file.Paths
diff --git a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt
similarity index 98%
rename from core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt
rename to core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt
index 400d78d11..1053b1cf2 100644
--- a/core-runtime/src/test/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt
+++ b/core-runtime/src/test/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManagerEndToEndTest.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.core.runtime
+package dev.nucleusframework.nucleus.core.runtime
import org.junit.After
import org.junit.Assert.assertEquals
@@ -196,7 +196,7 @@ class SingleInstanceManagerEndToEndTest {
javaBin,
"-cp",
classpath,
- "io.github.kdroidfilter.nucleus.core.runtime.SingleInstanceHolderKt",
+ "dev.nucleusframework.nucleus.core.runtime.SingleInstanceHolderKt",
tempDir.toAbsolutePath().toString(),
lockIdentifier,
)
diff --git a/darkmode-detector/build.gradle.kts b/darkmode-detector/build.gradle.kts
index e8007f51b..58557efd8 100644
--- a/darkmode-detector/build.gradle.kts
+++ b/darkmode-detector/build.gradle.kts
@@ -103,7 +103,7 @@ tasks.configureEach {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.darkmode-detector", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.darkmode-detector", publishVersion)
pom {
name.set("Nucleus Dark Mode Detector")
@@ -119,7 +119,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/darkmode-detector/config/ktlint/baseline.xml b/darkmode-detector/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/darkmode-detector/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/IsSystemInDarkMode.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/IsSystemInDarkMode.kt
similarity index 64%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/IsSystemInDarkMode.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/IsSystemInDarkMode.kt
index a1f669a1c..b9daa35e8 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/IsSystemInDarkMode.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/IsSystemInDarkMode.kt
@@ -1,12 +1,12 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector
+package dev.nucleusframework.nucleus.darkmodedetector
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalInspectionMode
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.darkmodedetector.linux.isLinuxInDarkMode
-import io.github.kdroidfilter.nucleus.darkmodedetector.mac.isMacOsInDarkMode
-import io.github.kdroidfilter.nucleus.darkmodedetector.windows.isWindowsInDarkMode
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.darkmodedetector.linux.isLinuxInDarkMode
+import dev.nucleusframework.nucleus.darkmodedetector.mac.isMacOsInDarkMode
+import dev.nucleusframework.nucleus.darkmodedetector.windows.isWindowsInDarkMode
/**
* Composable function that returns whether the system is in dark mode.
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/Logger.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/Logger.kt
similarity index 79%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/Logger.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/Logger.kt
index ce2806c4f..1f508f7c5 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/Logger.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/Logger.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector
+package dev.nucleusframework.nucleus.darkmodedetector
-import io.github.kdroidfilter.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
+import dev.nucleusframework.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
internal fun debugln(
tag: String,
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt
similarity index 94%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt
index 789c3b15c..f71a9cb60 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/LinuxPortalThemeDetector.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.linux
+package dev.nucleusframework.nucleus.darkmodedetector.linux
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.function.Consumer
private const val TAG = "LinuxPortalThemeDetector"
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt
similarity index 83%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt
index 0aaf552a6..06d200d6a 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/linux/NativeLinuxBridge.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.linux
+package dev.nucleusframework.nucleus.darkmodedetector.linux
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Consumer
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt
similarity index 93%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt
index 491afef23..70c259e14 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/MacOSThemeDetector.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.mac
+package dev.nucleusframework.nucleus.darkmodedetector.mac
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.function.Consumer
private const val TAG = "MacOSThemeDetector"
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt
similarity index 83%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt
index 652023752..4cfd6e486 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/mac/NativeDarkModeBridge.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.mac
+package dev.nucleusframework.nucleus.darkmodedetector.mac
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Consumer
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt
similarity index 83%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt
index 65d118e49..728ba2848 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/NativeWindowsBridge.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.windows
+package dev.nucleusframework.nucleus.darkmodedetector.windows
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Consumer
diff --git a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt
similarity index 93%
rename from darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt
rename to darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt
index 9dbe098ed..994e6f791 100644
--- a/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt
+++ b/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/windows/WindowsThemeDetector.kt
@@ -1,10 +1,10 @@
-package io.github.kdroidfilter.nucleus.darkmodedetector.windows
+package dev.nucleusframework.nucleus.darkmodedetector.windows
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import io.github.kdroidfilter.nucleus.darkmodedetector.debugln
+import dev.nucleusframework.nucleus.darkmodedetector.debugln
import java.util.function.Consumer
private const val TAG = "WindowsThemeDetector"
diff --git a/darkmode-detector/src/main/native/linux/nucleus_linux_theme.c b/darkmode-detector/src/main/native/linux/nucleus_linux_theme.c
index 8ccd20fd0..3886d8314 100644
--- a/darkmode-detector/src/main/native/linux/nucleus_linux_theme.c
+++ b/darkmode-detector/src/main/native/linux/nucleus_linux_theme.c
@@ -120,7 +120,7 @@ static jboolean read_color_scheme(void) {
/* nativeIsDark() */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeIsDark(
+Java_dev_nucleusframework_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeIsDark(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -146,7 +146,7 @@ static void notify_java(jboolean isDark) {
}
jclass bridgeClass = (*env)->FindClass(env,
- "io/github/kdroidfilter/nucleus/darkmodedetector/linux/NativeLinuxBridge");
+ "dev/nucleusframework/nucleus/darkmodedetector/linux/NativeLinuxBridge");
if (bridgeClass != NULL) {
jmethodID method = (*env)->GetStaticMethodID(env,
bridgeClass, "onThemeChanged", "(Z)V");
@@ -261,7 +261,7 @@ static void *monitor_thread(void *arg) {
/* nativeStartObserving() */
/* ------------------------------------------------------------------ */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeStartObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeStartObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -275,7 +275,7 @@ Java_io_github_kdroidfilter_nucleus_darkmodedetector_linux_NativeLinuxBridge_nat
/* nativeStopObserving() */
/* ------------------------------------------------------------------ */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeStopObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_linux_NativeLinuxBridge_nativeStopObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
diff --git a/darkmode-detector/src/main/native/macos/NucleusDarkModeBridge.m b/darkmode-detector/src/main/native/macos/NucleusDarkModeBridge.m
index 292ff29ea..18a41492c 100644
--- a/darkmode-detector/src/main/native/macos/NucleusDarkModeBridge.m
+++ b/darkmode-detector/src/main/native/macos/NucleusDarkModeBridge.m
@@ -13,7 +13,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeIsDark(
+Java_dev_nucleusframework_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeIsDark(
JNIEnv *env, jclass clazz) {
@autoreleasepool {
NSString *style = [[NSUserDefaults standardUserDefaults]
@@ -27,7 +27,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeStartObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeStartObserving(
JNIEnv *env, jclass clazz) {
if (g_observer != nil) return; // already observing
@@ -58,7 +58,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
? JNI_TRUE : JNI_FALSE;
jclass bridgeClass = (*cbEnv)->FindClass(cbEnv,
- "io/github/kdroidfilter/nucleus/darkmodedetector/mac/NativeDarkModeBridge");
+ "dev/nucleusframework/nucleus/darkmodedetector/mac/NativeDarkModeBridge");
if (bridgeClass != NULL) {
jmethodID method = (*cbEnv)->GetStaticMethodID(cbEnv,
bridgeClass, "onThemeChanged", "(Z)V");
@@ -79,7 +79,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeStopObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_mac_NativeDarkModeBridge_nativeStopObserving(
JNIEnv *env, jclass clazz) {
if (g_observer != nil) {
[[NSDistributedNotificationCenter defaultCenter] removeObserver:g_observer];
diff --git a/darkmode-detector/src/main/native/windows/nucleus_windows_theme.c b/darkmode-detector/src/main/native/windows/nucleus_windows_theme.c
index 99a55abff..0e8e40b97 100644
--- a/darkmode-detector/src/main/native/windows/nucleus_windows_theme.c
+++ b/darkmode-detector/src/main/native/windows/nucleus_windows_theme.c
@@ -58,7 +58,7 @@ static jboolean is_dark(void) {
/* nativeIsDark() */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeIsDark(
+Java_dev_nucleusframework_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeIsDark(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -84,7 +84,7 @@ static void notify_java(jboolean isDark) {
}
jclass bridgeClass = (*env)->FindClass(env,
- "io/github/kdroidfilter/nucleus/darkmodedetector/windows/NativeWindowsBridge");
+ "dev/nucleusframework/nucleus/darkmodedetector/windows/NativeWindowsBridge");
if (bridgeClass != NULL) {
jmethodID method = (*env)->GetStaticMethodID(env,
bridgeClass, "onThemeChanged", "(Z)V");
@@ -156,7 +156,7 @@ static DWORD WINAPI monitor_thread(LPVOID arg) {
/* nativeStartObserving() */
/* ------------------------------------------------------------------ */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeStartObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeStartObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -183,7 +183,7 @@ Java_io_github_kdroidfilter_nucleus_darkmodedetector_windows_NativeWindowsBridge
/* nativeStopObserving() */
/* ------------------------------------------------------------------ */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeStopObserving(
+Java_dev_nucleusframework_nucleus_darkmodedetector_windows_NativeWindowsBridge_nativeStopObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
diff --git a/darkmode-detector/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.darkmode-detector/reachability-metadata.json b/darkmode-detector/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.darkmode-detector/reachability-metadata.json
similarity index 74%
rename from darkmode-detector/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.darkmode-detector/reachability-metadata.json
rename to darkmode-detector/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.darkmode-detector/reachability-metadata.json
index fce166022..ae479c65f 100644
--- a/darkmode-detector/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.darkmode-detector/reachability-metadata.json
+++ b/darkmode-detector/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.darkmode-detector/reachability-metadata.json
@@ -1,7 +1,7 @@
{
"reflection": [
{
- "type": "io.github.kdroidfilter.nucleus.darkmodedetector.windows.NativeWindowsBridge",
+ "type": "dev.nucleusframework.nucleus.darkmodedetector.windows.NativeWindowsBridge",
"jniAccessible": true,
"methods": [
{
@@ -13,7 +13,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.darkmodedetector.mac.NativeDarkModeBridge",
+ "type": "dev.nucleusframework.nucleus.darkmodedetector.mac.NativeDarkModeBridge",
"jniAccessible": true,
"methods": [
{
@@ -25,7 +25,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.darkmodedetector.linux.NativeLinuxBridge",
+ "type": "dev.nucleusframework.nucleus.darkmodedetector.linux.NativeLinuxBridge",
"jniAccessible": true,
"methods": [
{
diff --git a/decorated-window-awt/build.gradle.kts b/decorated-window-awt/build.gradle.kts
index ebf5a64ff..ddbd17ddc 100644
--- a/decorated-window-awt/build.gradle.kts
+++ b/decorated-window-awt/build.gradle.kts
@@ -32,7 +32,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-awt", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-awt", publishVersion)
pom {
name.set("Nucleus Decorated Window AWT")
@@ -50,7 +50,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-awt/config/ktlint/baseline.xml b/decorated-window-awt/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-awt/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-awt/detekt-baseline.xml b/decorated-window-awt/detekt-baseline.xml
new file mode 100644
index 000000000..bba9eb206
--- /dev/null
+++ b/decorated-window-awt/detekt-baseline.xml
@@ -0,0 +1,7 @@
+
+
+
+
+ MatchingDeclarationName:AwtDecoratedWindow.kt:AwtDecoratedWindowScope : DecoratedWindowScopeFrameWindowScope
+
+
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtDecoratedWindow.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtDecoratedWindow.kt
similarity index 97%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtDecoratedWindow.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtDecoratedWindow.kt
index 743a1d119..b6f5b66a6 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtDecoratedWindow.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtDecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.background
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -21,10 +21,10 @@ import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.FrameWindowScope
import androidx.compose.ui.window.WindowPlacement
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.internal.insideBorder
-import io.github.kdroidfilter.nucleus.window.styling.LocalDecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.internal.insideBorder
+import dev.nucleusframework.nucleus.window.styling.LocalDecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
import java.awt.ComponentOrientation
import java.awt.Desktop
import java.awt.Frame
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtTitleBar.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtTitleBar.kt
similarity index 95%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtTitleBar.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtTitleBar.kt
index 9bad1365b..735cdbe85 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/AwtTitleBar.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/AwtTitleBar.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -10,8 +10,8 @@ import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.isActive
import java.awt.Window
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogCore.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogCore.kt
similarity index 96%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogCore.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogCore.kt
index ff9547641..389080fd5 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogCore.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogCore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.background
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -26,10 +26,10 @@ import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.offset
import androidx.compose.ui.window.DialogWindowScope
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.internal.insideBorder
-import io.github.kdroidfilter.nucleus.window.styling.LocalDecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.internal.insideBorder
+import dev.nucleusframework.nucleus.window.styling.LocalDecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
import java.awt.event.ComponentEvent
import java.awt.event.ComponentListener
import java.awt.event.WindowAdapter
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBarImpl.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBarImpl.kt
similarity index 87%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBarImpl.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBarImpl.kt
index 5cb1a9e75..5fdcf7fd6 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBarImpl.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBarImpl.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -7,8 +7,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowControlArea.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowControlArea.kt
similarity index 95%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowControlArea.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowControlArea.kt
index 8704f5458..01d21299e 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowControlArea.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowControlArea.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
@@ -23,11 +23,11 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.linux.LinuxTitleBarButton
-import io.github.kdroidfilter.nucleus.window.utils.linux.linuxTitleBarIcons
-import io.github.kdroidfilter.nucleus.window.utils.linux.rememberLinuxButtonLayout
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.linux.LinuxTitleBarButton
+import dev.nucleusframework.nucleus.window.utils.linux.linuxTitleBarIcons
+import dev.nucleusframework.nucleus.window.utils.linux.rememberLinuxButtonLayout
import java.awt.Frame
import java.awt.event.WindowEvent
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowsWindowControlArea.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowsWindowControlArea.kt
similarity index 97%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowsWindowControlArea.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowsWindowControlArea.kt
index eeda78e26..bad9f95e3 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/WindowsWindowControlArea.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/WindowsWindowControlArea.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -24,8 +24,8 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.windows.windowsTitleBarIcons
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.windows.windowsTitleBarIcons
import java.awt.Frame
import java.awt.event.WindowEvent
diff --git a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/MinimumSizeSupport.kt b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/MinimumSizeSupport.kt
similarity index 98%
rename from decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/MinimumSizeSupport.kt
rename to decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/MinimumSizeSupport.kt
index a1bcf2db2..20d7fb61e 100644
--- a/decorated-window-awt/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/MinimumSizeSupport.kt
+++ b/decorated-window-awt/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/MinimumSizeSupport.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.internal
+package dev.nucleusframework.nucleus.window.internal
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
diff --git a/decorated-window-core/build.gradle.kts b/decorated-window-core/build.gradle.kts
index b8a1892af..2ad8170e7 100644
--- a/decorated-window-core/build.gradle.kts
+++ b/decorated-window-core/build.gradle.kts
@@ -85,7 +85,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-core", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-core", publishVersion)
pom {
name.set("Nucleus Decorated Window Core")
@@ -101,7 +101,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-core/config/ktlint/baseline.xml b/decorated-window-core/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-core/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/ControlButtonsDirection.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/ControlButtonsDirection.kt
similarity index 97%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/ControlButtonsDirection.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/ControlButtonsDirection.kt
index 6f971f51f..a81d10c9b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/ControlButtonsDirection.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/ControlButtonsDirection.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalLayoutDirection
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogTypes.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogTypes.kt
similarity index 97%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogTypes.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogTypes.kt
index 494a3292f..691f4cb9d 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialogTypes.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialogTypes.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.ProvidableCompositionLocal
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindowCore.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindowCore.kt
similarity index 99%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindowCore.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindowCore.kt
index 46e830eea..8a06af27b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindowCore.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindowCore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.ProvidableCompositionLocal
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NativeLayoutDirectionBridge.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NativeLayoutDirectionBridge.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NativeLayoutDirectionBridge.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NativeLayoutDirectionBridge.kt
index fbd38b098..213a4f5d8 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NativeLayoutDirectionBridge.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NativeLayoutDirectionBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Consumer
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NucleusDecoratedWindowTheme.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NucleusDecoratedWindowTheme.kt
similarity index 84%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NucleusDecoratedWindowTheme.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NucleusDecoratedWindowTheme.kt
index 5f4d27824..52888c9e4 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/NucleusDecoratedWindowTheme.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/NucleusDecoratedWindowTheme.kt
@@ -1,20 +1,20 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowColors
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowMetrics
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.LocalDecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarColors
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarMetrics
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowColors
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowMetrics
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.LocalDecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarColors
+import dev.nucleusframework.nucleus.window.styling.TitleBarMetrics
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
val LocalIsDarkTheme = androidx.compose.runtime.staticCompositionLocalOf { true }
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarCore.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarCore.kt
similarity index 98%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarCore.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarCore.kt
index f2f39eacb..0ab7476eb 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarCore.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarCore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -41,9 +41,9 @@ import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.offset
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.isActive
import kotlin.math.max
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarLinuxCommon.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarLinuxCommon.kt
similarity index 79%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarLinuxCommon.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarLinuxCommon.kt
index 9533d3398..7aa0d1c13 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarLinuxCommon.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarLinuxCommon.kt
@@ -1,13 +1,13 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.linux.LinuxButtonLayout
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.linux.LinuxButtonLayout
@Composable
fun createLinuxTitleBarStyle(style: TitleBarStyle): TitleBarStyle =
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarModifiers.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarModifiers.kt
similarity index 96%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarModifiers.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarModifiers.kt
index e45b9e3b1..38e6477cf 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBarModifiers.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBarModifiers.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.ui.Modifier
import androidx.compose.ui.node.ModifierNodeElement
@@ -69,7 +69,7 @@ fun Modifier.hasNewFullscreenControls(): Boolean =
* - **JBR**: installs a hidden NSToolbar via JBR's CustomTitleBar so AppKit
* applies the larger corner-radius style.
* - **JNI**: same NSToolbar install path via the JNI bridge.
- * - **Tao**: alternative path is the [io.github.kdroidfilter.nucleus.window.tao.MacOSStyle]
+ * - **Tao**: alternative path is the [dev.nucleusframework.nucleus.window.tao.MacOSStyle]
* enum on `openDecoratedWindow`; the modifier is read by tao's TitleBar for
* parity but the window-creation enum takes precedence.
*
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Close.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Close.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Close.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Close.kt
index 1c9e7087e..56791a2af 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Close.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Close.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.Close: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseDark.kt
index 098cb18ef..70854b0ee 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.CloseDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHover.kt
index 47739c1e4..88409f848 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.CloseHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHoverDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHoverDark.kt
index 2d8604cc4..7e41c7d50 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseHoverDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.CloseHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactive.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactive.kt
index 2b69f9450..abb5a2898 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.CloseInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt
index 79ae285f8..b0091625a 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/CloseInactiveDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.CloseInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressed.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressed.kt
index b72802bcc..74b9d8a22 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.ClosePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressedDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressedDark.kt
index 734f0d65d..a0298733c 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/ClosePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/ClosePressedDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.ClosePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt
new file mode 100644
index 000000000..c57f92d82
--- /dev/null
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt
@@ -0,0 +1,3 @@
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
+
+object GnomeControlButtonsIcons
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Maximize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Maximize.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Maximize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Maximize.kt
index 4fa4b3f27..3c27684db 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Maximize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Maximize.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.Maximize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeDark.kt
index 992426dc1..eab3ad6ca 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHover.kt
index b0e92f3b8..09e2449d0 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizeHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt
index 6a93a2520..df336ffa9 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeHoverDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizeHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactive.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactive.kt
index 09242253c..1fed374e4 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt
index 397d084db..55733f31a 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizeInactiveDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizeInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressed.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressed.kt
index b428e92d4..f793ba6fc 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt
index baf0b8306..951169a46 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MaximizePressedDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MaximizePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Minimize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Minimize.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Minimize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Minimize.kt
index 822ebfeb3..42f65aa71 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Minimize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Minimize.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.Minimize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeDark.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeDark.kt
index 3b5cfa0f1..d6999c5d8 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHover.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHover.kt
index c22542317..6739fab92 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHover.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizeHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt
index 89870d66b..a48575752 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeHoverDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizeHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactive.kt
similarity index 86%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactive.kt
index aceec69a3..925cdc18c 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactive.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt
similarity index 86%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt
index e26eb9283..d45837ab0 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizeInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizeInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressed.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressed.kt
index 934e22d06..13abefa0a 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressed.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt
index 19c0fcbe7..15d841488 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/MinimizePressedDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.MinimizePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Restore.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Restore.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Restore.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Restore.kt
index bec21dc69..435646104 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/Restore.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/Restore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.Restore: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreDark.kt
index 567d63cc0..2cda6fc4d 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestoreDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHover.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHover.kt
index 97a7122f5..6fdf85660 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestoreHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt
index 895396154..d4602d0f0 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreHoverDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestoreHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactive.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactive.kt
index 75a36d75e..0abb95b6d 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestoreInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt
index 81d20165b..7b5a15927 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestoreInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestoreInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressed.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressed.kt
index 644767a8b..19b9a6af5 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestorePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressedDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressedDark.kt
index 526c11b8f..54abdec03 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/RestorePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/gnome/RestorePressedDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
+package dev.nucleusframework.nucleus.window.icons.linux.gnome
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.GnomeControlButtonsIcons
val GnomeControlButtonsIcons.RestorePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Close.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Close.kt
similarity index 87%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Close.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Close.kt
index 3ffa995fe..a3606a535 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Close.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Close.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.Close: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseDark.kt
index f34709fbf..512eb1ce3 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.CloseDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHover.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHover.kt
index ac5213cb4..b5e30253f 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.CloseHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHoverFocused.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHoverFocused.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHoverFocused.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHoverFocused.kt
index 4b1725d59..e3b9dfbf9 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseHoverFocused.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseHoverFocused.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.CloseHoverFocused: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactive.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactive.kt
index d3bdc7a22..85ebfe553 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.CloseInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactiveDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactiveDark.kt
index 7c953047f..a61dd8621 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/CloseInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/CloseInactiveDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.CloseInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressed.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressed.kt
index ad67def73..20a94c58b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.ClosePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressedFocused.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressedFocused.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressedFocused.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressedFocused.kt
index 67280b12c..3a45f7049 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/ClosePressedFocused.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/ClosePressedFocused.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.ClosePressedFocused: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt
new file mode 100644
index 000000000..612ac7704
--- /dev/null
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt
@@ -0,0 +1,3 @@
+package dev.nucleusframework.nucleus.window.icons.linux.kde
+
+object KdeControlButtonsIcons
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Maximize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Maximize.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Maximize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Maximize.kt
index a72882abd..3089064bc 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Maximize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Maximize.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.Maximize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeDark.kt
index 293479a7a..37634fb79 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHover.kt
index e88298b29..28c84c9b1 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizeHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt
index 6cc6273b0..4ebe94202 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeHoverDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizeHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeInactive.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeInactive.kt
index a640b5545..3283ef560 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizeInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressed.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressed.kt
index 311277f3c..b9c539a0f 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressedDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressedDark.kt
index 3c82c7ada..f6fdd7abb 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MaximizePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MaximizePressedDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MaximizePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Minimize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Minimize.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Minimize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Minimize.kt
index e73c1e16f..530905a1b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Minimize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Minimize.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.Minimize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeDark.kt
index 3f8f57bab..32ccbe690 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHover.kt
index aec57cc91..d427d8c1e 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizeHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt
index c7eb40db3..b4167ce72 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeHoverDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizeHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeInactive.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeInactive.kt
index 397b8cd07..245b8955b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizeInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressed.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressed.kt
index f2ab64238..218eeb07a 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressedDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressedDark.kt
index d618a3601..44a72b5e5 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/MinimizePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/MinimizePressedDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.MinimizePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Restore.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Restore.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Restore.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Restore.kt
index 98e0c3d34..8301917a2 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/Restore.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/Restore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.Restore: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreDark.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreDark.kt
index e0f69d92a..8f22116cf 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestoreDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHover.kt
index ca7233aca..486497f25 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestoreHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHoverDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHoverDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHoverDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHoverDark.kt
index 9d6d57e77..c1165f8c2 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreHoverDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreHoverDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestoreHoverDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreInactive.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreInactive.kt
index abc7117a8..3ec850011 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestoreInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestoreInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestoreInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressed.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressed.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressed.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressed.kt
index 0cc3596f1..9f711fd89 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressed.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressed.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestorePressed: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressedDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressedDark.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressedDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressedDark.kt
index 2c2c52359..fa9b4bae9 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/RestorePressedDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/linux/kde/RestorePressedDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
+package dev.nucleusframework.nucleus.window.icons.linux.kde
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
@@ -7,7 +7,7 @@ import androidx.compose.ui.graphics.StrokeJoin
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
+import dev.nucleusframework.nucleus.window.icons.linux.kde.KdeControlButtonsIcons
val KdeControlButtonsIcons.RestorePressedDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Close.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Close.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Close.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Close.kt
index e33da5490..f15d69d29 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Close.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Close.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.Close: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseDark.kt
similarity index 89%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseDark.kt
index 2651f968f..363d56f1b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreen.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreen.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreen.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreen.kt
index a87089811..b74e22670 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreen.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreen.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseFullscreen: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenDark.kt
index 1e84026b9..32f03c355 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseFullscreenDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactive.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactive.kt
index 16c2660b1..24370cc45 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactive.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseFullscreenInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt
index 7a6a32a23..0e5c276f0 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseFullscreenInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseFullscreenInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseHover.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseHover.kt
similarity index 91%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseHover.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseHover.kt
index 344e39a01..3b0f78669 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseHover.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseHover.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseHover: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactive.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactive.kt
index eb4aa2e18..ddd1c89cc 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactive.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactiveDark.kt
similarity index 90%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactiveDark.kt
index f8086056a..92a6c5e4b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/CloseInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/CloseInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.CloseInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Maximize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Maximize.kt
similarity index 87%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Maximize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Maximize.kt
index 3d9a8fdb7..d50831bd5 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Maximize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Maximize.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.Maximize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeDark.kt
index 99ff5cf90..936a6a50d 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MaximizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactive.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactive.kt
index 331fb4073..d1845fd5e 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactive.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MaximizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactiveDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactiveDark.kt
index d1f7f4775..465c25835 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MaximizeInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MaximizeInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MaximizeInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Minimize.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Minimize.kt
similarity index 87%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Minimize.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Minimize.kt
index 2b7cf8869..6e9c18ec5 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Minimize.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Minimize.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.Minimize: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeDark.kt
similarity index 87%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeDark.kt
index 9d6b43c7a..6f8cceff0 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MinimizeDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactive.kt
similarity index 87%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactive.kt
index 2f8a6b7b3..365ff8468 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactive.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MinimizeInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactiveDark.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactiveDark.kt
index bc065ebf0..70c95a69f 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/MinimizeInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/MinimizeInactiveDark.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.MinimizeInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Restore.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Restore.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Restore.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Restore.kt
index c4093a06f..adff53c86 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/Restore.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/Restore.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.Restore: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreDark.kt
similarity index 92%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreDark.kt
index 2c347a594..b0ef813ec 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.RestoreDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactive.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactive.kt
similarity index 93%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactive.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactive.kt
index bd1bf0327..da4532115 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactive.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactive.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.RestoreInactive: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactiveDark.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactiveDark.kt
similarity index 93%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactiveDark.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactiveDark.kt
index 1d1ab7bdb..f5e1789b7 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/RestoreInactiveDark.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/RestoreInactiveDark.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
+package dev.nucleusframework.nucleus.window.icons.windows
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.PathFillType
@@ -6,7 +6,7 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.path
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
val WindowsControlButtonIcons.RestoreInactiveDark: ImageVector
get() {
diff --git a/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/WindowsControlButtonIcons.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/WindowsControlButtonIcons.kt
new file mode 100644
index 000000000..526f7e17c
--- /dev/null
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/icons/windows/WindowsControlButtonIcons.kt
@@ -0,0 +1,3 @@
+package dev.nucleusframework.nucleus.window.icons.windows
+
+object WindowsControlButtonIcons
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/ColorUtils.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/ColorUtils.kt
similarity index 86%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/ColorUtils.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/ColorUtils.kt
index 3d45d5956..f8afef63b 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/ColorUtils.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/ColorUtils.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.internal
+package dev.nucleusframework.nucleus.window.internal
import androidx.compose.ui.graphics.Color
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/InsideBorderModifier.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/InsideBorderModifier.kt
similarity index 95%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/InsideBorderModifier.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/InsideBorderModifier.kt
index 0438e36fd..cdc469ee6 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/internal/InsideBorderModifier.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/internal/InsideBorderModifier.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.internal
+package dev.nucleusframework.nucleus.window.internal
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.drawWithContent
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/DecoratedWindowStyling.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/DecoratedWindowStyling.kt
similarity index 83%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/DecoratedWindowStyling.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/DecoratedWindowStyling.kt
index ee70ed707..7c0ca12c4 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/DecoratedWindowStyling.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/DecoratedWindowStyling.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.styling
+package dev.nucleusframework.nucleus.window.styling
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
@@ -7,7 +7,7 @@ import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
data class DecoratedWindowStyle(
val colors: DecoratedWindowColors,
@@ -34,6 +34,6 @@ data class DecoratedWindowMetrics(
val LocalDecoratedWindowStyle =
staticCompositionLocalOf {
- io.github.kdroidfilter.nucleus.window.DecoratedWindowDefaults
+ dev.nucleusframework.nucleus.window.DecoratedWindowDefaults
.darkWindowStyle()
}
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/TitleBarStyling.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/TitleBarStyling.kt
similarity index 88%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/TitleBarStyling.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/TitleBarStyling.kt
index 4f1a7ef66..355827eed 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/styling/TitleBarStyling.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/styling/TitleBarStyling.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.styling
+package dev.nucleusframework.nucleus.window.styling
import androidx.compose.runtime.Composable
import androidx.compose.runtime.State
@@ -8,7 +8,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
data class TitleBarStyle(
val colors: TitleBarColors,
@@ -41,6 +41,6 @@ data class TitleBarMetrics(
val LocalTitleBarStyle =
staticCompositionLocalOf {
- io.github.kdroidfilter.nucleus.window.DecoratedWindowDefaults
+ dev.nucleusframework.nucleus.window.DecoratedWindowDefaults
.darkTitleBarStyle()
}
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxButtonLayout.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxButtonLayout.kt
similarity index 96%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxButtonLayout.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxButtonLayout.kt
index f62e96550..c59c68a26 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxButtonLayout.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxButtonLayout.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window.utils.linux
+package dev.nucleusframework.nucleus.window.utils.linux
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.NativeLayoutDirectionBridge
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.NativeLayoutDirectionBridge
import java.util.function.Consumer
/**
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt
similarity index 93%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt
index 499191dc5..8e3bc823f 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/LinuxTitleBarIconSet.kt
@@ -1,13 +1,13 @@
-package io.github.kdroidfilter.nucleus.window.utils.linux
+package dev.nucleusframework.nucleus.window.utils.linux
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.LocalIsDarkTheme
-import io.github.kdroidfilter.nucleus.window.icons.linux.gnome.*
-import io.github.kdroidfilter.nucleus.window.icons.linux.kde.*
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.LocalIsDarkTheme
+import dev.nucleusframework.nucleus.window.icons.linux.gnome.*
+import dev.nucleusframework.nucleus.window.icons.linux.kde.*
data class LinuxTitleBarIconSet(
val close: Painter,
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt
similarity index 61%
rename from decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt
rename to decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt
index 4e68bef22..5ec69a401 100644
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt
+++ b/decorated-window-core/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/WindowsTitleBarIconSet.kt
@@ -1,31 +1,31 @@
-package io.github.kdroidfilter.nucleus.window.utils.windows
+package dev.nucleusframework.nucleus.window.utils.windows
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.rememberVectorPainter
-import io.github.kdroidfilter.nucleus.window.LocalIsDarkTheme
-import io.github.kdroidfilter.nucleus.window.icons.windows.Close
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreen
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseHover
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Maximize
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Minimize
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Restore
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.LocalIsDarkTheme
+import dev.nucleusframework.nucleus.window.icons.windows.Close
+import dev.nucleusframework.nucleus.window.icons.windows.CloseDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreen
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenInactive
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseHover
+import dev.nucleusframework.nucleus.window.icons.windows.CloseInactive
+import dev.nucleusframework.nucleus.window.icons.windows.CloseInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Maximize
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeDark
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeInactive
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Minimize
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeDark
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeInactive
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Restore
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreDark
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreInactive
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
data class WindowsTitleBarIconSet(
val close: Painter,
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt b/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt
deleted file mode 100644
index d4c2d472a..000000000
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/gnome/GnomeControlButtonsIcons.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.gnome
-
-object GnomeControlButtonsIcons
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt b/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt
deleted file mode 100644
index 0be95b2fb..000000000
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/linux/kde/KdeControlButtonsIcons.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package io.github.kdroidfilter.nucleus.window.icons.linux.kde
-
-object KdeControlButtonsIcons
diff --git a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/WindowsControlButtonIcons.kt b/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/WindowsControlButtonIcons.kt
deleted file mode 100644
index 23de4f7b6..000000000
--- a/decorated-window-core/src/main/kotlin/io/github/kdroidfilter/nucleus/window/icons/windows/WindowsControlButtonIcons.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package io.github.kdroidfilter.nucleus.window.icons.windows
-
-object WindowsControlButtonIcons
diff --git a/decorated-window-core/src/main/native/linux/nucleus_layout_direction_linux.c b/decorated-window-core/src/main/native/linux/nucleus_layout_direction_linux.c
index 06b947a4d..ea477f538 100644
--- a/decorated-window-core/src/main/native/linux/nucleus_layout_direction_linux.c
+++ b/decorated-window-core/src/main/native/linux/nucleus_layout_direction_linux.c
@@ -107,7 +107,7 @@ static int detect_rtl_via_locale(void) {
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -177,7 +177,7 @@ static char *readGnomeButtonLayout(void) {
}
JNIEXPORT jstring JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeGetButtonLayout(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeGetButtonLayout(
JNIEnv *env, jclass clazz)
{
(void)clazz;
@@ -224,7 +224,7 @@ static void notify_button_layout(const char *layout) {
}
jclass bridgeClass = (*env)->FindClass(env,
- "io/github/kdroidfilter/nucleus/window/NativeLayoutDirectionBridge");
+ "dev/nucleusframework/nucleus/window/NativeLayoutDirectionBridge");
if (bridgeClass != NULL) {
jmethodID method = (*env)->GetStaticMethodID(env,
bridgeClass, "onButtonLayoutChanged", "(Ljava/lang/String;)V");
@@ -358,7 +358,7 @@ static void *button_layout_monitor_thread(void *arg) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeStartButtonLayoutObserving(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeStartButtonLayoutObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -369,7 +369,7 @@ Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeSta
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeStopButtonLayoutObserving(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeStopButtonLayoutObserving(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
diff --git a/decorated-window-core/src/main/native/macos/NucleusLayoutDirectionBridge.m b/decorated-window-core/src/main/native/macos/NucleusLayoutDirectionBridge.m
index 9537295b2..923a20441 100644
--- a/decorated-window-core/src/main/native/macos/NucleusLayoutDirectionBridge.m
+++ b/decorated-window-core/src/main/native/macos/NucleusLayoutDirectionBridge.m
@@ -2,7 +2,7 @@
#include
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
JNIEnv *env, jclass clazz) {
@autoreleasepool {
NSString *language = [[NSLocale preferredLanguages] firstObject];
diff --git a/decorated-window-core/src/main/native/windows/nucleus_layout_direction_windows.c b/decorated-window-core/src/main/native/windows/nucleus_layout_direction_windows.c
index de822113e..8fb5cacfb 100644
--- a/decorated-window-core/src/main/native/windows/nucleus_layout_direction_windows.c
+++ b/decorated-window-core/src/main/native/windows/nucleus_layout_direction_windows.c
@@ -22,7 +22,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
+Java_dev_nucleusframework_nucleus_window_NativeLayoutDirectionBridge_nativeIsRTL(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
diff --git a/decorated-window-core/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-core/reachability-metadata.json b/decorated-window-core/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-core/reachability-metadata.json
similarity index 86%
rename from decorated-window-core/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-core/reachability-metadata.json
rename to decorated-window-core/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-core/reachability-metadata.json
index d04bde841..ac1295b3e 100644
--- a/decorated-window-core/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-core/reachability-metadata.json
+++ b/decorated-window-core/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-core/reachability-metadata.json
@@ -1,7 +1,7 @@
{
"reflection": [
{
- "type": "io.github.kdroidfilter.nucleus.window.NativeLayoutDirectionBridge",
+ "type": "dev.nucleusframework.nucleus.window.NativeLayoutDirectionBridge",
"jniAccessible": true,
"methods": [
{
diff --git a/decorated-window-jbr/build.gradle.kts b/decorated-window-jbr/build.gradle.kts
index da7bc84d2..48ba5e049 100644
--- a/decorated-window-jbr/build.gradle.kts
+++ b/decorated-window-jbr/build.gradle.kts
@@ -58,7 +58,7 @@ tasks.configureEach {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-jbr", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-jbr", publishVersion)
pom {
name.set("Nucleus Decorated Window JBR")
@@ -74,7 +74,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-jbr/config/ktlint/baseline.xml b/decorated-window-jbr/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-jbr/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
similarity index 96%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
index 7500a67c4..ab4dd982e 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
@@ -10,7 +10,7 @@ import androidx.compose.ui.window.DialogWindow
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.rememberDialogState
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.core.runtime.Platform
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
similarity index 87%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
index 79f6e517f..06930ce79 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
@@ -9,9 +9,9 @@ import androidx.compose.ui.window.Window
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.internal.InstallMinimumSizeAfterCentering
-import io.github.kdroidfilter.nucleus.window.internal.inflateToMinimumSize
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.internal.InstallMinimumSizeAfterCentering
+import dev.nucleusframework.nucleus.window.internal.inflateToMinimumSize
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
similarity index 91%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
index 25bd1b619..5d5f76f46 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -11,8 +11,8 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.unit.dp
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import java.awt.event.MouseEvent
@OptIn(ExperimentalComposeUiApi::class)
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
similarity index 85%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
index af774831d..eb43c4fe8 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -8,9 +8,9 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.WindowMouseEventEffect
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.WindowMouseEventEffect
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
similarity index 85%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
index 47624ae84..bd3d503bc 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -10,10 +10,10 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.window.internal.isDark
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.WindowMouseEventEffect
+import dev.nucleusframework.nucleus.window.internal.isDark
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.WindowMouseEventEffect
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
similarity index 87%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
index df254e6b8..3452c9d92 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
@@ -6,9 +6,9 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
similarity index 95%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
index 664b0e0da..fa0d01d17 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi
@@ -10,7 +10,7 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.platform.LocalViewConfiguration
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import java.awt.Frame
import java.awt.event.MouseEvent
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
similarity index 88%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
index 77594e758..f59ae257b 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -9,10 +9,10 @@ import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.WindowMouseEventEffect
-import io.github.kdroidfilter.nucleus.window.utils.macos.MacUtil
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.WindowMouseEventEffect
+import dev.nucleusframework.nucleus.window.utils.macos.MacUtil
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
similarity index 85%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
index df693338c..a54c82d00 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -10,10 +10,10 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import com.jetbrains.JBR
-import io.github.kdroidfilter.nucleus.window.internal.isDark
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.WindowMouseEventEffect
+import dev.nucleusframework.nucleus.window.internal.isDark
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.WindowMouseEventEffect
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
similarity index 88%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
index de43d200a..97e352db6 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
/**
* Platform-aware title bar for [DecoratedWindow].
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/ClientRegionHelper.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/ClientRegionHelper.kt
similarity index 94%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/ClientRegionHelper.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/ClientRegionHelper.kt
index 4a4665c59..b1b679637 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/ClientRegionHelper.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/ClientRegionHelper.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.utils
+package dev.nucleusframework.nucleus.window.utils
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
@@ -14,10 +14,10 @@ import androidx.compose.ui.node.currentValueOf
import androidx.compose.ui.platform.InspectorInfo
import androidx.compose.ui.unit.toSize
import com.jetbrains.WindowDecorations
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.LocalTitleBarInfo
-import io.github.kdroidfilter.nucleus.window.TitleBarInfo
+import dev.nucleusframework.nucleus.window.AwtDecoratedDialogScope
+import dev.nucleusframework.nucleus.window.AwtDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.LocalTitleBarInfo
+import dev.nucleusframework.nucleus.window.TitleBarInfo
import java.awt.Window
import java.awt.event.MouseAdapter
import java.awt.event.MouseEvent
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/MacUtil.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/MacUtil.kt
similarity index 97%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/MacUtil.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/MacUtil.kt
index f8e112a94..8af6ae75c 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/MacUtil.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/MacUtil.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.utils.macos
+package dev.nucleusframework.nucleus.window.utils.macos
import java.awt.Component
import java.awt.Window
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/NativeMacBridge.kt b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/NativeMacBridge.kt
similarity index 74%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/NativeMacBridge.kt
rename to decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/NativeMacBridge.kt
index 41f5b06ba..e9a4283a7 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/NativeMacBridge.kt
+++ b/decorated-window-jbr/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/NativeMacBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.utils.macos
+package dev.nucleusframework.nucleus.window.utils.macos
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_macos"
diff --git a/decorated-window-jbr/src/main/native/macos/NucleusMacBridge.m b/decorated-window-jbr/src/main/native/macos/NucleusMacBridge.m
index fece2ef6b..2a6962544 100644
--- a/decorated-window-jbr/src/main/native/macos/NucleusMacBridge.m
+++ b/decorated-window-jbr/src/main/native/macos/NucleusMacBridge.m
@@ -2,7 +2,7 @@
#include
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_NativeMacBridge_nativeUpdateColors(
+Java_dev_nucleusframework_nucleus_window_utils_macos_NativeMacBridge_nativeUpdateColors(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
NSWindow *window = (__bridge NSWindow *)(void *)nsWindowPtr;
@@ -17,7 +17,7 @@
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_NativeMacBridge_nativeUpdateFullScreenButtons(
+Java_dev_nucleusframework_nucleus_window_utils_macos_NativeMacBridge_nativeUpdateFullScreenButtons(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
NSWindow *window = (__bridge NSWindow *)(void *)nsWindowPtr;
diff --git a/decorated-window-jewel/build.gradle.kts b/decorated-window-jewel/build.gradle.kts
index 76f7f6795..e4335b4a7 100644
--- a/decorated-window-jewel/build.gradle.kts
+++ b/decorated-window-jewel/build.gradle.kts
@@ -38,7 +38,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-jewel", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-jewel", publishVersion)
pom {
name.set("Nucleus Jewel Decorated Window")
@@ -54,7 +54,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-jewel/config/ktlint/baseline.xml b/decorated-window-jewel/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-jewel/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelColorMapping.kt b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelColorMapping.kt
similarity index 76%
rename from decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelColorMapping.kt
rename to decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelColorMapping.kt
index f7ba8458d..c5e9a384c 100644
--- a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelColorMapping.kt
+++ b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelColorMapping.kt
@@ -1,17 +1,17 @@
-package io.github.kdroidfilter.nucleus.window.jewel
+package dev.nucleusframework.nucleus.window.jewel
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowColors
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowMetrics
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarColors
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarMetrics
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowColors
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowMetrics
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarColors
+import dev.nucleusframework.nucleus.window.styling.TitleBarMetrics
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import org.jetbrains.jewel.foundation.theme.JewelTheme
private const val INACTIVE_BORDER_ALPHA = 0.5f
diff --git a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedDialog.kt b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedDialog.kt
similarity index 85%
rename from decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedDialog.kt
rename to decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedDialog.kt
index 704746be7..ad4e53f1a 100644
--- a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedDialog.kt
+++ b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedDialog.kt
@@ -1,13 +1,13 @@
-package io.github.kdroidfilter.nucleus.window.jewel
+package dev.nucleusframework.nucleus.window.jewel
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.DialogState
import androidx.compose.ui.window.rememberDialogState
-import io.github.kdroidfilter.nucleus.window.DecoratedDialog
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.window.DecoratedDialog
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
import org.jetbrains.jewel.foundation.theme.JewelTheme
@Suppress("FunctionNaming", "LongParameterList")
diff --git a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedWindow.kt b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedWindow.kt
similarity index 87%
rename from decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedWindow.kt
rename to decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedWindow.kt
index f5e2fc96f..102880a46 100644
--- a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDecoratedWindow.kt
+++ b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.jewel
+package dev.nucleusframework.nucleus.window.jewel
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.luminance
@@ -8,14 +8,14 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.window.ApplicationScope
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.application.NucleusApplicationScope
-import io.github.kdroidfilter.nucleus.application.NucleusDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindow
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.application.NucleusApplicationScope
+import dev.nucleusframework.nucleus.application.NucleusDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.AwtDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindow
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import org.jetbrains.jewel.foundation.theme.JewelTheme
-import io.github.kdroidfilter.nucleus.application.DecoratedWindow as NucleusDecoratedWindowFn
+import dev.nucleusframework.nucleus.application.DecoratedWindow as NucleusDecoratedWindowFn
private const val LUMINANCE_THRESHOLD = 0.5f
diff --git a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDialogTitleBar.kt b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDialogTitleBar.kt
similarity index 65%
rename from decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDialogTitleBar.kt
rename to decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDialogTitleBar.kt
index 61c52f4da..6af3781a1 100644
--- a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelDialogTitleBar.kt
+++ b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelDialogTitleBar.kt
@@ -1,16 +1,16 @@
-package io.github.kdroidfilter.nucleus.window.jewel
+package dev.nucleusframework.nucleus.window.jewel
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogState
-import io.github.kdroidfilter.nucleus.window.DialogTitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.DecoratedDialogState
+import dev.nucleusframework.nucleus.window.DialogTitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import org.jetbrains.jewel.foundation.theme.LocalContentColor
@Suppress("FunctionNaming")
diff --git a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelTitleBar.kt b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelTitleBar.kt
similarity index 67%
rename from decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelTitleBar.kt
rename to decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelTitleBar.kt
index 1004fb60d..155fd8313 100644
--- a/decorated-window-jewel/src/main/kotlin/io/github/kdroidfilter/nucleus/window/jewel/JewelTitleBar.kt
+++ b/decorated-window-jewel/src/main/kotlin/dev/nucleusframework/nucleus/window/jewel/JewelTitleBar.kt
@@ -1,16 +1,16 @@
-package io.github.kdroidfilter.nucleus.window.jewel
+package dev.nucleusframework.nucleus.window.jewel
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.TitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.TitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
import org.jetbrains.jewel.foundation.theme.LocalContentColor
@Suppress("FunctionNaming")
diff --git a/decorated-window-jni/build.gradle.kts b/decorated-window-jni/build.gradle.kts
index eb3c45be6..87a5d5302 100644
--- a/decorated-window-jni/build.gradle.kts
+++ b/decorated-window-jni/build.gradle.kts
@@ -83,7 +83,7 @@ tasks.configureEach {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-jni", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-jni", publishVersion)
pom {
name.set("Nucleus Decorated Window JNI")
@@ -99,7 +99,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-jni/config/ktlint/baseline.xml b/decorated-window-jni/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-jni/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
similarity index 95%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
index ef744bbf9..220811b0e 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedDialog.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedDialog.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
@@ -9,7 +9,7 @@ import androidx.compose.ui.window.DialogState
import androidx.compose.ui.window.DialogWindow
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.rememberDialogState
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.core.runtime.Platform
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
similarity index 97%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
index 1676af809..543791332 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DecoratedWindow.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.tween
@@ -33,12 +33,12 @@ import androidx.compose.ui.window.WindowPlacement
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.internal.InstallMinimumSizeAfterCentering
-import io.github.kdroidfilter.nucleus.window.internal.inflateToMinimumSize
-import io.github.kdroidfilter.nucleus.window.utils.linux.JniLinuxWindowBridge
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsDecorationBridge
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsWindowUtil
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.internal.InstallMinimumSizeAfterCentering
+import dev.nucleusframework.nucleus.window.internal.inflateToMinimumSize
+import dev.nucleusframework.nucleus.window.utils.linux.JniLinuxWindowBridge
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsDecorationBridge
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsWindowUtil
import java.awt.Frame
import java.awt.GraphicsEnvironment
import java.awt.Toolkit
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
similarity index 95%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
index ab5c86f2c..51effb80c 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Linux.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Linux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -12,9 +12,9 @@ import androidx.compose.ui.input.pointer.PointerEventPass
import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.linux.JniLinuxWindowBridge
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.linux.JniLinuxWindowBridge
import java.awt.MouseInfo
@OptIn(ExperimentalComposeUiApi::class)
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
similarity index 85%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
index 480dc7244..213c46fc2 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.MacOS.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.MacOS.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -8,10 +8,10 @@ import androidx.compose.runtime.DisposableEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.macos.JniMacTitleBarBridge
-import io.github.kdroidfilter.nucleus.window.utils.macos.JniMacWindowUtil
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.macos.JniMacTitleBarBridge
+import dev.nucleusframework.nucleus.window.utils.macos.JniMacWindowUtil
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
similarity index 85%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
index a15078c23..e95d40c49 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.Windows.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.Windows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -10,10 +10,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsDecorationBridge
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsWindowUtil
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsDecorationBridge
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsWindowUtil
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
similarity index 87%
rename from decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
index df254e6b8..3452c9d92 100644
--- a/decorated-window-jbr/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
@@ -6,9 +6,9 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
similarity index 97%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
index c089a1197..a5c15f489 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Linux.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Linux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -14,8 +14,8 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.platform.LocalViewConfiguration
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.linux.JniLinuxWindowBridge
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.linux.JniLinuxWindowBridge
import java.awt.Frame
import java.awt.MouseInfo
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
similarity index 97%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
index b911a1a81..bc2a7968b 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.MacOS.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.MacOS.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.tween
@@ -24,10 +24,10 @@ import androidx.compose.ui.platform.LocalViewConfiguration
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.macos.JniMacTitleBarBridge
-import io.github.kdroidfilter.nucleus.window.utils.macos.JniMacWindowUtil
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.macos.JniMacTitleBarBridge
+import dev.nucleusframework.nucleus.window.utils.macos.JniMacWindowUtil
import kotlinx.coroutines.isActive
import kotlin.coroutines.coroutineContext
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
similarity index 96%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
index 8986f480f..be4afea63 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.Windows.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.Windows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
@@ -18,10 +18,10 @@ import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalViewConfiguration
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsDecorationBridge
-import io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsWindowUtil
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsDecorationBridge
+import dev.nucleusframework.nucleus.window.utils.windows.JniWindowsWindowUtil
import java.awt.Frame
@OptIn(ExperimentalComposeUiApi::class)
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
similarity index 90%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
index 28b0eeffe..49c8a74f0 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
@@ -1,11 +1,11 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
/**
* Platform-aware title bar for [DecoratedWindow].
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/JniLinuxWindowBridge.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/JniLinuxWindowBridge.kt
similarity index 89%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/JniLinuxWindowBridge.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/JniLinuxWindowBridge.kt
index 7b9c32cdf..2ecba9e57 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/linux/JniLinuxWindowBridge.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/linux/JniLinuxWindowBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.utils.linux
+package dev.nucleusframework.nucleus.window.utils.linux
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_linux_jni"
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacTitleBarBridge.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacTitleBarBridge.kt
similarity index 97%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacTitleBarBridge.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacTitleBarBridge.kt
index 06007c331..12142bd25 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacTitleBarBridge.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacTitleBarBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.utils.macos
+package dev.nucleusframework.nucleus.window.utils.macos
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import java.util.concurrent.ConcurrentHashMap
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacWindowUtil.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacWindowUtil.kt
similarity index 98%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacWindowUtil.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacWindowUtil.kt
index 09e9b730d..800fbbc7f 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/macos/JniMacWindowUtil.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/macos/JniMacWindowUtil.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.utils.macos
+package dev.nucleusframework.nucleus.window.utils.macos
import java.awt.Component
import java.awt.Window
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt
similarity index 96%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt
index 056c3ef7c..16b967158 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsDecorationBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.utils.windows
+package dev.nucleusframework.nucleus.window.utils.windows
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_windows_decoration"
diff --git a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsWindowUtil.kt b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsWindowUtil.kt
similarity index 88%
rename from decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsWindowUtil.kt
rename to decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsWindowUtil.kt
index e00ed0799..aa66d7383 100644
--- a/decorated-window-jni/src/main/kotlin/io/github/kdroidfilter/nucleus/window/utils/windows/JniWindowsWindowUtil.kt
+++ b/decorated-window-jni/src/main/kotlin/dev/nucleusframework/nucleus/window/utils/windows/JniWindowsWindowUtil.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.utils.windows
+package dev.nucleusframework.nucleus.window.utils.windows
import java.awt.Window
diff --git a/decorated-window-jni/src/main/native/linux/nucleus_linux_window.c b/decorated-window-jni/src/main/native/linux/nucleus_linux_window.c
index 539bf6aeb..d7d0603c0 100644
--- a/decorated-window-jni/src/main/native/linux/nucleus_linux_window.c
+++ b/decorated-window-jni/src/main/native/linux/nucleus_linux_window.c
@@ -178,7 +178,7 @@ static void awtUnlock(JNIEnv *env) {
/* move. This gives us snap/tile support and native drag feel. */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeStartWindowMove(
+Java_dev_nucleusframework_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeStartWindowMove(
JNIEnv *env, jclass clazz, jobject awtWindow, jint rootX, jint rootY, jint button)
{
Display *display = getAwtDisplay(env);
@@ -251,7 +251,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nati
/* _NET_WM_STATE ClientMessage to the root window. */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeSetFullscreen(
+Java_dev_nucleusframework_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeSetFullscreen(
JNIEnv *env, jclass clazz, jobject awtWindow, jboolean fullscreen)
{
Display *display = getAwtDisplay(env);
@@ -294,7 +294,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nati
/* Checks if _NET_WM_STATE_FULLSCREEN is set on the window. */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeIsFullscreen(
+Java_dev_nucleusframework_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeIsFullscreen(
JNIEnv *env, jclass clazz, jobject awtWindow)
{
Display *display = getAwtDisplay(env);
@@ -342,7 +342,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nati
/* Checks if the WM advertises _NET_WM_MOVERESIZE in _NET_SUPPORTED. */
/* ------------------------------------------------------------------ */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeIsWmMoveResizeSupported(
+Java_dev_nucleusframework_nucleus_window_utils_linux_JniLinuxWindowBridge_nativeIsWmMoveResizeSupported(
JNIEnv *env, jclass clazz, jobject awtWindow)
{
Display *display = getAwtDisplay(env);
diff --git a/decorated-window-jni/src/main/native/macos/JniMacTitleBar.m b/decorated-window-jni/src/main/native/macos/JniMacTitleBar.m
index 83f28039a..70d05999f 100644
--- a/decorated-window-jni/src/main/native/macos/JniMacTitleBar.m
+++ b/decorated-window-jni/src/main/native/macos/JniMacTitleBar.m
@@ -67,7 +67,7 @@ static void ensureJVMCached(JNIEnv *env) {
dispatch_once(&onceToken, ^{
(*env)->GetJavaVM(env, &sJVM);
jclass local = (*env)->FindClass(env,
- "io/github/kdroidfilter/nucleus/window/utils/macos/JniMacTitleBarBridge");
+ "dev/nucleusframework/nucleus/window/utils/macos/JniMacTitleBarBridge");
if (local) {
sBridgeClass = (*env)->NewGlobalRef(env, local);
(*env)->DeleteLocalRef(env, local);
@@ -1021,13 +1021,13 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// ─── JNI exports ────────────────────────────────────────────────────────────────
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeGetNSWindowPtr(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeGetNSWindowPtr(
JNIEnv *env, jclass clazz, jobject awtWindow) {
return getNSWindowPtrFromAWTWindow(env, awtWindow);
}
JNIEXPORT jfloat JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeApplyTitleBar(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeApplyTitleBar(
JNIEnv *env, jclass clazz, jlong nsWindowPtr, jfloat heightPt) {
if (nsWindowPtr == 0) return 0.0f;
@@ -1086,7 +1086,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeResetTitleBar(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeResetTitleBar(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1131,7 +1131,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// Called from Kotlin on each layout pass during fullscreen to keep
// the replacement buttons positioned correctly.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeUpdateFullScreenButtons(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeUpdateFullScreenButtons(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1153,7 +1153,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// respecting the user's system preference (AppleActionOnDoubleClick).
// Called from Compose when an unconsumed double-click is detected.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativePerformTitleBarDoubleClickAction(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativePerformTitleBarDoubleClickAction(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1181,7 +1181,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// Called from the EDT when Compose detects an unconsumed drag in the title bar.
// This mirrors JBR's forceHitTest(false) path where Compose decides the drag.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeStartWindowDrag(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeStartWindowDrag(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1221,7 +1221,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// in fullscreen — mirroring Safari's fullscreen title bar behavior.
// Also installs/removes the menu bar event monitor if already in fullscreen.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetNewFullscreenControls(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetNewFullscreenControls(
JNIEnv *env, jclass clazz, jlong nsWindowPtr, jboolean enabled) {
if (nsWindowPtr == 0) return;
@@ -1253,7 +1253,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// Returns the last known menu bar offset in points.
// Reads the value stored by the native event monitor (thread-safe).
JNIEXPORT jfloat JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeGetMenuBarOffset(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeGetMenuBarOffset(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return 0.0f;
@@ -1266,7 +1266,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// can position the traffic-light buttons at the same Y offset,
// keeping native buttons and Compose title bar perfectly in sync.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetMenuBarOffset(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetMenuBarOffset(
JNIEnv *env, jclass clazz, jlong nsWindowPtr, jfloat offsetPt) {
if (nsWindowPtr == 0) return;
@@ -1293,7 +1293,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// changes on every mouse event and notifies Kotlin via JNI callback.
// Event-driven: no timer, no polling.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeInstallMenuBarMonitor(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeInstallMenuBarMonitor(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1314,7 +1314,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// Removes the native event monitor and clears the stored raw offset.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeRemoveMenuBarMonitor(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeRemoveMenuBarMonitor(
JNIEnv *env, jclass clazz, jlong nsWindowPtr) {
if (nsWindowPtr == 0) return;
@@ -1341,7 +1341,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// Also stores the preference so the fullscreen observer can manage the toolbar
// around fullscreen transitions (remove before enter, reinstall after).
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetLargeCornerRadius(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetLargeCornerRadius(
JNIEnv *env, jclass clazz, jlong nsWindowPtr, jboolean enabled) {
if (nsWindowPtr == 0) return;
@@ -1398,7 +1398,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// starts tearing down, to prevent notifyMenuBarOffsetChanged from calling
// CallStaticVoidMethod on a half-destroyed JVM.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeShutdown(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeShutdown(
JNIEnv *env, jclass clazz) {
// Signal all pending dispatch_async blocks to bail out immediately.
@@ -1429,7 +1429,7 @@ static jlong getNSWindowPtrFromAWTWindow(JNIEnv *env, jobject awtWindow) {
// of the title bar, mirroring the layout for RTL locales (Hebrew, Arabic, etc.).
// Re-applies constraints immediately so the change is visible without delay.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetRTL(
+Java_dev_nucleusframework_nucleus_window_utils_macos_JniMacTitleBarBridge_nativeSetRTL(
JNIEnv *env, jclass clazz, jlong nsWindowPtr, jboolean rtl) {
if (nsWindowPtr == 0) return;
diff --git a/decorated-window-jni/src/main/native/windows/nucleus_windows_decoration.c b/decorated-window-jni/src/main/native/windows/nucleus_windows_decoration.c
index 99aff0a6a..54c508af7 100644
--- a/decorated-window-jni/src/main/native/windows/nucleus_windows_decoration.c
+++ b/decorated-window-jni/src/main/native/windows/nucleus_windows_decoration.c
@@ -528,14 +528,14 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
/* JNI exports */
/* ================================================================== */
-/* Package: io.github.kdroidfilter.nucleus.window.utils.windows */
+/* Package: dev.nucleusframework.nucleus.window.utils.windows */
/* Class: JniWindowsDecorationBridge */
/* -------------------------------------------------------------- */
/* nativeInstallDecoration(long hwnd, int titleBarHeightPx) */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeInstallDecoration(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeInstallDecoration(
JNIEnv *env, jclass clazz, jlong hwndLong, jint titleBarHeightPx)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -605,7 +605,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* nativeUninstallDecoration(long hwnd) */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeUninstallDecoration(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeUninstallDecoration(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -645,7 +645,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* nativeSetForceHitTestClient(long hwnd, boolean force) */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetForceHitTestClient(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetForceHitTestClient(
JNIEnv *env, jclass clazz, jlong hwndLong, jboolean force)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -661,7 +661,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* nativeSetTitleBarHeight(long hwnd, int heightPx) */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetTitleBarHeight(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetTitleBarHeight(
JNIEnv *env, jclass clazz, jlong hwndLong, jint heightPx)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -680,7 +680,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* title bar background. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeStartDrag(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeStartDrag(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -702,7 +702,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* classes are accessible without --add-opens. */
/* -------------------------------------------------------------- */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeGetHwnd(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeGetHwnd(
JNIEnv *env, jclass clazz, jobject awtWindow)
{
if (!awtWindow) return 0;
@@ -830,7 +830,7 @@ static LRESULT CALLBACK dialogDecoWndProc(
/* Windows 11 22000+ only; silently ignored on older Windows. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeApplyDialogStyle(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeApplyDialogStyle(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -869,7 +869,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Exit: restores saved style/exstyle/placement. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetFullscreen(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetFullscreen(
JNIEnv *env, jclass clazz, jlong hwndLong, jboolean fullscreen)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -982,7 +982,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Returns true if the window is in native fullscreen mode. */
/* -------------------------------------------------------------- */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeIsFullscreen(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeIsFullscreen(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -1002,7 +1002,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Windows 10 build 17763+. Silently ignored on older versions. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetBackgroundColor(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetBackgroundColor(
JNIEnv *env, jclass clazz, jlong hwndLong, jint argb)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -1040,7 +1040,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Returns debug counters as a string for diagnostics. */
/* -------------------------------------------------------------- */
JNIEXPORT jstring JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeGetDebugInfo(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeGetDebugInfo(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -1068,7 +1068,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Pass (0, 0) to disable the override and fall back to AWT. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetMinimumSize(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetMinimumSize(
JNIEnv *env, jclass clazz, jlong hwndLong, jint widthPx, jint heightPx)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
@@ -1088,7 +1088,7 @@ Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBri
/* Pass (0, 0) to disable the override and fall back to AWT. */
/* -------------------------------------------------------------- */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetMaximumSize(
+Java_dev_nucleusframework_nucleus_window_utils_windows_JniWindowsDecorationBridge_nativeSetMaximumSize(
JNIEnv *env, jclass clazz, jlong hwndLong, jint widthPx, jint heightPx)
{
HWND hwnd = (HWND)(uintptr_t)hwndLong;
diff --git a/decorated-window-jni/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-jni/reachability-metadata.json b/decorated-window-jni/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-jni/reachability-metadata.json
similarity index 82%
rename from decorated-window-jni/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-jni/reachability-metadata.json
rename to decorated-window-jni/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-jni/reachability-metadata.json
index 980b11074..8c6a07bc1 100644
--- a/decorated-window-jni/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-jni/reachability-metadata.json
+++ b/decorated-window-jni/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-jni/reachability-metadata.json
@@ -1,7 +1,7 @@
{
"reflection": [
{
- "type": "io.github.kdroidfilter.nucleus.window.utils.macos.JniMacTitleBarBridge",
+ "type": "dev.nucleusframework.nucleus.window.utils.macos.JniMacTitleBarBridge",
"jniAccessible": true,
"methods": [
{
@@ -14,7 +14,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsDecorationBridge",
+ "type": "dev.nucleusframework.nucleus.window.utils.windows.JniWindowsDecorationBridge",
"jniAccessible": true,
"methods": [
{
diff --git a/decorated-window-material2/build.gradle.kts b/decorated-window-material2/build.gradle.kts
index 8270205db..b79fb6b9f 100644
--- a/decorated-window-material2/build.gradle.kts
+++ b/decorated-window-material2/build.gradle.kts
@@ -37,7 +37,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-material2", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-material2", publishVersion)
pom {
name.set("Nucleus Material 2 Decorated Window")
@@ -53,7 +53,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-material2/config/ktlint/baseline.xml b/decorated-window-material2/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-material2/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialColorMapping.kt b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialColorMapping.kt
similarity index 74%
rename from decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialColorMapping.kt
rename to decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialColorMapping.kt
index 26da08f5f..ac5a537ee 100644
--- a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialColorMapping.kt
+++ b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialColorMapping.kt
@@ -1,18 +1,18 @@
-package io.github.kdroidfilter.nucleus.window.material2
+package dev.nucleusframework.nucleus.window.material2
import androidx.compose.material.Colors
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowColors
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowMetrics
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarColors
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarMetrics
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowColors
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowMetrics
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarColors
+import dev.nucleusframework.nucleus.window.styling.TitleBarMetrics
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
private const val BORDER_ALPHA = 0.12f
private const val INACTIVE_BORDER_ALPHA = 0.06f
diff --git a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedDialog.kt b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedDialog.kt
similarity index 85%
rename from decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedDialog.kt
rename to decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedDialog.kt
index bbff3974a..803030c94 100644
--- a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedDialog.kt
+++ b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedDialog.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.material2
+package dev.nucleusframework.nucleus.window.material2
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.Composable
@@ -6,9 +6,9 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.DialogState
import androidx.compose.ui.window.rememberDialogState
-import io.github.kdroidfilter.nucleus.window.DecoratedDialog
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.window.DecoratedDialog
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedWindow.kt b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedWindow.kt
similarity index 86%
rename from decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedWindow.kt
rename to decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedWindow.kt
index 76f87eef6..4ffec1ee1 100644
--- a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDecoratedWindow.kt
+++ b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.material2
+package dev.nucleusframework.nucleus.window.material2
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.Composable
@@ -7,13 +7,13 @@ import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.application.NucleusApplicationScope
-import io.github.kdroidfilter.nucleus.application.NucleusDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindow
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.application.DecoratedWindow as NucleusDecoratedWindow
+import dev.nucleusframework.nucleus.application.NucleusApplicationScope
+import dev.nucleusframework.nucleus.application.NucleusDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.AwtDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindow
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.application.DecoratedWindow as NucleusDecoratedWindow
@Suppress("FunctionNaming", "LongParameterList")
@Composable
diff --git a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDialogTitleBar.kt b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDialogTitleBar.kt
similarity index 64%
rename from decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDialogTitleBar.kt
rename to decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDialogTitleBar.kt
index 19e5302ea..64560d8ff 100644
--- a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialDialogTitleBar.kt
+++ b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialDialogTitleBar.kt
@@ -1,17 +1,17 @@
-package io.github.kdroidfilter.nucleus.window.material2
+package dev.nucleusframework.nucleus.window.material2
import androidx.compose.material.LocalContentColor
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogState
-import io.github.kdroidfilter.nucleus.window.DialogTitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.DecoratedDialogState
+import dev.nucleusframework.nucleus.window.DialogTitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialTitleBar.kt b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialTitleBar.kt
similarity index 72%
rename from decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialTitleBar.kt
rename to decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialTitleBar.kt
index 909b3e3be..830853c63 100644
--- a/decorated-window-material2/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material2/MaterialTitleBar.kt
+++ b/decorated-window-material2/src/main/kotlin/dev/nucleusframework/nucleus/window/material2/MaterialTitleBar.kt
@@ -1,17 +1,17 @@
-package io.github.kdroidfilter.nucleus.window.material2
+package dev.nucleusframework.nucleus.window.material2
import androidx.compose.material.LocalContentColor
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.TitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.TitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
/**
* Material 2 themed title bar.
diff --git a/decorated-window-material3/build.gradle.kts b/decorated-window-material3/build.gradle.kts
index bd60ac58c..58a8f1cf1 100644
--- a/decorated-window-material3/build.gradle.kts
+++ b/decorated-window-material3/build.gradle.kts
@@ -38,7 +38,7 @@ kotlin {
}
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-material3", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-material3", publishVersion)
pom {
name.set("Nucleus Material Decorated Window")
@@ -54,7 +54,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-material3/config/ktlint/baseline.xml b/decorated-window-material3/config/ktlint/baseline.xml
new file mode 100644
index 000000000..981420778
--- /dev/null
+++ b/decorated-window-material3/config/ktlint/baseline.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialColorMapping.kt b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialColorMapping.kt
similarity index 75%
rename from decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialColorMapping.kt
rename to decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialColorMapping.kt
index 343256ca8..e24afa3ed 100644
--- a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialColorMapping.kt
+++ b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialColorMapping.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.material
+package dev.nucleusframework.nucleus.window.material
import androidx.compose.material3.ColorScheme
import androidx.compose.runtime.Composable
@@ -6,14 +6,14 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.graphics.luminance
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowColors
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowMetrics
-import io.github.kdroidfilter.nucleus.window.styling.DecoratedWindowStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarColors
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarMetrics
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowColors
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowMetrics
+import dev.nucleusframework.nucleus.window.styling.DecoratedWindowStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarColors
+import dev.nucleusframework.nucleus.window.styling.TitleBarMetrics
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
private const val INACTIVE_BORDER_ALPHA = 0.5f
private const val DARK_LUMINANCE_THRESHOLD = 0.5f
diff --git a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedDialog.kt b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedDialog.kt
similarity index 87%
rename from decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedDialog.kt
rename to decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedDialog.kt
index d7787e93d..7f3238dc9 100644
--- a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedDialog.kt
+++ b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedDialog.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.material
+package dev.nucleusframework.nucleus.window.material
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
@@ -7,12 +7,12 @@ import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.window.ApplicationScope
import androidx.compose.ui.window.DialogState
import androidx.compose.ui.window.rememberDialogState
-import io.github.kdroidfilter.nucleus.application.NucleusApplicationScope
-import io.github.kdroidfilter.nucleus.application.NucleusDecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.DecoratedDialog
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
-import io.github.kdroidfilter.nucleus.application.DecoratedDialog as NucleusDecoratedDialog
+import dev.nucleusframework.nucleus.application.NucleusApplicationScope
+import dev.nucleusframework.nucleus.application.NucleusDecoratedDialogScope
+import dev.nucleusframework.nucleus.window.AwtDecoratedDialogScope
+import dev.nucleusframework.nucleus.window.DecoratedDialog
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.application.DecoratedDialog as NucleusDecoratedDialog
/** AWT-backed (JBR / JNI) Material 3 wrapper for [DecoratedDialog]. */
@Suppress("FunctionNaming", "LongParameterList")
diff --git a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedWindow.kt b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedWindow.kt
similarity index 88%
rename from decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedWindow.kt
rename to decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedWindow.kt
index b52d99726..b3c024f0e 100644
--- a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDecoratedWindow.kt
+++ b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDecoratedWindow.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.material
+package dev.nucleusframework.nucleus.window.material
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
@@ -8,13 +8,13 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.window.ApplicationScope
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.application.NucleusApplicationScope
-import io.github.kdroidfilter.nucleus.application.NucleusDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.AwtDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindow
-import io.github.kdroidfilter.nucleus.window.NucleusDecoratedWindowTheme
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.application.DecoratedWindow as NucleusDecoratedWindow
+import dev.nucleusframework.nucleus.application.NucleusApplicationScope
+import dev.nucleusframework.nucleus.application.NucleusDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.AwtDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindow
+import dev.nucleusframework.nucleus.window.NucleusDecoratedWindowTheme
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.application.DecoratedWindow as NucleusDecoratedWindow
/**
* Material 3 wrapper around the AWT-based `DecoratedWindow` (JBR / JNI
diff --git a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDialogTitleBar.kt b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDialogTitleBar.kt
similarity index 64%
rename from decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDialogTitleBar.kt
rename to decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDialogTitleBar.kt
index 0ba206383..01b1f0765 100644
--- a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialDialogTitleBar.kt
+++ b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialDialogTitleBar.kt
@@ -1,17 +1,17 @@
-package io.github.kdroidfilter.nucleus.window.material
+package dev.nucleusframework.nucleus.window.material
import androidx.compose.material3.LocalContentColor
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogState
-import io.github.kdroidfilter.nucleus.window.DialogTitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.DecoratedDialogState
+import dev.nucleusframework.nucleus.window.DialogTitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
@Suppress("FunctionNaming")
@Composable
diff --git a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialTitleBar.kt b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialTitleBar.kt
similarity index 72%
rename from decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialTitleBar.kt
rename to decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialTitleBar.kt
index 6d06c6e69..38d021cd2 100644
--- a/decorated-window-material3/src/main/kotlin/io/github/kdroidfilter/nucleus/window/material/MaterialTitleBar.kt
+++ b/decorated-window-material3/src/main/kotlin/dev/nucleusframework/nucleus/window/material/MaterialTitleBar.kt
@@ -1,17 +1,17 @@
-package io.github.kdroidfilter.nucleus.window.material
+package dev.nucleusframework.nucleus.window.material
import androidx.compose.material3.LocalContentColor
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.TitleBar
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.TitleBar
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
/**
* Material 3 themed title bar.
diff --git a/decorated-window-tao/build.gradle.kts b/decorated-window-tao/build.gradle.kts
index 6d5c3732f..15dac1dc7 100644
--- a/decorated-window-tao/build.gradle.kts
+++ b/decorated-window-tao/build.gradle.kts
@@ -97,7 +97,7 @@ tasks.configureEach {
// ── Maven publication ──────────────────────────────────────────────────────
mavenPublishing {
- coordinates("io.github.kdroidfilter", "nucleus.decorated-window-tao", publishVersion)
+ coordinates("dev.nucleusframework", "nucleus.decorated-window-tao", publishVersion)
pom {
name.set("Nucleus Decorated Window Tao")
@@ -116,7 +116,7 @@ mavenPublishing {
developers {
developer {
- id.set("kdroidfilter")
+ id.set("kdroidFilter")
name.set("kdroidFilter")
url.set("https://github.com/kdroidFilter")
}
diff --git a/decorated-window-tao/config/ktlint/baseline.xml b/decorated-window-tao/config/ktlint/baseline.xml
new file mode 100644
index 000000000..f6670aae7
--- /dev/null
+++ b/decorated-window-tao/config/ktlint/baseline.xml
@@ -0,0 +1,786 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/decorated-window-tao/detekt-baseline.xml b/decorated-window-tao/detekt-baseline.xml
new file mode 100644
index 000000000..04d26ca3c
--- /dev/null
+++ b/decorated-window-tao/detekt-baseline.xml
@@ -0,0 +1,84 @@
+
+
+
+
+ ComplexCondition:NativeViewOverlayController.kt:NativeViewOverlayController$previous != null && previous[0] == xPx && previous[1] == yPx && previous[2] == widthPx && previous[3] == heightPx
+ ComplexCondition:NativeViewOverlayController.windows.kt:NativeViewOverlayControllerWindows$previous != null && previous[0] == xPx && previous[1] == yPx && previous[2] == widthPx && previous[3] == heightPx
+ CyclomaticComplexMethod:DecoratedWindow.kt:@Suppress("LongParameterList", "FunctionNaming") internal fun ApplicationScope.openDecoratedWindow: TaoWindow
+ CyclomaticComplexMethod:DecoratedWindowComposable.kt:@Suppress("LongParameterList", "FunctionNaming", "LongMethod") @Composable fun ApplicationScope.DecoratedWindow
+ CyclomaticComplexMethod:TaoSemanticsObserver.kt:TaoSemanticsObserver$private fun describe: Triple<TaoA11yRole, Int, Int>
+ CyclomaticComplexMethod:TaoSemanticsObserver.kt:TaoSemanticsObserver$private fun walk
+ ForbiddenComment:TaoComposeSceneHost.kt:TaoComposeSceneHost$// TODO: hover effects on macOS don't render until the user clicks once
+ ForbiddenComment:TaoPopupSceneLayerWindows.kt:TaoPopupSceneLayerWindows$/* TODO: full-window scrim surface */
+ LargeClass:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux
+ LongMethod:DecoratedWindow.kt:@Suppress("FunctionNaming", "LongParameterList") private fun ApplicationScope.openDecoratedWindowLinux: TaoWindow
+ LongMethod:DecoratedWindow.kt:@Suppress("LongParameterList", "FunctionNaming") internal fun ApplicationScope.openDecoratedWindow: TaoWindow
+ LongMethod:TaoSemanticsObserver.kt:TaoSemanticsObserver$private fun describe: Triple<TaoA11yRole, Int, Int>
+ LongMethod:TaoSemanticsObserver.kt:TaoSemanticsObserver$private fun walk
+ LoopWithTooManyJumpStatements:WindowControlsLinux.kt:for
+ MagicNumber:DecoratedDialog.kt:1000.0
+ MagicNumber:DecoratedDialog.kt:3
+ MagicNumber:DecoratedWindow.kt:28f
+ MagicNumber:DecoratedWindow.kt:32f
+ MagicNumber:DecoratedWindowComposable.kt:1000
+ MagicNumber:DecoratedWindowComposable.kt:1000.0
+ MagicNumber:DecoratedWindowComposable.kt:1000f
+ MagicNumber:DecoratedWindowComposable.kt:3
+ MagicNumber:NativeView.kt:3
+ MagicNumber:NativeViewOverlayController.kt:NativeViewOverlayController$3
+ MagicNumber:NativeViewOverlayController.kt:NativeViewOverlayController$4
+ MagicNumber:NativeViewOverlayController.windows.kt:NativeViewOverlayControllerWindows$3
+ MagicNumber:NativeViewOverlayController.windows.kt:NativeViewOverlayControllerWindows$4
+ MagicNumber:PainterToRgba.kt:255
+ MagicNumber:PainterToRgba.kt:255f
+ MagicNumber:PainterToRgba.kt:4
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$0x80
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$0xC0
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$24
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$4
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$76
+ MagicNumber:TaoAccessibility.kt:TaoA11ySnapshotSerializer$8
+ MagicNumber:TaoAccessibility.kt:TaoAccessibilityController$8
+ MagicNumber:TaoComposeSceneHost.kt:TaoComposeSceneHost$1000f
+ MagicNumber:TaoComposeSceneHost.kt:TaoComposeSceneHost$1024f
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$1000f
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$1024
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$1024f
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$12
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$3
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux$5
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux.SwapThread$1_000_000
+ MagicNumber:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux.SwapThread$50
+ MagicNumber:TaoComposeSceneHostWindows.kt:TaoComposeSceneHostWindows$1000f
+ MagicNumber:TaoComposeSceneHostWindows.kt:TaoComposeSceneHostWindows$1024f
+ MagicNumber:TaoComposeSceneHostWindows.kt:TaoComposeSceneHostWindows$28
+ MagicNumber:TaoLinuxOverlayController.kt:TaoLinuxOverlayControllerImpl.InputCallback$3
+ MagicNumber:TaoMainDispatcher.kt:TaoMainDispatcher$1_000_000_000L
+ MagicNumber:TaoMainDispatcher.kt:TaoMainDispatcher$60
+ MagicNumber:TaoSemanticsObserver.kt:TaoSemanticsObserver$0.1f
+ MagicNumber:TaoSemanticsObserver.kt:TaoSemanticsObserver$0.9f
+ MagicNumber:TaoSemanticsObserver.kt:TaoSemanticsObserver$0xFFFFFFFFL
+ MagicNumber:TaoSemanticsObserver.kt:TaoSemanticsObserver$4
+ MagicNumber:TaoSemanticsObserver.kt:TaoSemanticsObserver$64
+ MagicNumber:TaoSyntheticKey.kt:0x20
+ MagicNumber:TaoSyntheticKey.kt:0x7F
+ MagicNumber:TaoWindow.kt:TaoWindow$1000f
+ MatchingDeclarationName:NativeViewOverlayController.windows.kt:NativeViewOverlayControllerWindows
+ MatchingDeclarationName:PopupNativeBridge.windows.kt:PopupNativeBridgeWindows
+ MayBeConstant:TaoMainDispatcher.kt:TaoMainDispatcher$/** * Re-arm throttle. When a pumped block re-dispatches itself synchronously * (very common with Compose's state-observer / snapshot-apply machinery — * `LazyColumn` + scrollbar can cycle through ~150 k pumps/sec at idle), * the pump→drain→re-arm→nativeWake→pump loop pegs the Tao main thread * at 100 % CPU. AWT-based backends don't see this because the EDT only * processes pending work at ~60 Hz; we mimic that here by deferring the * re-arm `nativeWake` through a small delay rather than calling it * synchronously inside [pump]. New external dispatches still wake the * loop immediately — the delay only applies when the queue is non-empty * *after* a drain (i.e. blocks added by the just-run blocks). */ private val pumpReArmIntervalNs = 1_000_000_000L / 60
+ NestedBlockDepth:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux.SwapThread$override fun run
+ PrintStackTrace:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux.SwapThread$t
+ PrintStackTrace:TaoMainDispatcher.kt:TaoMainDispatcher$t
+ ReturnCount:DecoratedWindowComposable.kt:private fun applyAlignedPosition: Boolean
+ TooGenericExceptionCaught:TaoComposeSceneHostLinux.kt:TaoComposeSceneHostLinux.SwapThread$t: Throwable
+ TooGenericExceptionCaught:TaoMainDispatcher.kt:TaoMainDispatcher$t: Throwable
+ TooManyFunctions:NativeTaoBridge.kt:NativeTaoBridge
+ TooManyFunctions:NativeViewOverlayController.windows.kt:NativeViewOverlayControllerWindows$<no name provided> : TaoPopupHostWindows
+ TooManyFunctions:PopupNativeBridge.kt:PopupNativeBridge
+ TooManyFunctions:TaoPopupHostWindows.kt:TaoPopupHostWindows
+ TooManyFunctions:TaoWindow.kt:TaoWindow
+ UnusedParameter:DecoratedWindow.kt:windowHandle: Long
+ UnusedParameter:TaoLinuxOverlayController.kt:TaoLinuxOverlayControllerImpl$button: Int
+ UnusedParameter:WindowControlsLinux.kt:isCloseButton: Boolean = false
+
+
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
similarity index 89%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
index 584dddd65..60810de28 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/DialogTitleBar.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/DialogTitleBar.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -25,21 +25,21 @@ import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogState
-import io.github.kdroidfilter.nucleus.window.GenericTitleBarImpl
-import io.github.kdroidfilter.nucleus.window.LocalControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.tao.LocalRequestedTitleBarHeight
-import io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoDecoratedDialogScope
-import io.github.kdroidfilter.nucleus.window.utils.linux.linuxTitleBarIcons
-import io.github.kdroidfilter.nucleus.window.utils.windows.windowsTitleBarIcons
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedDialogState
+import dev.nucleusframework.nucleus.window.GenericTitleBarImpl
+import dev.nucleusframework.nucleus.window.LocalControlButtonsDirection
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.tao.LocalRequestedTitleBarHeight
+import dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
+import dev.nucleusframework.nucleus.window.tao.TaoDecoratedDialogScope
+import dev.nucleusframework.nucleus.window.utils.linux.linuxTitleBarIcons
+import dev.nucleusframework.nucleus.window.utils.windows.windowsTitleBarIcons
private val WINDOWS_DLG_BUTTON_WIDTH: Dp = 46.dp
@@ -195,7 +195,7 @@ private fun TitleBarScope.DialogWindowsCloseButton(
@Composable
private fun TitleBarScope.DialogLinuxCloseButton(
onClick: () -> Unit,
- state: io.github.kdroidfilter.nucleus.window.DecoratedWindowState,
+ state: dev.nucleusframework.nucleus.window.DecoratedWindowState,
modifier: Modifier = Modifier,
style: TitleBarStyle,
) {
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
similarity index 93%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
index 57711bb77..5a5930a5e 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/TitleBar.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/TitleBar.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window
+package dev.nucleusframework.nucleus.window
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.tween
@@ -31,27 +31,27 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.ControlButtonsDirection
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.GenericTitleBarImpl
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.hasMacOSLargeCornerRadius
-import io.github.kdroidfilter.nucleus.window.hasNewFullscreenControls
-import io.github.kdroidfilter.nucleus.window.styling.LocalTitleBarStyle
-import io.github.kdroidfilter.nucleus.window.styling.TitleBarStyle
-import io.github.kdroidfilter.nucleus.window.tao.LocalFullscreenTitleBarHolder
-import io.github.kdroidfilter.nucleus.window.tao.LocalRequestedClearColor
-import io.github.kdroidfilter.nucleus.window.tao.LocalRequestedTitleBarHeight
-import io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDecoBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoDecoratedWindowScope
-import io.github.kdroidfilter.nucleus.window.tao.TaoWindow
-import io.github.kdroidfilter.nucleus.window.tao.WindowControlsLinux
-import io.github.kdroidfilter.nucleus.window.tao.WindowControlsWindows
-import io.github.kdroidfilter.nucleus.window.utils.linux.rememberLinuxButtonLayout
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.ControlButtonsDirection
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.GenericTitleBarImpl
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.hasMacOSLargeCornerRadius
+import dev.nucleusframework.nucleus.window.hasNewFullscreenControls
+import dev.nucleusframework.nucleus.window.styling.LocalTitleBarStyle
+import dev.nucleusframework.nucleus.window.styling.TitleBarStyle
+import dev.nucleusframework.nucleus.window.tao.LocalFullscreenTitleBarHolder
+import dev.nucleusframework.nucleus.window.tao.LocalRequestedClearColor
+import dev.nucleusframework.nucleus.window.tao.LocalRequestedTitleBarHeight
+import dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDecoBridge
+import dev.nucleusframework.nucleus.window.tao.TaoDecoratedWindowScope
+import dev.nucleusframework.nucleus.window.tao.TaoWindow
+import dev.nucleusframework.nucleus.window.tao.WindowControlsLinux
+import dev.nucleusframework.nucleus.window.tao.WindowControlsWindows
+import dev.nucleusframework.nucleus.window.utils.linux.rememberLinuxButtonLayout
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.isActive
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/ApplicationScope.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/ApplicationScope.kt
similarity index 91%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/ApplicationScope.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/ApplicationScope.kt
index d42008fbe..72bc9dd73 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/ApplicationScope.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/ApplicationScope.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
/**
* Scope exposed by [taoApplication]. Mirrors `androidx.compose.ui.window.ApplicationScope`
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedDialog.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedDialog.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedDialog.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedDialog.kt
index 173e0dd00..8252cf4f9 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedDialog.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedDialog.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.runtime.Composable
@@ -14,8 +14,8 @@ import androidx.compose.ui.window.DialogState
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.rememberDialogState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogState
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.DecoratedDialogState
/**
* Tao-backed equivalent of `decorated-window-jni`'s `DecoratedDialog`.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindow.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindow.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindow.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindow.kt
index 06c442ef8..a69d91a15 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindow.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindow.kt
@@ -1,6 +1,6 @@
@file:OptIn(androidx.compose.ui.InternalComposeUiApi::class)
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
@@ -14,15 +14,15 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.input.key.KeyEvent
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.unit.DpSize
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.LocalTitleBarInfo
-import io.github.kdroidfilter.nucleus.window.TitleBarInfo
-import io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoPopupHost
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHost
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostLinux
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostWindows
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.LocalTitleBarInfo
+import dev.nucleusframework.nucleus.window.TitleBarInfo
+import dev.nucleusframework.nucleus.window.tao.render.LocalTaoPopupHost
+import dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHost
+import dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostLinux
+import dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostWindows
/**
* Holds the title-bar height (in dp / macOS points) currently requested by the
@@ -349,7 +349,7 @@ private fun ApplicationScope.openDecoratedWindowLinux(
LocalRequestedTitleBarHeight provides titleBarHeightState,
LocalFullscreenTitleBarHolder provides fullscreenHolder,
LocalTaoNativeViewHost provides host.nativeViewHost(),
- io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoLinuxOverlayController
+ dev.nucleusframework.nucleus.window.tao.render.LocalTaoLinuxOverlayController
provides host.overlayController(),
// Override the default Skiko `URIManager` (calls
// `Desktop.browse` → initialises XAWT → deadlocks our GLX
@@ -544,7 +544,7 @@ private fun ApplicationScope.openDecoratedWindowWindows(
LocalRequestedTitleBarHeight provides titleBarHeightState,
LocalFullscreenTitleBarHolder provides fullscreenHolder,
LocalTaoNativeViewHost provides host.nativeViewHost(),
- io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoPopupHostWindows
+ dev.nucleusframework.nucleus.window.tao.render.LocalTaoPopupHostWindows
provides host.popupHost(),
) {
val border =
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindowComposable.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindowComposable.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindowComposable.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindowComposable.kt
index e8ca4bfaa..ff21aeb93 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/DecoratedWindowComposable.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/DecoratedWindowComposable.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
@@ -17,7 +17,7 @@ import androidx.compose.ui.window.WindowPlacement
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.WindowState
import androidx.compose.ui.window.rememberWindowState
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.core.runtime.Platform
/**
* Composable variant of [openDecoratedWindow]. API mirrors
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/FullscreenTitleBarHolder.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/FullscreenTitleBarHolder.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/FullscreenTitleBarHolder.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/FullscreenTitleBarHolder.kt
index 7d2aa9dcb..847660ff5 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/FullscreenTitleBarHolder.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/FullscreenTitleBarHolder.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.tween
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/MacOSStyle.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/MacOSStyle.kt
similarity index 85%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/MacOSStyle.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/MacOSStyle.kt
index cb47e3b48..d233f1959 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/MacOSStyle.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/MacOSStyle.kt
@@ -1,9 +1,9 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
/**
* macOS visual treatment applied to a [DecoratedWindow] at construction.
*
- * Imperative counterpart of [io.github.kdroidfilter.nucleus.window.macOSLargeCornerRadius]
+ * Imperative counterpart of [dev.nucleusframework.nucleus.window.macOSLargeCornerRadius]
* — the Modifier is the recommended path (works the same on jbr/jni/tao).
* Tao defaults to [Classic] so the swap-in API behaves identically to the
* AWT backends: opt in to the large corner radius via the Modifier on
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeMetalBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeMetalBridge.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeMetalBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeMetalBridge.kt
index 9f49a7802..fe6e31b9a 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeMetalBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeMetalBridge.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
-import io.github.kdroidfilter.nucleus.window.tao.render.MetalFrame
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.window.tao.render.MetalFrame
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import java.util.concurrent.ConcurrentHashMap
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt
similarity index 89%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt
index 4cf858ba4..6ca7f7936 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoA11yWindowsBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* Loader stub for `nucleus_tao_a11y.dll` (Windows-only).
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoBridge.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoBridge.kt
index 83ec664fc..60a775d35 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoEglBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoEglBridge.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoEglBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoEglBridge.kt
index e1865cd1e..e2a27ec30 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoEglBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoEglBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_egl"
@@ -12,7 +12,7 @@ private const val LIBRARY_NAME = "nucleus_tao_egl"
*
* Replaces [NativeTaoGlxBridge] on the path selected by the JVM system
* property `nucleus.tao.linux.renderer = glx | egl` (see
- * [io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostLinux]).
+ * [dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostLinux]).
*
* Phase 1 (this commit): X11 only. Wayland (`nativeAttachWayland`) and the
* `wp_fractional_scale_v1` / `wp_viewporter` plumbing land in follow-ups.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoGlBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoGlBridge.kt
similarity index 93%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoGlBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoGlBridge.kt
index 811b9c996..7d7eb8ec6 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoGlBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoGlBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_gl"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxDndBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxDndBridge.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxDndBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxDndBridge.kt
index 03bcad002..974f2c0bc 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxDndBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxDndBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* JNI bridge to the Linux DnD helper for the Tao backend.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt
index 91dc480a4..5f568424e 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxTouchBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* JNI bridge to the Linux touch + touchpad-gesture helper for the Tao backend.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt
index 6f4d979aa..85dcb2f58 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoLinuxWidgetBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_linux_widget"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt
index 2a150f6b5..b5687a0e6 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDecoBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_macos_deco"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDndBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDndBridge.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDndBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDndBridge.kt
index fc914246a..538178a64 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsDndBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsDndBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* JNI bridge to the macOS NSDraggingDestination / NSDraggingSource helper for
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt
index d2a8f2af2..71bd42254 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoMacOsNativeViewBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_macos_native_view"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt
similarity index 95%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt
index c9f8f06b8..aad0b6119 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDecoBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_windows_deco"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDndBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDndBridge.kt
similarity index 95%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDndBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDndBridge.kt
index f94d76a31..d9246b440 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsDndBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsDndBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* JNI bridge to the Windows IDropTarget COM helper for the Tao backend.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt
similarity index 93%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt
index 26fdf3911..bc59de8cc 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsNativeViewBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_windows_native_view"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt
index bca45f759..c4d3eb7ff 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeTaoWindowsOverlayBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
private const val LIBRARY_NAME = "nucleus_tao_windows_native_view"
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeView.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeView.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeView.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeView.kt
index 05da975d2..63db2390a 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeView.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeView.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.layout.Box
import androidx.compose.runtime.Composable
@@ -23,9 +23,9 @@ import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInRoot
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.Dp
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
-import io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoLinuxOverlayController
-import io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoPopupHost
+import dev.nucleusframework.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.window.tao.render.LocalTaoLinuxOverlayController
+import dev.nucleusframework.nucleus.window.tao.render.LocalTaoPopupHost
import kotlin.math.min
import kotlin.math.roundToInt
@@ -97,7 +97,7 @@ private fun HwndEmbedding(
content: @Composable () -> Unit,
) {
val host = LocalTaoNativeViewHost.current
- val popupHost = io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoPopupHostWindows.current
+ val popupHost = dev.nucleusframework.nucleus.window.tao.render.LocalTaoPopupHostWindows.current
val handle = view.hwndHandle
val latestContent by rememberUpdatedState(content)
@@ -289,7 +289,7 @@ private fun NsViewEmbedding(
*
* Hit-test passthrough is region-based, mirroring macOS:
* descendants of [content] that wrap themselves in
- * [io.github.kdroidfilter.nucleus.window.tao.consumeOverlayPointerEvents]
+ * [dev.nucleusframework.nucleus.window.tao.consumeOverlayPointerEvents]
* register their bounds with the host's [TaoLinuxOverlayController];
* the EGL surface's input region is the union of those rects, so
* outside of them every click falls through to GTK and reaches the
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.kt
index f29e81ab8..b3386c2fd 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.Composable
import androidx.compose.ui.InternalComposeUiApi
@@ -18,11 +18,11 @@ import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneContext
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoNativeWireFormat
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoPopupHost
-import io.github.kdroidfilter.nucleus.window.tao.render.dispatchSyntheticKeyTyped
-import io.github.kdroidfilter.nucleus.window.tao.render.renderMetalFrame
+import dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneContext
+import dev.nucleusframework.nucleus.window.tao.render.TaoNativeWireFormat
+import dev.nucleusframework.nucleus.window.tao.render.TaoPopupHost
+import dev.nucleusframework.nucleus.window.tao.render.dispatchSyntheticKeyTyped
+import dev.nucleusframework.nucleus.window.tao.render.renderMetalFrame
import kotlin.coroutines.CoroutineContext
import org.jetbrains.skia.DirectContext
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.windows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.windows.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.windows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.windows.kt
index 575b82f64..751c22694 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NativeViewOverlayController.windows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NativeViewOverlayController.windows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
@@ -20,10 +20,10 @@ import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneContextWindows
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoNativeWireFormat
-import io.github.kdroidfilter.nucleus.window.tao.render.TaoPopupHostWindows
-import io.github.kdroidfilter.nucleus.window.tao.render.renderGlFrame
+import dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneContextWindows
+import dev.nucleusframework.nucleus.window.tao.render.TaoNativeWireFormat
+import dev.nucleusframework.nucleus.window.tao.render.TaoPopupHostWindows
+import dev.nucleusframework.nucleus.window.tao.render.renderGlFrame
import kotlin.coroutines.CoroutineContext
import org.jetbrains.skia.DirectContext
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NucleusPlatformView.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NucleusPlatformView.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NucleusPlatformView.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NucleusPlatformView.kt
index fa51c7c5e..1f0b6e374 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/NucleusPlatformView.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/NucleusPlatformView.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
/**
* Platform-agnostic descriptor for a native view embedded by the
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/OverlayInteractionModifier.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/OverlayInteractionModifier.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/OverlayInteractionModifier.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/OverlayInteractionModifier.kt
index abb71116f..d193f91dd 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/OverlayInteractionModifier.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/OverlayInteractionModifier.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.remember
@@ -10,7 +10,7 @@ import androidx.compose.ui.input.pointer.pointerHoverIcon
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInRoot
-import io.github.kdroidfilter.nucleus.window.tao.render.LocalTaoLinuxOverlayController
+import dev.nucleusframework.nucleus.window.tao.render.LocalTaoLinuxOverlayController
import kotlin.math.roundToInt
/**
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PainterToRgba.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PainterToRgba.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PainterToRgba.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PainterToRgba.kt
index 218f58db8..2ac47f46f 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PainterToRgba.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PainterToRgba.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Canvas
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.kt
index 4654fae0e..d3e601d04 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* JNI bridge to the macOS popup panel helper (`macos/popup_panel.m`,
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.windows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.windows.kt
similarity index 95%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.windows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.windows.kt
index ecea27ecc..f96caabe0 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/PopupNativeBridge.windows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/PopupNativeBridge.windows.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.NativeLibraryLoader
+import dev.nucleusframework.nucleus.core.runtime.NativeLibraryLoader
/**
* Windows counterpart to the macOS [PopupNativeBridge]. Each instance
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoAccessibility.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoAccessibility.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoAccessibility.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoAccessibility.kt
index 567b7430c..cfc117832 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoAccessibility.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoAccessibility.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.snapshots.Snapshot
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
import java.nio.ByteBuffer
import java.nio.ByteOrder
import java.util.concurrent.ConcurrentHashMap
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplication.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplication.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplication.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplication.kt
index 32c57d68b..85f9ec6ef 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplication.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplication.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.atomic.AtomicLong
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplicationCompose.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplicationCompose.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplicationCompose.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplicationCompose.kt
index 657cc4c64..9d6bee7a0 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoApplicationCompose.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoApplicationCompose.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.Applier
import androidx.compose.runtime.Composable
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoCursorMapping.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoCursorMapping.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoCursorMapping.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoCursorMapping.kt
index c1c407ac0..583b232d1 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoCursorMapping.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoCursorMapping.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.ui.input.pointer.PointerIcon
import java.awt.Cursor
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedDialogScope.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedDialogScope.kt
similarity index 75%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedDialogScope.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedDialogScope.kt
index 8f97715da..90fc96c06 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedDialogScope.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedDialogScope.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.layout.ColumnScope
-import io.github.kdroidfilter.nucleus.window.DecoratedDialogScope
+import dev.nucleusframework.nucleus.window.DecoratedDialogScope
/**
* Tao-specific sub-interface of [DecoratedDialogScope] adding access to the
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedWindowScope.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedWindowScope.kt
similarity index 82%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedWindowScope.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedWindowScope.kt
index 8e00a0023..1121743cd 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDecoratedWindowScope.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDecoratedWindowScope.kt
@@ -1,7 +1,7 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.layout.ColumnScope
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowScope
+import dev.nucleusframework.nucleus.window.DecoratedWindowScope
/**
* Tao-specific sub-interface of [DecoratedWindowScope] adding access to the
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDeepLinkBridge.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDeepLinkBridge.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDeepLinkBridge.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDeepLinkBridge.kt
index 3f646ae7e..1cd42d950 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDeepLinkBridge.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDeepLinkBridge.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import java.net.URI
import java.net.URISyntaxException
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDnDDiagnostics.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDnDDiagnostics.kt
similarity index 93%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDnDDiagnostics.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDnDDiagnostics.kt
index f2c992acb..facaaece4 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDnDDiagnostics.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDnDDiagnostics.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropManager.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropManager.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropManager.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropManager.kt
index 0e4fad503..0126bfc86 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropManager.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropManager.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.InternalComposeUiApi
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropPayload.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropPayload.kt
similarity index 91%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropPayload.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropPayload.kt
index 855958db7..4cc007005 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoDragAndDropPayload.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoDragAndDropPayload.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
/**
* Backend-specific payload exposed as `DragAndDropEvent.nativeEvent` on the
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoFilesTransferable.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoFilesTransferable.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoFilesTransferable.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoFilesTransferable.kt
index 29b80e1e4..a95830bbf 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoFilesTransferable.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoFilesTransferable.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import java.awt.datatransfer.DataFlavor
import java.awt.datatransfer.Transferable
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoLinuxUriHandler.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoLinuxUriHandler.kt
similarity index 95%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoLinuxUriHandler.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoLinuxUriHandler.kt
index f1c89c5f6..586908f62 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoLinuxUriHandler.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoLinuxUriHandler.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.ui.platform.UriHandler
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoMainDispatcher.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoMainDispatcher.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoMainDispatcher.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoMainDispatcher.kt
index 9d31bec1e..9464233f2 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoMainDispatcher.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoMainDispatcher.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.runtime.snapshots.Snapshot
import kotlinx.coroutines.CoroutineDispatcher
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSemanticsObserver.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSemanticsObserver.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSemanticsObserver.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSemanticsObserver.kt
index 9c62b9582..8527c564d 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSemanticsObserver.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSemanticsObserver.kt
@@ -1,6 +1,6 @@
@file:OptIn(androidx.compose.ui.InternalComposeUiApi::class)
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.ui.platform.PlatformContext
import androidx.compose.ui.semantics.Role
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSyntheticAwtDnd.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSyntheticAwtDnd.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSyntheticAwtDnd.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSyntheticAwtDnd.kt
index c6b84d716..44b6602b6 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoSyntheticAwtDnd.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoSyntheticAwtDnd.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import java.awt.Point
import java.awt.datatransfer.Transferable
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoWindow.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoWindow.kt
similarity index 99%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoWindow.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoWindow.kt
index 48741ec00..4e1351d96 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/TaoWindow.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/TaoWindow.kt
@@ -1,6 +1,6 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
-import io.github.kdroidfilter.nucleus.core.runtime.Platform
+import dev.nucleusframework.nucleus.core.runtime.Platform
import java.util.concurrent.CopyOnWriteArrayList
import java.util.concurrent.atomic.AtomicBoolean
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/UndecoratedWindowBorder.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/UndecoratedWindowBorder.kt
similarity index 82%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/UndecoratedWindowBorder.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/UndecoratedWindowBorder.kt
index 54545c8b7..9b05b90a9 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/UndecoratedWindowBorder.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/UndecoratedWindowBorder.kt
@@ -1,14 +1,14 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.internal.insideBorder
-import io.github.kdroidfilter.nucleus.window.styling.LocalDecoratedWindowStyle
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.internal.insideBorder
+import dev.nucleusframework.nucleus.window.styling.LocalDecoratedWindowStyle
/**
* Returns the [Modifier.insideBorder] used by `DecoratedWindow` on
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsLinux.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsLinux.kt
similarity index 93%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsLinux.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsLinux.kt
index d7df3248c..75aeef017 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsLinux.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsLinux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
@@ -20,13 +20,13 @@ import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.TitleBarScope
-import io.github.kdroidfilter.nucleus.window.utils.linux.LinuxButtonLayout
-import io.github.kdroidfilter.nucleus.window.utils.linux.LinuxTitleBarButton
-import io.github.kdroidfilter.nucleus.window.utils.linux.linuxTitleBarIcons
-import io.github.kdroidfilter.nucleus.window.utils.linux.rememberLinuxButtonLayout
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.TitleBarScope
+import dev.nucleusframework.nucleus.window.utils.linux.LinuxButtonLayout
+import dev.nucleusframework.nucleus.window.utils.linux.LinuxTitleBarButton
+import dev.nucleusframework.nucleus.window.utils.linux.linuxTitleBarIcons
+import dev.nucleusframework.nucleus.window.utils.linux.rememberLinuxButtonLayout
// Direct copy of `decorated-window-core/WindowControlArea.kt`'s logic, with
// the AWT calls swapped for [TaoWindow] equivalents:
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsWindows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsWindows.kt
similarity index 82%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsWindows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsWindows.kt
index 3baddf048..335ede686 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/WindowControlsWindows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/WindowControlsWindows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao
+package dev.nucleusframework.nucleus.window.tao
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
@@ -23,30 +23,30 @@ import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.input.pointer.PointerEventType
import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.DecoratedWindowState
-import io.github.kdroidfilter.nucleus.window.LocalIsDarkTheme
-import io.github.kdroidfilter.nucleus.window.icons.windows.Close
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreen
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseFullscreenInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseHover
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.CloseInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Maximize
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.MaximizeInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Minimize
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.MinimizeInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.Restore
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreInactive
-import io.github.kdroidfilter.nucleus.window.icons.windows.RestoreInactiveDark
-import io.github.kdroidfilter.nucleus.window.icons.windows.WindowsControlButtonIcons
+import dev.nucleusframework.nucleus.window.DecoratedWindowState
+import dev.nucleusframework.nucleus.window.LocalIsDarkTheme
+import dev.nucleusframework.nucleus.window.icons.windows.Close
+import dev.nucleusframework.nucleus.window.icons.windows.CloseDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreen
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenInactive
+import dev.nucleusframework.nucleus.window.icons.windows.CloseFullscreenInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.CloseHover
+import dev.nucleusframework.nucleus.window.icons.windows.CloseInactive
+import dev.nucleusframework.nucleus.window.icons.windows.CloseInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Maximize
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeDark
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeInactive
+import dev.nucleusframework.nucleus.window.icons.windows.MaximizeInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Minimize
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeDark
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeInactive
+import dev.nucleusframework.nucleus.window.icons.windows.MinimizeInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.Restore
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreDark
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreInactive
+import dev.nucleusframework.nucleus.window.icons.windows.RestoreInactiveDark
+import dev.nucleusframework.nucleus.window.icons.windows.WindowsControlButtonIcons
// Mirrors `decorated-window-core/WindowsWindowControlArea.kt` so the visual
// output is identical between the AWT-based backend and the Tao backend.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/GlSceneRenderer.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/GlSceneRenderer.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/GlSceneRenderer.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/GlSceneRenderer.kt
index ff4187429..5aa56dc1c 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/GlSceneRenderer.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/GlSceneRenderer.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.ui.InternalComposeUiApi
import androidx.compose.ui.graphics.asComposeCanvas
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalFrame.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalFrame.kt
similarity index 92%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalFrame.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalFrame.kt
index 77a8ef14f..e2d10404d 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalFrame.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalFrame.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
/**
* Output of `NativeMetalBridge.nativeBeginFrame`. Constructed from the ObjC
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalSceneRenderer.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalSceneRenderer.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalSceneRenderer.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalSceneRenderer.kt
index 5d03ce7fe..7520737e0 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/MetalSceneRenderer.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/MetalSceneRenderer.kt
@@ -1,9 +1,9 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.ui.InternalComposeUiApi
import androidx.compose.ui.graphics.asComposeCanvas
import androidx.compose.ui.scene.ComposeScene
-import io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
+import dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
import org.jetbrains.skia.BackendRenderTarget
import org.jetbrains.skia.ColorSpace
import org.jetbrains.skia.DirectContext
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContext.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContext.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContext.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContext.kt
index 1a8a69ce7..9dda18ff7 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContext.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContext.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.CompositionContext
import androidx.compose.ui.InternalComposeUiApi
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt
similarity index 95%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt
index 47f73b6b5..e716cc782 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneContextWindows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.CompositionContext
import androidx.compose.ui.InternalComposeUiApi
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHost.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHost.kt
similarity index 92%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHost.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHost.kt
index 22b1af5fc..68edc7eec 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHost.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHost.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.BroadcastFrameClock
import androidx.compose.runtime.Composable
@@ -21,11 +21,11 @@ import androidx.compose.ui.input.pointer.PointerType
import androidx.compose.ui.platform.PlatformContext
import androidx.compose.ui.input.pointer.PointerId
import androidx.compose.ui.scene.ComposeScenePointer
-import io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon
-import io.github.kdroidfilter.nucleus.window.tao.TaoEventCode
-import io.github.kdroidfilter.nucleus.window.tao.TaoModifierMask
-import io.github.kdroidfilter.nucleus.window.tao.TaoTrackpadGesture
-import io.github.kdroidfilter.nucleus.window.tao.TaoTrackpadPhase
+import dev.nucleusframework.nucleus.window.tao.TaoCursorIcon
+import dev.nucleusframework.nucleus.window.tao.TaoEventCode
+import dev.nucleusframework.nucleus.window.tao.TaoModifierMask
+import dev.nucleusframework.nucleus.window.tao.TaoTrackpadGesture
+import dev.nucleusframework.nucleus.window.tao.TaoTrackpadPhase
import kotlin.math.cos
import kotlin.math.sin
import java.awt.Cursor
@@ -38,14 +38,14 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.tao.MacOSStyle
-import io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsNativeViewBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoMainDispatcher
-import io.github.kdroidfilter.nucleus.window.tao.TaoNativeViewHost
-import io.github.kdroidfilter.nucleus.window.tao.TaoWindow
-import io.github.kdroidfilter.nucleus.window.tao.shouldApplyLargeCornerRadius
+import dev.nucleusframework.nucleus.window.tao.MacOSStyle
+import dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsNativeViewBridge
+import dev.nucleusframework.nucleus.window.tao.TaoMainDispatcher
+import dev.nucleusframework.nucleus.window.tao.TaoNativeViewHost
+import dev.nucleusframework.nucleus.window.tao.TaoWindow
+import dev.nucleusframework.nucleus.window.tao.shouldApplyLargeCornerRadius
import org.jetbrains.skia.DirectContext
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.EmptyCoroutineContext
@@ -245,7 +245,7 @@ internal class TaoComposeSceneHost(
// but the scene cannot be constructed before we hand it the
// PlatformContext that owns the manager. Resolve on each call.
@OptIn(androidx.compose.ui.ExperimentalComposeUiApi::class)
- val dndManager = io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager(
+ val dndManager = dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager(
getRootNode = { scene!!.rootDragAndDropNode },
outboundLauncher = ::launchMacOsOutboundDrag,
)
@@ -289,39 +289,39 @@ internal class TaoComposeSceneHost(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun launchMacOsOutboundDrag(
- request: io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
+ request: dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
): androidx.compose.ui.draganddrop.DragAndDropTransferAction? {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) return null
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) return null
if (nsViewHandle == 0L) return null
val allowed = request.supportedActions.fold(0) { acc, action ->
acc or when (action) {
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_MOVE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_MOVE
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_LINK
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_LINK
else -> 0
}
}.let { if (it == 0) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
} else it }
val files = request.files.takeIf { it.isNotEmpty() }
?.map { it.absolutePath }?.toTypedArray()
- val effect = io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeStartDrag(
+ val effect = dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeStartDrag(
nsView = nsViewHandle,
files = files,
text = request.text,
allowedEffects = allowed,
)
return when (effect) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_MOVE ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_MOVE ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_LINK ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_LINK ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link
else -> null
}
@@ -329,18 +329,18 @@ internal class TaoComposeSceneHost(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun registerInboundDnD() {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) {
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"macOS DnD lib not loaded — inbound disabled",
)
return
}
val callback = InboundDnDCallback()
- val rc = io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeRegister(
+ val rc = dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeRegister(
nsView = nsViewHandle,
callback = callback,
)
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log("registerForDraggedTypes rc=$rc")
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log("registerForDraggedTypes rc=$rc")
}
/**
@@ -350,7 +350,7 @@ internal class TaoComposeSceneHost(
*/
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private inner class InboundDnDCallback :
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.Callback {
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.Callback {
private fun rootNode() = scene?.rootDragAndDropNode
@@ -359,13 +359,13 @@ internal class TaoComposeSceneHost(
yPx: Int,
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
- val payload = io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ val payload = dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
- val transferable = io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ val transferable = dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
- val native = io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDragEvent(
+ val native = dev.nucleusframework.nucleus.window.tao.TaoSyntheticDragEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -383,13 +383,13 @@ internal class TaoComposeSceneHost(
yPx: Int,
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
- val payload = io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ val payload = dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
- val transferable = io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ val transferable = dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
- val native = io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDropEvent(
+ val native = dev.nucleusframework.nucleus.window.tao.TaoSyntheticDropEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -403,14 +403,14 @@ internal class TaoComposeSceneHost(
}
override fun onDragEnter(nsView: Long, x: Int, y: Int, modState: Int, hasFiles: Boolean): Int {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"onDragEnter x=$x y=$y hasFiles=$hasFiles",
)
if (!hasFiles) {
- return io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ return dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
}
val node = rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
val accepted = node.acceptDragAndDropTransfer(ev)
if (accepted) {
@@ -418,26 +418,26 @@ internal class TaoComposeSceneHost(
node.onEntered(ev)
}
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
}
}
override fun onDragOver(nsView: Long, x: Int, y: Int, modState: Int, hasFiles: Boolean): Int {
val node = rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
node.onMoved(ev)
return if (node.hasEligibleDropTarget) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
}
}
override fun onDragLeave(nsView: Long) {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log("onDragLeave")
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log("onDragLeave")
val node = rootNode() ?: return
val ev = makeDragEvent(-1, -1, null)
node.onExited(ev)
@@ -445,18 +445,18 @@ internal class TaoComposeSceneHost(
}
override fun onDrop(nsView: Long, x: Int, y: Int, modState: Int, files: Array?): Int {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"onDrop x=$x y=$y files=${files?.size ?: 0}",
)
val node = rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
val ev = makeDropEvent(x, y, files)
val accepted = node.onDrop(ev)
node.onEnded(ev)
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.DROP_EFFECT_NONE
}
}
}
@@ -1046,8 +1046,8 @@ internal class TaoComposeSceneHost(
attachmentHandle = 0L
}
if (nsViewHandle != 0L) {
- if (io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeRevoke(nsViewHandle)
+ if (dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.isLoaded) {
+ dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge.nativeRevoke(nsViewHandle)
}
nsViewHandle = 0L
}
@@ -1089,11 +1089,11 @@ internal class TaoComposeSceneHost(
private fun mapButton(code: Int): androidx.compose.ui.input.pointer.PointerButton {
// Compose's PointerButton has Primary/Secondary/Tertiary plus generic indices.
return when (code) {
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.LEFT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.LEFT ->
androidx.compose.ui.input.pointer.PointerButton.Primary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.RIGHT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.RIGHT ->
androidx.compose.ui.input.pointer.PointerButton.Secondary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.MIDDLE ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.MIDDLE ->
androidx.compose.ui.input.pointer.PointerButton.Tertiary
else -> androidx.compose.ui.input.pointer.PointerButton.Primary
}
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt
similarity index 90%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt
index b54ad2181..9b7c85746 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostLinux.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.BroadcastFrameClock
import androidx.compose.runtime.Composable
@@ -22,16 +22,16 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.core.runtime.LinuxDesktopEnvironment
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoEglBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxTouchBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoEventCode
-import io.github.kdroidfilter.nucleus.window.tao.TaoModifierMask
-import io.github.kdroidfilter.nucleus.window.tao.TaoTouchEvent
-import io.github.kdroidfilter.nucleus.window.tao.TaoTrackpadGesture
-import io.github.kdroidfilter.nucleus.window.tao.TaoTrackpadPhase
-import io.github.kdroidfilter.nucleus.window.tao.TaoWindow
+import dev.nucleusframework.nucleus.core.runtime.LinuxDesktopEnvironment
+import dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoEglBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxTouchBridge
+import dev.nucleusframework.nucleus.window.tao.TaoEventCode
+import dev.nucleusframework.nucleus.window.tao.TaoModifierMask
+import dev.nucleusframework.nucleus.window.tao.TaoTouchEvent
+import dev.nucleusframework.nucleus.window.tao.TaoTrackpadGesture
+import dev.nucleusframework.nucleus.window.tao.TaoTrackpadPhase
+import dev.nucleusframework.nucleus.window.tao.TaoWindow
import kotlinx.coroutines.CoroutineDispatcher
import org.jetbrains.skia.BackendRenderTarget
import org.jetbrains.skia.BlendMode
@@ -253,7 +253,7 @@ internal class TaoComposeSceneHostLinux(
@OptIn(androidx.compose.ui.ExperimentalComposeUiApi::class)
val dndManager =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager(
getRootNode = { scene!!.rootDragAndDropNode },
outboundLauncher = ::launchLinuxOutboundDrag,
)
@@ -281,9 +281,9 @@ internal class TaoComposeSceneHostLinux(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun launchLinuxOutboundDrag(
- request: io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
+ request: dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
): androidx.compose.ui.draganddrop.DragAndDropTransferAction? {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded) return null
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded) return null
if (window.handle == 0L) return null
val allowed =
@@ -292,16 +292,16 @@ internal class TaoComposeSceneHostLinux(
acc or
when (action) {
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_MOVE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_MOVE
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_LINK
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_LINK
else -> 0
}
}.let {
if (it == 0) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
} else {
it
}
@@ -313,18 +313,18 @@ internal class TaoComposeSceneHostLinux(
?.map { it.absolutePath }
?.toTypedArray()
val effect =
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.nativeStartDrag(
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.nativeStartDrag(
handle = window.handle,
files = files,
text = request.text,
allowedEffects = allowed,
)
return when (effect) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_MOVE ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_MOVE ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_LINK ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_LINK ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link
else -> null
}
@@ -332,9 +332,9 @@ internal class TaoComposeSceneHostLinux(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun registerInboundDnD() {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded) return
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded) return
val callback = InboundDnDCallback()
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge
.nativeRegister(window.handle, callback)
}
@@ -345,7 +345,7 @@ internal class TaoComposeSceneHostLinux(
*/
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private inner class InboundDnDCallback :
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.Callback {
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.Callback {
private fun rootNode() = scene?.rootDragAndDropNode
// Coordinates from native are already in physical pixels (post
@@ -357,15 +357,15 @@ internal class TaoComposeSceneHostLinux(
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
val payload =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
val transferable =
- io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
val native =
- io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDragEvent(
+ dev.nucleusframework.nucleus.window.tao.TaoSyntheticDragEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -386,15 +386,15 @@ internal class TaoComposeSceneHostLinux(
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
val payload =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
val transferable =
- io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
val native =
- io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDropEvent(
+ dev.nucleusframework.nucleus.window.tao.TaoSyntheticDropEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -418,7 +418,7 @@ internal class TaoComposeSceneHostLinux(
): Int {
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
val accepted = node.acceptDragAndDropTransfer(ev)
if (accepted) {
@@ -426,9 +426,9 @@ internal class TaoComposeSceneHostLinux(
node.onEntered(ev)
}
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
}
}
@@ -441,13 +441,13 @@ internal class TaoComposeSceneHostLinux(
): Int {
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
node.onMoved(ev)
return if (node.hasEligibleDropTarget) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
}
}
@@ -467,14 +467,14 @@ internal class TaoComposeSceneHostLinux(
): Int {
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
val ev = makeDropEvent(x, y, files)
val accepted = node.onDrop(ev)
node.onEnded(ev)
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.DROP_EFFECT_NONE
}
}
}
@@ -1035,21 +1035,21 @@ internal class TaoComposeSceneHostLinux(
* library is available (missing on non-Linux builds and on Linux
* builds that didn't ship the .so).
*/
- fun nativeViewHost(): io.github.kdroidfilter.nucleus.window.tao.TaoNativeViewHost? {
+ fun nativeViewHost(): dev.nucleusframework.nucleus.window.tao.TaoNativeViewHost? {
if (window.handle == 0L) return null
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge.isLoaded) return null
- val gtkWindow = io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge.isLoaded) return null
+ val gtkWindow = dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
.nativeLinuxGtkWindow(window.handle)
if (gtkWindow == 0L) return null
val outer = this
- return object : io.github.kdroidfilter.nucleus.window.tao.TaoNativeViewHost {
+ return object : dev.nucleusframework.nucleus.window.tao.TaoNativeViewHost {
override fun attach(childHandle: Long) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge
.nativeAttach(gtkWindow, childHandle)
}
override fun detach(childHandle: Long) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge
.nativeDetach(childHandle)
}
@@ -1062,7 +1062,7 @@ internal class TaoComposeSceneHostLinux(
val yLogical = (yPx / s).toInt()
val wLogical = (widthPx / s).toInt().coerceAtLeast(1)
val hLogical = (heightPx / s).toInt().coerceAtLeast(1)
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge
.nativeSetFrame(gtkWindow, handle, xLogical, yLogical, wLogical, hLogical)
}
@@ -1080,7 +1080,7 @@ internal class TaoComposeSceneHostLinux(
/**
* Plumbing for the overlay slot of `NativeView` on Linux. Returns
* a freshly-created controller bound to this host's EGL
- * attachment so [io.github.kdroidfilter.nucleus.window.tao.consumeOverlayPointerEvents]
+ * attachment so [dev.nucleusframework.nucleus.window.tao.consumeOverlayPointerEvents]
* modifiers in the `content` lambda can register their bounds and
* have the EGL surface's input region updated accordingly.
*
@@ -1095,7 +1095,7 @@ internal class TaoComposeSceneHostLinux(
// yet at host construction time.
gtkWindowProvider = {
if (window.handle == 0L) 0L
- else io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
+ else dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
.nativeLinuxGtkWindow(window.handle)
},
scaleProvider = { scale },
@@ -1162,10 +1162,10 @@ internal class TaoComposeSceneHostLinux(
}
fun detach() {
- if (io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded &&
+ if (dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge.isLoaded &&
window.handle != 0L
) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge
.nativeRevoke(window.handle)
}
if (NativeTaoLinuxTouchBridge.isLoaded && window.handle != 0L) {
@@ -1375,11 +1375,11 @@ internal class TaoComposeSceneHostLinux(
private fun mapButton(code: Int): androidx.compose.ui.input.pointer.PointerButton =
when (code) {
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.LEFT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.LEFT ->
androidx.compose.ui.input.pointer.PointerButton.Primary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.RIGHT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.RIGHT ->
androidx.compose.ui.input.pointer.PointerButton.Secondary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.MIDDLE ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.MIDDLE ->
androidx.compose.ui.input.pointer.PointerButton.Tertiary
else -> androidx.compose.ui.input.pointer.PointerButton.Primary
}
@@ -1418,32 +1418,32 @@ private class LinuxTaoPlatformContext(
private fun mapPointerIcon(icon: androidx.compose.ui.input.pointer.PointerIcon): Int {
when {
icon === androidx.compose.ui.input.pointer.PointerIcon.Default ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT
icon === androidx.compose.ui.input.pointer.PointerIcon.Text ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.TEXT
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.TEXT
icon === androidx.compose.ui.input.pointer.PointerIcon.Hand ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.HAND
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.HAND
icon === androidx.compose.ui.input.pointer.PointerIcon.Crosshair ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
}
return runCatching {
val cursor = icon.javaClass.getMethod("getCursor").invoke(icon) as? java.awt.Cursor
when (cursor?.type) {
- java.awt.Cursor.TEXT_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.TEXT
- java.awt.Cursor.HAND_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.HAND
- java.awt.Cursor.CROSSHAIR_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
- java.awt.Cursor.WAIT_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.WAIT
- java.awt.Cursor.MOVE_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.MOVE
+ java.awt.Cursor.TEXT_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.TEXT
+ java.awt.Cursor.HAND_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.HAND
+ java.awt.Cursor.CROSSHAIR_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
+ java.awt.Cursor.WAIT_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.WAIT
+ java.awt.Cursor.MOVE_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.MOVE
java.awt.Cursor.E_RESIZE_CURSOR, java.awt.Cursor.W_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.EW_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.EW_RESIZE
java.awt.Cursor.N_RESIZE_CURSOR, java.awt.Cursor.S_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NS_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NS_RESIZE
java.awt.Cursor.NE_RESIZE_CURSOR, java.awt.Cursor.SW_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NESW_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NESW_RESIZE
java.awt.Cursor.NW_RESIZE_CURSOR, java.awt.Cursor.SE_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NWSE_RESIZE
- else -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NWSE_RESIZE
+ else -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT
}
- }.getOrDefault(io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT)
+ }.getOrDefault(dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT)
}
}
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt
similarity index 86%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt
index 998a12c74..4d382947f 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoComposeSceneHostWindows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.BroadcastFrameClock
import androidx.compose.runtime.Composable
@@ -23,13 +23,13 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoGlBridge
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDecoBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoEventCode
-import io.github.kdroidfilter.nucleus.window.tao.TaoModifierMask
-import io.github.kdroidfilter.nucleus.window.tao.TaoTouchEvent
-import io.github.kdroidfilter.nucleus.window.tao.TaoWindow
+import dev.nucleusframework.nucleus.window.tao.NativeTaoBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoGlBridge
+import dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDecoBridge
+import dev.nucleusframework.nucleus.window.tao.TaoEventCode
+import dev.nucleusframework.nucleus.window.tao.TaoModifierMask
+import dev.nucleusframework.nucleus.window.tao.TaoTouchEvent
+import dev.nucleusframework.nucleus.window.tao.TaoWindow
import kotlinx.coroutines.CoroutineDispatcher
import org.jetbrains.skia.BackendRenderTarget
import org.jetbrains.skia.ColorSpace
@@ -171,7 +171,7 @@ internal class TaoComposeSceneHostWindows(
@OptIn(androidx.compose.ui.ExperimentalComposeUiApi::class)
val dndManager =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager(
getRootNode = { scene!!.rootDragAndDropNode },
outboundLauncher = ::launchWindowsOutboundDrag,
)
@@ -351,9 +351,9 @@ internal class TaoComposeSceneHostWindows(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun launchWindowsOutboundDrag(
- request: io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
+ request: dev.nucleusframework.nucleus.window.tao.TaoDragAndDropManager.OutboundRequest,
): androidx.compose.ui.draganddrop.DragAndDropTransferAction? {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) return null
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) return null
if (hwnd == 0L) return null
val allowed =
@@ -362,16 +362,16 @@ internal class TaoComposeSceneHostWindows(
acc or
when (action) {
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_MOVE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_MOVE
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link ->
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_LINK
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_LINK
else -> 0
}
}.let {
if (it == 0) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
} else {
it
}
@@ -383,18 +383,18 @@ internal class TaoComposeSceneHostWindows(
?.map { it.absolutePath }
?.toTypedArray()
val effect =
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.nativeStartDrag(
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.nativeStartDrag(
hwnd = hwnd,
files = files,
text = request.text,
allowedEffects = allowed,
)
return when (effect) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Copy
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_MOVE ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_MOVE ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Move
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_LINK ->
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_LINK ->
androidx.compose.ui.draganddrop.DragAndDropTransferAction.Link
else -> null
}
@@ -402,17 +402,17 @@ internal class TaoComposeSceneHostWindows(
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private fun registerInboundDnD() {
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) {
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"windows DnD lib not loaded — inbound disabled",
)
return
}
val callback = InboundDnDCallback()
val rc =
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge
.nativeRegister(hwnd, callback)
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics
.log("RegisterDragDrop rc=$rc")
}
@@ -423,7 +423,7 @@ internal class TaoComposeSceneHostWindows(
*/
@OptIn(InternalComposeUiApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
private inner class InboundDnDCallback :
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.Callback {
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.Callback {
private fun rootNode() = scene?.rootDragAndDropNode
private fun makeDragEvent(
@@ -432,15 +432,15 @@ internal class TaoComposeSceneHostWindows(
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
val payload =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
val transferable =
- io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
val native =
- io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDragEvent(
+ dev.nucleusframework.nucleus.window.tao.TaoSyntheticDragEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -461,15 +461,15 @@ internal class TaoComposeSceneHostWindows(
files: Array?,
): androidx.compose.ui.draganddrop.DragAndDropEvent {
val payload =
- io.github.kdroidfilter.nucleus.window.tao.TaoDragAndDropPayload(
+ dev.nucleusframework.nucleus.window.tao.TaoDragAndDropPayload(
files = files?.toList() ?: emptyList(),
)
val transferable =
- io.github.kdroidfilter.nucleus.window.tao.TaoFilesTransferable(
+ dev.nucleusframework.nucleus.window.tao.TaoFilesTransferable(
files = payload.files.map { java.io.File(it) },
)
val native =
- io.github.kdroidfilter.nucleus.window.tao.TaoSyntheticDropEvent(
+ dev.nucleusframework.nucleus.window.tao.TaoSyntheticDropEvent(
cursorLocn = java.awt.Point(xPx, yPx),
dropAction = java.awt.dnd.DnDConstants.ACTION_COPY,
backingTransferable = transferable,
@@ -491,15 +491,15 @@ internal class TaoComposeSceneHostWindows(
keyState: Int,
hasFiles: Boolean,
): Int {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"onDragEnter x=$x y=$y hasFiles=$hasFiles",
)
if (!hasFiles) {
- return io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ return dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
}
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
val accepted = node.acceptDragAndDropTransfer(ev)
if (accepted) {
@@ -507,9 +507,9 @@ internal class TaoComposeSceneHostWindows(
node.onEntered(ev)
}
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
}
}
@@ -522,18 +522,18 @@ internal class TaoComposeSceneHostWindows(
): Int {
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
val ev = makeDragEvent(x, y, null)
node.onMoved(ev)
return if (node.hasEligibleDropTarget) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
}
}
override fun onDragLeave(hwnd: Long) {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics
.log("onDragLeave")
val node = rootNode() ?: return
val ev = makeDragEvent(-1, -1, null)
@@ -548,19 +548,19 @@ internal class TaoComposeSceneHostWindows(
keyState: Int,
files: Array?,
): Int {
- io.github.kdroidfilter.nucleus.window.tao.TaoDnDDiagnostics.log(
+ dev.nucleusframework.nucleus.window.tao.TaoDnDDiagnostics.log(
"onDrop x=$x y=$y files=${files?.size ?: 0}",
)
val node =
rootNode()
- ?: return io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ ?: return dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
val ev = makeDropEvent(x, y, files)
val accepted = node.onDrop(ev)
node.onEnded(ev)
return if (accepted) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_COPY
} else {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.DROP_EFFECT_NONE
}
}
}
@@ -894,25 +894,25 @@ internal class TaoComposeSceneHostWindows(
for (cb in ownerMoveListeners.values.toList()) cb()
}
- fun nativeViewHost(): io.github.kdroidfilter.nucleus.window.tao.TaoNativeViewHost? {
+ fun nativeViewHost(): dev.nucleusframework.nucleus.window.tao.TaoNativeViewHost? {
if (hwnd == 0L) return null
- if (!io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge.isLoaded) return null
+ if (!dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge.isLoaded) return null
val parent = hwnd
- return object : io.github.kdroidfilter.nucleus.window.tao.TaoNativeViewHost {
+ return object : dev.nucleusframework.nucleus.window.tao.TaoNativeViewHost {
override fun attach(childHandle: Long) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
.nativeAttach(parent, childHandle)
}
override fun detach(childHandle: Long) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
.nativeDetach(childHandle)
}
override fun setFrame(handle: Long, xPx: Int, yPx: Int, widthPx: Int, heightPx: Int) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
.nativeSetFrame(parent, handle, xPx, yPx, widthPx, heightPx)
}
override fun setCornerRadius(handle: Long, radiusPx: Float) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge
.nativeSetCornerRadius(parent, handle, radiusPx)
}
}
@@ -949,8 +949,8 @@ internal class TaoComposeSceneHostWindows(
attachmentHandle = 0L
}
if (hwnd != 0L) {
- if (io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) {
- io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge
+ if (dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge.isLoaded) {
+ dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge
.nativeRevoke(hwnd)
}
NativeTaoWindowsDecoBridge.nativeUninstallDecoration(hwnd)
@@ -993,11 +993,11 @@ internal class TaoComposeSceneHostWindows(
private fun mapButton(code: Int): androidx.compose.ui.input.pointer.PointerButton =
when (code) {
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.LEFT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.LEFT ->
androidx.compose.ui.input.pointer.PointerButton.Primary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.RIGHT ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.RIGHT ->
androidx.compose.ui.input.pointer.PointerButton.Secondary
- io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton.MIDDLE ->
+ dev.nucleusframework.nucleus.window.tao.TaoMouseButton.MIDDLE ->
androidx.compose.ui.input.pointer.PointerButton.Tertiary
else -> androidx.compose.ui.input.pointer.PointerButton.Primary
}
@@ -1035,32 +1035,32 @@ private class WindowsTaoPlatformContext(
private fun mapPointerIcon(icon: androidx.compose.ui.input.pointer.PointerIcon): Int {
when {
icon === androidx.compose.ui.input.pointer.PointerIcon.Default ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT
icon === androidx.compose.ui.input.pointer.PointerIcon.Text ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.TEXT
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.TEXT
icon === androidx.compose.ui.input.pointer.PointerIcon.Hand ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.HAND
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.HAND
icon === androidx.compose.ui.input.pointer.PointerIcon.Crosshair ->
- return io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
+ return dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
}
return runCatching {
val cursor = icon.javaClass.getMethod("getCursor").invoke(icon) as? java.awt.Cursor
when (cursor?.type) {
- java.awt.Cursor.TEXT_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.TEXT
- java.awt.Cursor.HAND_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.HAND
- java.awt.Cursor.CROSSHAIR_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
- java.awt.Cursor.WAIT_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.WAIT
- java.awt.Cursor.MOVE_CURSOR -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.MOVE
+ java.awt.Cursor.TEXT_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.TEXT
+ java.awt.Cursor.HAND_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.HAND
+ java.awt.Cursor.CROSSHAIR_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.CROSSHAIR
+ java.awt.Cursor.WAIT_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.WAIT
+ java.awt.Cursor.MOVE_CURSOR -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.MOVE
java.awt.Cursor.E_RESIZE_CURSOR, java.awt.Cursor.W_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.EW_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.EW_RESIZE
java.awt.Cursor.N_RESIZE_CURSOR, java.awt.Cursor.S_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NS_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NS_RESIZE
java.awt.Cursor.NE_RESIZE_CURSOR, java.awt.Cursor.SW_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NESW_RESIZE
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NESW_RESIZE
java.awt.Cursor.NW_RESIZE_CURSOR, java.awt.Cursor.SE_RESIZE_CURSOR ->
- io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.NWSE_RESIZE
- else -> io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT
+ dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.NWSE_RESIZE
+ else -> dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT
}
- }.getOrDefault(io.github.kdroidfilter.nucleus.window.tao.TaoCursorIcon.DEFAULT)
+ }.getOrDefault(dev.nucleusframework.nucleus.window.tao.TaoCursorIcon.DEFAULT)
}
}
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoInteropTransaction.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoInteropTransaction.kt
similarity index 96%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoInteropTransaction.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoInteropTransaction.kt
index 1fb74ff10..b1e37f69e 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoInteropTransaction.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoInteropTransaction.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
/**
* Mirrors `UIKitInteropTransaction` from Compose Multiplatform iOS.
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoLinuxOverlayController.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoLinuxOverlayController.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoLinuxOverlayController.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoLinuxOverlayController.kt
index f86e2fcf1..dd1265668 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoLinuxOverlayController.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoLinuxOverlayController.kt
@@ -1,9 +1,9 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.unit.IntSize
-import io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge
-import io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton
+import dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge
+import dev.nucleusframework.nucleus.window.tao.TaoMouseButton
/**
* Linux-only counterpart of macOS's `NativeViewOverlayController` —
@@ -16,7 +16,7 @@ import io.github.kdroidfilter.nucleus.window.tao.TaoMouseButton
* which is exactly what we want for non-interactive overlay pixels.
*
* For *interactive* overlay regions (a `BasicTextField`, a `Button`,
- * etc., wrapped with [io.github.kdroidfilter.nucleus.window.tao.consumeOverlayPointerEvents])
+ * etc., wrapped with [dev.nucleusframework.nucleus.window.tao.consumeOverlayPointerEvents])
* we materialise an invisible `GtkEventBox` inside Tao's GtkOverlay,
* positioned at the rect Compose reported. Clicks in the rect hit
* the EventBox first (it's stacked above the embedded widget in
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoNativeWireFormat.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoNativeWireFormat.kt
similarity index 94%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoNativeWireFormat.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoNativeWireFormat.kt
index 9485f2e0a..84aec4f1e 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoNativeWireFormat.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoNativeWireFormat.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
/**
* Wire-format codes shared between the Kotlin side and the native
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHost.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHost.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHost.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHost.kt
index 38890e160..63b22674e 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHost.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHost.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.ProvidableCompositionLocal
import androidx.compose.runtime.compositionLocalOf
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHostWindows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHostWindows.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHostWindows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHostWindows.kt
index 979260ebb..aec3f2681 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupHostWindows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupHostWindows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.ProvidableCompositionLocal
import androidx.compose.runtime.compositionLocalOf
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayer.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayer.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayer.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayer.kt
index 88993a135..2bca0d771 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayer.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayer.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionContext
@@ -22,8 +22,8 @@ import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
-import io.github.kdroidfilter.nucleus.window.tao.PopupNativeBridge
+import dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
+import dev.nucleusframework.nucleus.window.tao.PopupNativeBridge
import org.jetbrains.skia.DirectContext
/**
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt
similarity index 98%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt
index b4ebb4e29..84c61fcca 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoPopupSceneLayerWindows.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionContext
@@ -22,7 +22,7 @@ import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
-import io.github.kdroidfilter.nucleus.window.tao.PopupNativeBridgeWindows
+import dev.nucleusframework.nucleus.window.tao.PopupNativeBridgeWindows
import org.jetbrains.skia.DirectContext
/**
diff --git a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoSyntheticKey.kt b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoSyntheticKey.kt
similarity index 97%
rename from decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoSyntheticKey.kt
rename to decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoSyntheticKey.kt
index 50b1160e4..46ca24009 100644
--- a/decorated-window-tao/src/main/kotlin/io/github/kdroidfilter/nucleus/window/tao/render/TaoSyntheticKey.kt
+++ b/decorated-window-tao/src/main/kotlin/dev/nucleusframework/nucleus/window/tao/render/TaoSyntheticKey.kt
@@ -1,4 +1,4 @@
-package io.github.kdroidfilter.nucleus.window.tao.render
+package dev.nucleusframework.nucleus.window.tao.render
import androidx.compose.ui.InternalComposeUiApi
import androidx.compose.ui.input.key.Key
diff --git a/decorated-window-tao/src/main/native/linux/nucleus_tao_egl.c b/decorated-window-tao/src/main/native/linux/nucleus_tao_egl.c
index bd480ded3..28573d3ac 100644
--- a/decorated-window-tao/src/main/native/linux/nucleus_tao_egl.c
+++ b/decorated-window-tao/src/main/native/linux/nucleus_tao_egl.c
@@ -615,7 +615,7 @@ typedef struct {
* Returns an opaque attachment handle, or 0 on failure.
*/
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeAttachX11(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeAttachX11(
JNIEnv *env, jclass clazz,
jlong xdisplayPtr, jlong xidLong,
jint widthPx, jint heightPx)
@@ -961,7 +961,7 @@ static void (*const wl_registry_listener[])(void) = {
* just expressed through Wayland protocol primitives.
*/
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeAttachWayland(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeAttachWayland(
JNIEnv *env, jclass clazz,
jlong wlDisplayPtr, jlong wlSurfacePtr,
jint widthPx, jint heightPx)
@@ -1284,7 +1284,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeAttachWa
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeDetach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeDetach(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1329,7 +1329,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeDetach(
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeMakeCurrent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeMakeCurrent(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1346,7 +1346,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeMakeCurr
* only be current on one thread at a time.
*/
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeReleaseCurrent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeReleaseCurrent(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1356,7 +1356,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeReleaseC
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeResize(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeResize(
JNIEnv *env, jclass clazz, jlong handle, jint widthPx, jint heightPx, jfloat scale)
{
(void) env; (void) clazz;
@@ -1387,7 +1387,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeResize(
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativePresent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativePresent(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1397,7 +1397,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativePresent(
}
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeWidth(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeWidth(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1406,7 +1406,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeWidth(
}
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeHeight(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeHeight(
JNIEnv *env, jclass clazz, jlong handle)
{
(void) env; (void) clazz;
@@ -1441,7 +1441,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeHeight(
* X11-default support would require always materialising a child window
* for Compose, which is left as a follow-up. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeSetInputRegion(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeSetInputRegion(
JNIEnv *env, jclass clazz, jlong handle, jfloatArray rectsPx, jint count)
{
(void) clazz;
@@ -1568,7 +1568,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeSetInput
* Skia starts asking for entry points.
*/
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoEglBridge_nativeGetProcAddrFunctionPointer(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoEglBridge_nativeGetProcAddrFunctionPointer(
JNIEnv *env, jclass clazz)
{
(void) env; (void) clazz;
diff --git a/decorated-window-tao/src/main/native/linux/nucleus_tao_linux_widget.c b/decorated-window-tao/src/main/native/linux/nucleus_tao_linux_widget.c
index cf9243ef3..2e5f56096 100644
--- a/decorated-window-tao/src/main/native/linux/nucleus_tao_linux_widget.c
+++ b/decorated-window-tao/src/main/native/linux/nucleus_tao_linux_widget.c
@@ -337,7 +337,7 @@ static GtkWidget *resolve_overlay_for_window(GtkWidget *gtk_window) {
#define EXPORT JNIEXPORT __attribute__((visibility("default")))
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeAttach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeAttach(
JNIEnv *env, jclass clazz, jlong gtk_window_ptr, jlong widget_ptr)
{
(void) env; (void) clazz;
@@ -382,7 +382,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
}
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeDetach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeDetach(
JNIEnv *env, jclass clazz, jlong widget_ptr)
{
(void) env; (void) clazz;
@@ -397,7 +397,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
}
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeSetFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeSetFrame(
JNIEnv *env, jclass clazz,
jlong gtk_window_ptr, jlong widget_ptr,
jint x_logical, jint y_logical, jint w_logical, jint h_logical)
@@ -456,7 +456,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
* TextField. Equivalent in spirit to macOS's
* `[window makeFirstResponder:overlay]` on click. */
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeRequestKeyboardFocus(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeRequestKeyboardFocus(
JNIEnv *env, jclass clazz, jlong gtk_window_ptr)
{
(void) env; (void) clazz;
@@ -610,7 +610,7 @@ static gboolean on_input_box_motion_notify(GtkWidget *widget, void *event_ptr,
}
EXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeAddInputBox(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeAddInputBox(
JNIEnv *env, jclass clazz, jlong gtk_window_ptr)
{
(void) env; (void) clazz;
@@ -672,7 +672,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
}
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeMoveInputBox(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeMoveInputBox(
JNIEnv *env, jclass clazz, jlong box_ptr,
jint x_logical, jint y_logical, jint w_logical, jint h_logical)
{
@@ -700,7 +700,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
}
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeSetInputBoxCallback(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeSetInputBoxCallback(
JNIEnv *env, jclass clazz, jlong box_ptr, jobject callback)
{
(void) clazz;
@@ -720,7 +720,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_native
}
EXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeRemoveInputBox(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxWidgetBridge_nativeRemoveInputBox(
JNIEnv *env, jclass clazz, jlong box_ptr)
{
(void) env; (void) clazz;
diff --git a/decorated-window-tao/src/main/native/macos/NucleusTaoMetal.m b/decorated-window-tao/src/main/native/macos/NucleusTaoMetal.m
index faf3e7a80..788c09f29 100644
--- a/decorated-window-tao/src/main/native/macos/NucleusTaoMetal.m
+++ b/decorated-window-tao/src/main/native/macos/NucleusTaoMetal.m
@@ -100,7 +100,7 @@ static void ensureMetalJVMCached(JNIEnv *env) {
dispatch_once(&onceToken, ^{
(*env)->GetJavaVM(env, &sMetalJVM);
jclass local = (*env)->FindClass(env,
- "io/github/kdroidfilter/nucleus/window/tao/NativeMetalBridge");
+ "dev/nucleusframework/nucleus/window/tao/NativeMetalBridge");
if (local) {
sMetalBridgeClass = (*env)->NewGlobalRef(env, local);
(*env)->DeleteLocalRef(env, local);
@@ -659,7 +659,7 @@ - (void)didExitFS:(NSNotification *)n {
static void ensureFrameClassLoaded(JNIEnv *env) {
if (gFrameClass != NULL) return;
- jclass local = (*env)->FindClass(env, "io/github/kdroidfilter/nucleus/window/tao/render/MetalFrame");
+ jclass local = (*env)->FindClass(env, "dev/nucleusframework/nucleus/window/tao/render/MetalFrame");
if (local == NULL) return;
gFrameClass = (jclass) (*env)->NewGlobalRef(env, local);
(*env)->DeleteLocalRef(env, local);
@@ -668,10 +668,10 @@ static void ensureFrameClassLoaded(JNIEnv *env) {
}
// ── JNI entry points ─────────────────────────────────────────────────────
-// Symbol naming follows io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge
+// Symbol naming follows dev.nucleusframework.nucleus.window.tao.NativeMetalBridge
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeAttach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeAttach(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
@@ -739,7 +739,7 @@ static void ensureFrameClassLoaded(JNIEnv *env) {
* children of a host NSView whose own observer already manages the FS
* dance. */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeAttachOverlay(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeAttachOverlay(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
if (view == nil) return 0;
@@ -792,7 +792,7 @@ static void ensureFrameClassLoaded(JNIEnv *env) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeConfigureChrome(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeConfigureChrome(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
if (view == nil) return;
@@ -957,7 +957,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeApplyButtonLayout(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeApplyButtonLayout(
JNIEnv *env, jclass clazz, jlong nsViewPtr, jfloat titleBarHeight) {
NTLOG("nativeApplyButtonLayout h=%.1f", titleBarHeight);
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
@@ -981,7 +981,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
* Mirrors `decorated-window-jni`'s `JniMacTitleBarBridge.nativeSetRTL`.
*/
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeSetButtonLayoutRtl(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeSetButtonLayoutRtl(
JNIEnv *env, jclass clazz, jlong nsViewPtr, jboolean isRtl) {
NTLOG("nativeSetButtonLayoutRtl rtl=%d", (int)isRtl);
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
@@ -1016,7 +1016,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
* modern chrome behaviours. Cheap query — caches the result in a static.
*/
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeIsMacOSTahoeOrLater(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeIsMacOSTahoeOrLater(
JNIEnv *env, jclass clazz) {
static jboolean cached = (jboolean) -1;
if (cached != (jboolean) -1) return cached;
@@ -1032,7 +1032,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
* Liquid-Glass-friendly chrome path. No-op on macOS < 26.
*/
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeApplyLargeCornerRadius(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeApplyLargeCornerRadius(
JNIEnv *env, jclass clazz, jlong nsViewPtr, jboolean enabled) {
NSView *view = (__bridge NSView *)(void *)(uintptr_t)nsViewPtr;
if (view == nil) return;
@@ -1062,7 +1062,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeDetach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeDetach(
JNIEnv *env, jclass clazz, jlong handle) {
if (handle == 0) return;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1084,21 +1084,21 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeDevicePtr(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeDevicePtr(
JNIEnv *env, jclass clazz, jlong handle) {
if (handle == 0) return 0;
return (jlong)(uintptr_t) (__bridge void *) HANDLE_OF(handle)->device;
}
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeQueuePtr(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeQueuePtr(
JNIEnv *env, jclass clazz, jlong handle) {
if (handle == 0) return 0;
return (jlong)(uintptr_t) (__bridge void *) HANDLE_OF(handle)->queue;
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeResize(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeResize(
JNIEnv *env, jclass clazz, jlong handle, jint widthPx, jint heightPx, jfloat scale) {
if (handle == 0) return;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1118,7 +1118,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT jobject JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeBeginFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeBeginFrame(
JNIEnv *env, jclass clazz, jlong handle) {
if (handle == 0) return NULL;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1151,7 +1151,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeIsInTransition(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeIsInTransition(
JNIEnv *env, jclass clazz, jlong handle) {
if (handle == 0) return JNI_FALSE;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1159,7 +1159,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativePresent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativePresent(
JNIEnv *env, jclass clazz, jlong handle, jlong drawablePtr) {
if (handle == 0 || drawablePtr == 0) return;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1178,7 +1178,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
* the enclosing CATransaction together with AppKit mutations made by
* `nativePresentWithInterop`'s callback. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeSetPresentsWithTransaction(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeSetPresentsWithTransaction(
JNIEnv *env, jclass clazz, jlong handle, jboolean enabled) {
(void)env; (void)clazz;
if (handle == 0) return;
@@ -1198,7 +1198,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
* nativeSetPresentsWithTransaction) so [drawable present] joins our
* outer CATransaction instead of being scheduled out of band. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativePresentWithInterop(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativePresentWithInterop(
JNIEnv *env, jclass clazz, jlong handle, jlong drawablePtr, jobject interopActions) {
if (handle == 0 || drawablePtr == 0) return;
NucleusTaoMetalAttachment *att = HANDLE_OF(handle);
@@ -1250,7 +1250,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
// All entry points hop to the AppKit main queue before touching AppKit.
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeSetNewFullscreenControls(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeSetNewFullscreenControls(
JNIEnv *env, jclass clazz, jlong nsViewPtr, jboolean enabled) {
if (nsViewPtr == 0) return;
ensureMetalJVMCached(env);
@@ -1274,7 +1274,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeInstallMenuBarMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeInstallMenuBarMonitor(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
if (nsViewPtr == 0) return;
ensureMetalJVMCached(env);
@@ -1290,7 +1290,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeRemoveMenuBarMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeRemoveMenuBarMonitor(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
if (nsViewPtr == 0) return;
void *rawPtr = (void *)(uintptr_t)nsViewPtr;
@@ -1307,7 +1307,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeSetMenuBarOffset(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeSetMenuBarOffset(
JNIEnv *env, jclass clazz, jlong nsViewPtr, jfloat offsetPt) {
if (nsViewPtr == 0) return;
void *rawPtr = (void *)(uintptr_t)nsViewPtr;
@@ -1326,7 +1326,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeUpdateFullScreenButtons(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeUpdateFullScreenButtons(
JNIEnv *env, jclass clazz, jlong nsViewPtr) {
if (nsViewPtr == 0) return;
void *rawPtr = (void *)(uintptr_t)nsViewPtr;
@@ -1343,7 +1343,7 @@ static void applyButtonConstraints(NSWindow *window, float titleBarHeight) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeMetalBridge_nativeShutdown(
+Java_dev_nucleusframework_nucleus_window_tao_NativeMetalBridge_nativeShutdown(
JNIEnv *env, jclass clazz) {
// Stop further dispatch_async work and silence JNI callbacks. Cleanup of
// remaining monitors is best-effort: a JVM shutdown hook may run very
diff --git a/decorated-window-tao/src/main/native/macos/decoration.m b/decorated-window-tao/src/main/native/macos/decoration.m
index c2c2772ee..22c443597 100644
--- a/decorated-window-tao/src/main/native/macos/decoration.m
+++ b/decorated-window-tao/src/main/native/macos/decoration.m
@@ -70,12 +70,12 @@ static jlongArray make_rect_array(JNIEnv *env, NSRect r, CGFloat scale) {
/* ================================================================== */
/* JNI exports */
-/* Package: io.github.kdroidfilter.nucleus.window.tao */
+/* Package: dev.nucleusframework.nucleus.window.tao */
/* Class: NativeTaoMacOsDecoBridge */
/* ================================================================== */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeSetOwner(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeSetOwner(
JNIEnv *env, jclass clazz, jlong childViewLong, jlong ownerViewLong, jboolean centerOnOwner)
{
(void)env; (void)clazz;
@@ -119,7 +119,7 @@ static jlongArray make_rect_array(JNIEnv *env, NSRect r, CGFloat scale) {
}
JNIEXPORT jlongArray JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetWindowRect(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetWindowRect(
JNIEnv *env, jclass clazz, jlong nsViewLong)
{
(void)clazz;
@@ -133,7 +133,7 @@ static jlongArray make_rect_array(JNIEnv *env, NSRect r, CGFloat scale) {
}
JNIEXPORT jlongArray JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetPrimaryMonitorWorkArea(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetPrimaryMonitorWorkArea(
JNIEnv *env, jclass clazz)
{
(void)clazz;
@@ -145,7 +145,7 @@ static jlongArray make_rect_array(JNIEnv *env, NSRect r, CGFloat scale) {
}
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetPrimaryMonitorScaleMilli(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeGetPrimaryMonitorScaleMilli(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -171,7 +171,7 @@ static jlongArray make_rect_array(JNIEnv *env, NSRect r, CGFloat scale) {
* Sizes are in **points** (logical pixels). Pass non-positive values to
* leave the corresponding dimension unchanged. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeApplyContentMinSize(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDecoBridge_nativeApplyContentMinSize(
JNIEnv *env, jclass clazz, jlong nsViewLong, jdouble widthPts, jdouble heightPts)
{
(void)env; (void)clazz;
diff --git a/decorated-window-tao/src/main/native/macos/dnd.m b/decorated-window-tao/src/main/native/macos/dnd.m
index 8eb8e0cc7..898cdcd9b 100644
--- a/decorated-window-tao/src/main/native/macos/dnd.m
+++ b/decorated-window-tao/src/main/native/macos/dnd.m
@@ -407,7 +407,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
* pasteboard types we accept. Returns 0 on success, negative on failure.
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeRegister(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeRegister(
JNIEnv *env, jclass cls, jlong nsView, jobject callback)
{
(void)cls;
@@ -441,7 +441,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
* fast-path on a missing state and become inert.
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeRevoke(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeRevoke(
JNIEnv *env, jclass cls, jlong nsView)
{
(void)env; (void)cls;
@@ -462,7 +462,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
* Kotlin's perspective — matches the Win32 `DoDragDrop` contract.
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeStartDrag(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsDndBridge_nativeStartDrag(
JNIEnv *env, jclass cls, jlong nsView, jobjectArray files, jstring text, jint allowedEffects)
{
(void)cls;
diff --git a/decorated-window-tao/src/main/native/macos/native_view.m b/decorated-window-tao/src/main/native/macos/native_view.m
index d7c644fc5..5eeed54af 100644
--- a/decorated-window-tao/src/main/native/macos/native_view.m
+++ b/decorated-window-tao/src/main/native/macos/native_view.m
@@ -245,7 +245,7 @@ - (void)updateTrackingAreas {
/* ================================================================== */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeAddSubview(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeAddSubview(
JNIEnv *env, jclass clazz, jlong parentPtr, jlong childPtr)
{
(void)env; (void)clazz;
@@ -257,7 +257,7 @@ - (void)updateTrackingAreas {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeRemoveSubview(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeRemoveSubview(
JNIEnv *env, jclass clazz, jlong childPtr)
{
(void)env; (void)clazz;
@@ -267,7 +267,7 @@ - (void)updateTrackingAreas {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetSubviewFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetSubviewFrame(
JNIEnv *env, jclass clazz,
jlong parentPtr, jlong childPtr,
jint xPx, jint yPx, jint widthPx, jint heightPx)
@@ -310,7 +310,7 @@ - (void)updateTrackingAreas {
* to mean "make it a circle".
*/
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetSubviewCornerRadius(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetSubviewCornerRadius(
JNIEnv *env, jclass clazz, jlong parentPtr, jlong childPtr, jfloat radiusPx)
{
(void)env; (void)clazz;
@@ -353,7 +353,7 @@ - (void)updateTrackingAreas {
* `WKWebView`). Without an event callback installed via
* [nativeSetOverlayCallback], the overlay is fully passthrough. */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeCreateOverlay(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeCreateOverlay(
JNIEnv *env, jclass clazz, jlong parentNsViewPtr)
{
(void)env; (void)clazz;
@@ -386,7 +386,7 @@ - (void)updateTrackingAreas {
/* Repositions the overlay inside its parent. Bounds in physical pixels,
* top-left origin (matches Compose's `boundsInWindow`). */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayFrame(
JNIEnv *env, jclass clazz, jlong overlayPtr,
jint xPx, jint yPx, jint widthPx, jint heightPx)
{
@@ -413,7 +413,7 @@ - (void)updateTrackingAreas {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayCallback(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayCallback(
JNIEnv *env, jclass clazz, jlong overlayPtr, jobject callback)
{
(void)clazz;
@@ -438,7 +438,7 @@ - (void)updateTrackingAreas {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayRegions(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeSetOverlayRegions(
JNIEnv *env, jclass clazz, jlong overlayPtr, jfloatArray rectsPx, jint count)
{
(void)clazz;
@@ -466,7 +466,7 @@ - (void)updateTrackingAreas {
* whether to consume key events from the host's pre-existing Tao
* key-forwarding pipeline. */
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeIsFirstResponder(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeIsFirstResponder(
JNIEnv *env, jclass clazz, jlong overlayPtr)
{
(void)env; (void)clazz;
@@ -478,7 +478,7 @@ - (void)updateTrackingAreas {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeReleaseOverlay(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoMacOsNativeViewBridge_nativeReleaseOverlay(
JNIEnv *env, jclass clazz, jlong overlayPtr)
{
(void)clazz;
diff --git a/decorated-window-tao/src/main/native/macos/popup_panel.m b/decorated-window-tao/src/main/native/macos/popup_panel.m
index 08f923108..14e472869 100644
--- a/decorated-window-tao/src/main/native/macos/popup_panel.m
+++ b/decorated-window-tao/src/main/native/macos/popup_panel.m
@@ -376,12 +376,12 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
/* ================================================================== */
/* JNI exports */
-/* Package: io.github.kdroidfilter.nucleus.window.tao */
+/* Package: dev.nucleusframework.nucleus.window.tao */
/* Class: PopupNativeBridge */
/* ================================================================== */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeCreatePanel(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeCreatePanel(
JNIEnv *env, jclass clazz,
jlong parentNsViewPtr,
jint xPx, jint yPx, jint widthPx, jint heightPx)
@@ -429,7 +429,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetFrameInWindow(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetFrameInWindow(
JNIEnv *env, jclass clazz,
jlong panelPtr,
jint xPx, jint yPx, jint widthPx, jint heightPx)
@@ -444,7 +444,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeOrderFront(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeOrderFront(
JNIEnv *env, jclass clazz, jlong panelPtr)
{
(void)env; (void)clazz;
@@ -454,7 +454,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeOrderOut(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeOrderOut(
JNIEnv *env, jclass clazz, jlong panelPtr)
{
(void)env; (void)clazz;
@@ -464,7 +464,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetFocusable(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetFocusable(
JNIEnv *env, jclass clazz, jlong panelPtr, jboolean focusable)
{
(void)env; (void)clazz;
@@ -488,7 +488,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
* subviews (a WKWebView etc.). Used for "watermark"-style popups that
* should be visible but not block interaction. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetIgnoresMouseEvents(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetIgnoresMouseEvents(
JNIEnv *env, jclass clazz, jlong panelPtr, jboolean ignore)
{
(void)env; (void)clazz;
@@ -502,7 +502,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
* native subview (WKWebView etc.). When disabled (default) the panel
* intercepts everything — what Compose `Popup` / `DropdownMenu` need. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetRegionHitTestEnabled(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetRegionHitTestEnabled(
JNIEnv *env, jclass clazz, jlong panelPtr, jboolean enable)
{
(void)env; (void)clazz;
@@ -520,7 +520,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
* `hitTest:` returns hit only inside one of these rects. Pass count=0
* to clear (full passthrough). */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetInteractiveRegions(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetInteractiveRegions(
JNIEnv *env, jclass clazz, jlong panelPtr, jfloatArray rectsPx, jint count)
{
(void)clazz;
@@ -545,7 +545,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeSetEventCallback(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeSetEventCallback(
JNIEnv *env, jclass clazz, jlong panelPtr, jobject callback)
{
(void)clazz;
@@ -582,7 +582,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
* The monitor returns the event unchanged so AppKit dispatches it
* normally (we observe; we don't consume). */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeInstallOutsideClickMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeInstallOutsideClickMonitor(
JNIEnv *env, jclass clazz, jlong panelPtr, jobject listener)
{
(void)clazz;
@@ -630,7 +630,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeUninstallOutsideClickMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeUninstallOutsideClickMonitor(
JNIEnv *env, jclass clazz, jlong panelPtr)
{
(void)clazz;
@@ -648,7 +648,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeRelease(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeRelease(
JNIEnv *env, jclass clazz, jlong panelPtr)
{
(void)clazz;
@@ -685,7 +685,7 @@ static NSRect to_screen_frame(NSWindow *parent, jint xPx, jint yPx, jint wPx, ji
}
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridge_nativeContentNsView(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridge_nativeContentNsView(
JNIEnv *env, jclass clazz, jlong panelPtr)
{
(void)env; (void)clazz;
diff --git a/decorated-window-tao/src/main/native/src/cursor.rs b/decorated-window-tao/src/main/native/src/cursor.rs
index cc3e63a5d..d61c560f4 100644
--- a/decorated-window-tao/src/main/native/src/cursor.rs
+++ b/decorated-window-tao/src/main/native/src/cursor.rs
@@ -37,7 +37,7 @@ fn cursor_from_code(code: jint) -> CursorIcon {
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetCursorIcon(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetCursorIcon(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/a11y.rs b/decorated-window-tao/src/main/native/src/platform/linux/a11y.rs
index 1ba04788b..0a09dce2b 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/a11y.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/a11y.rs
@@ -743,7 +743,7 @@ fn forward_action_to_jvm(
) {
let Some(jvm) = JAVA_VM.get() else { return };
let Ok(mut env) = jvm.attach_current_thread() else { return };
- let class_name = "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge";
+ let class_name = "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge";
let node_id = request.target.0 as i64;
// Map back to the bitmask the Kotlin controller already understands.
@@ -899,7 +899,7 @@ fn forward_action_to_jvm(
// don't have to lock back into the Tao `WINDOWS` map from the AT-SPI side.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -942,7 +942,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -958,7 +958,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -1042,7 +1042,7 @@ fn apply_parsed(handle: i64, parsed: ParsedSnapshot, partial: bool) -> jboolean
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -1073,7 +1073,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -1094,7 +1094,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -1106,7 +1106,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
_env: JNIEnv,
_class: JClass,
) {
@@ -1117,7 +1117,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -1133,7 +1133,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// of its actual product name. Must be called before the first Adapter is
/// constructed; later calls are silently ignored.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
mut env: JNIEnv,
_class: JClass,
name: jni::objects::JString,
@@ -1146,7 +1146,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -1188,7 +1188,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// values; AccessKit applies them as-is to its Component.GetExtents
/// implementation.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11ySetRootBounds(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11ySetRootBounds(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -1284,7 +1284,7 @@ fn scopeguard_restore(
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yResolveX11Bounds(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yResolveX11Bounds(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -1383,7 +1383,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// `onFocusChanged` so AT-SPI's `STATE_ACTIVE` flag on the toplevel matches
/// the actual X focus.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11ySetWindowFocus(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11ySetWindowFocus(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/decoration.rs b/decorated-window-tao/src/main/native/src/platform/linux/decoration.rs
index 0b36b90b4..e9d4e95cb 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/decoration.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/decoration.rs
@@ -40,7 +40,7 @@ fn with_window(handle: jlong, f: impl FnOnce(&Window) -> Option) -> Option
/// `WINDOWS` map, so the references obtained from `gtk_window()` are valid
/// for the duration of this call.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxSetDialogOwner(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxSetDialogOwner(
_env: JNIEnv,
_class: JClass,
child_handle: jlong,
@@ -77,7 +77,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// `DecoratedDialog.kt` stays portable. Returns `null` when the geometry
/// isn't yet resolvable (window not realised / hidden on Wayland).
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxGetWindowRect(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxGetWindowRect(
env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/dnd.rs b/decorated-window-tao/src/main/native/src/platform/linux/dnd.rs
index d12d19337..4e511941e 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/dnd.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/dnd.rs
@@ -629,7 +629,7 @@ fn start_outbound(
// ── JNI exports ────────────────────────────────────────────────────────────
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeRegister(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeRegister(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -649,7 +649,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoL
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeRevoke(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeRevoke(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -663,7 +663,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoL
#[no_mangle]
#[allow(unused_mut)]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeStartDrag(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxDndBridge_nativeStartDrag(
mut env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/handles.rs b/decorated-window-tao/src/main/native/src/platform/linux/handles.rs
index 2913070f5..a5a839fa7 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/handles.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/handles.rs
@@ -26,7 +26,7 @@ use crate::state::WINDOWS;
/// `raw_window_handle_rwh_06`/`raw_display_handle_rwh_06` impls and expose the
/// underlying pointers directly.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxHandles(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxHandles(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -79,7 +79,7 @@ fn fill_linux_handles(window: &Window, out: &mut [jlong; 3]) {
/// passing to the C-side widget embedding helpers in
/// `nucleus_tao_linux_widget.c`.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxGtkWindow(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxGtkWindow(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/monitor.rs b/decorated-window-tao/src/main/native/src/platform/linux/monitor.rs
index ba26d28bf..50e63dcbc 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/monitor.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/monitor.rs
@@ -42,7 +42,7 @@ fn primary_monitor(window: &Window) -> Option {
/// origin. Falls back to the full monitor geometry when GDK can't report
/// a work area (e.g. some Wayland compositors).
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxPrimaryMonitorWorkArea(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxPrimaryMonitorWorkArea(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -85,7 +85,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// Used as a scale source for the centring math when the window's own
/// scale factor is not yet resolvable.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeLinuxPrimaryMonitorScaleMilli(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeLinuxPrimaryMonitorScaleMilli(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/linux/touch.rs b/decorated-window-tao/src/main/native/src/platform/linux/touch.rs
index 62557c0ab..16d684600 100644
--- a/decorated-window-tao/src/main/native/src/platform/linux/touch.rs
+++ b/decorated-window-tao/src/main/native/src/platform/linux/touch.rs
@@ -502,7 +502,7 @@ fn revoke(handle: u64) {
// ── JNI exports ────────────────────────────────────────────────────────────
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxTouchBridge_nativeRegister(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxTouchBridge_nativeRegister(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -522,7 +522,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoL
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoLinuxTouchBridge_nativeRevoke(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoLinuxTouchBridge_nativeRevoke(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/macos/a11y.rs b/decorated-window-tao/src/main/native/src/platform/macos/a11y.rs
index 3b24ceda4..abf52c535 100644
--- a/decorated-window-tao/src/main/native/src/platform/macos/a11y.rs
+++ b/decorated-window-tao/src/main/native/src/platform/macos/a11y.rs
@@ -32,7 +32,7 @@ use crate::state::JAVA_VM;
// ── JNI exports ───────────────────────────────────────────────────────────
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
_env: JNIEnv,
_class: JClass,
ns_view: jlong,
@@ -42,7 +42,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
_env: JNIEnv,
_class: JClass,
ns_view: jlong,
@@ -52,7 +52,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
env: JNIEnv,
_class: JClass,
ns_view: jlong,
@@ -74,7 +74,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -83,7 +83,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -92,7 +92,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -101,7 +101,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
_env: JNIEnv,
_class: JClass,
) {
@@ -109,7 +109,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
_env: JNIEnv,
_class: JClass,
ns_view: jlong,
@@ -121,7 +121,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// No-op on macOS — VoiceOver reads `CFBundleName` for the app name.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
_env: JNIEnv,
_class: JClass,
_name: JString,
@@ -132,7 +132,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// is still at v4 and rejects anything else. Returning `JNI_FALSE` keeps the
/// JVM-side controller from believing a partial succeeded.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
_env: JNIEnv,
_class: JClass,
_ns_view: jlong,
@@ -158,7 +158,7 @@ pub extern "C" fn nucleus_tao_a11y_set_text(
let slice = unsafe { std::slice::from_raw_parts(utf8, len as usize) };
let Ok(text) = std::str::from_utf8(slice) else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
- let class = match env.find_class("io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge") {
+ let class = match env.find_class("dev/nucleusframework/nucleus/window/tao/NativeTaoBridge") {
Ok(c) => c,
Err(_) => return,
};
@@ -187,7 +187,7 @@ pub extern "C" fn nucleus_tao_a11y_invoke_custom_action(
) {
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
- let class = match env.find_class("io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge") {
+ let class = match env.find_class("dev/nucleusframework/nucleus/window/tao/NativeTaoBridge") {
Ok(c) => c,
Err(_) => return,
};
@@ -216,7 +216,7 @@ pub extern "C" fn nucleus_tao_a11y_scroll_by(
) {
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
- let class = match env.find_class("io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge") {
+ let class = match env.find_class("dev/nucleusframework/nucleus/window/tao/NativeTaoBridge") {
Ok(c) => c,
Err(_) => return,
};
@@ -246,7 +246,7 @@ pub extern "C" fn nucleus_tao_a11y_set_selection(
) {
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
- let class = match env.find_class("io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge") {
+ let class = match env.find_class("dev/nucleusframework/nucleus/window/tao/NativeTaoBridge") {
Ok(c) => c,
Err(_) => return,
};
@@ -277,7 +277,7 @@ pub extern "C" fn nucleus_tao_a11y_invoke_action(
) {
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
- let class = match env.find_class("io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge") {
+ let class = match env.find_class("dev/nucleusframework/nucleus/window/tao/NativeTaoBridge") {
Ok(c) => c,
Err(_) => return,
};
diff --git a/decorated-window-tao/src/main/native/src/platform/macos/apple_events.rs b/decorated-window-tao/src/main/native/src/platform/macos/apple_events.rs
index cd5f6fc9f..1c05d3f33 100644
--- a/decorated-window-tao/src/main/native/src/platform/macos/apple_events.rs
+++ b/decorated-window-tao/src/main/native/src/platform/macos/apple_events.rs
@@ -15,7 +15,7 @@ use crate::platform::macos::ffi::nucleus_tao_apple_events_install;
use crate::state::JAVA_VM;
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeAppleEventsInstall(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeAppleEventsInstall(
_env: JNIEnv,
_class: JClass,
) {
@@ -33,7 +33,7 @@ pub extern "C" fn nucleus_tao_apple_events_dispatch(utf8: *const u8, len: i32) {
let Ok(url) = std::str::from_utf8(slice) else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
diff --git a/decorated-window-tao/src/main/native/src/platform/macos/handles.rs b/decorated-window-tao/src/main/native/src/platform/macos/handles.rs
index 99862482c..e05dd4215 100644
--- a/decorated-window-tao/src/main/native/src/platform/macos/handles.rs
+++ b/decorated-window-tao/src/main/native/src/platform/macos/handles.rs
@@ -11,7 +11,7 @@ use crate::state::WINDOWS;
/// Returns the underlying NSView pointer so the JVM can attach a CAMetalLayer.
/// Must be called on the macOS main thread (i.e. from a Tao event handler).
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeNsViewHandle(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeNsViewHandle(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/macos/ime.rs b/decorated-window-tao/src/main/native/src/platform/macos/ime.rs
index d745c3b71..4dfc0476d 100644
--- a/decorated-window-tao/src/main/native/src/platform/macos/ime.rs
+++ b/decorated-window-tao/src/main/native/src/platform/macos/ime.rs
@@ -13,7 +13,7 @@ use crate::platform::macos::ffi::{
use crate::state::WINDOWS;
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeActivateInputContext(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeActivateInputContext(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -38,7 +38,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// `firstRectForCharacterRange:` returning a rect with non-zero size — Tao's
/// stock impl returns size 0×0, which short-circuits the picker.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetImeRect(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetImeRect(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/macos/text_overlay.rs b/decorated-window-tao/src/main/native/src/platform/macos/text_overlay.rs
index 522830f69..ba4a62770 100644
--- a/decorated-window-tao/src/main/native/src/platform/macos/text_overlay.rs
+++ b/decorated-window-tao/src/main/native/src/platform/macos/text_overlay.rs
@@ -15,7 +15,7 @@ use crate::platform::macos::ffi::{
use crate::state::WINDOWS;
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeAttachTextOverlay(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeAttachTextOverlay(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -32,7 +32,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeFocusTextOverlay(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeFocusTextOverlay(
_env: JNIEnv,
_class: JClass,
focused: jboolean,
diff --git a/decorated-window-tao/src/main/native/src/platform/windows/a11y.rs b/decorated-window-tao/src/main/native/src/platform/windows/a11y.rs
index 67db446ba..7b0284de8 100644
--- a/decorated-window-tao/src/main/native/src/platform/windows/a11y.rs
+++ b/decorated-window-tao/src/main/native/src/platform/windows/a11y.rs
@@ -149,7 +149,7 @@ extern "system" fn invoke_action_trampoline(hwnd: i64, node_id: u64, action: u16
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
@@ -176,7 +176,7 @@ extern "system" fn set_text_trampoline(
let Ok(text) = std::str::from_utf8(slice) else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
@@ -201,7 +201,7 @@ extern "system" fn set_selection_trampoline(
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
@@ -226,7 +226,7 @@ extern "system" fn scroll_by_trampoline(
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
@@ -251,7 +251,7 @@ extern "system" fn custom_action_trampoline(
let Some(jvm) = JAVA_VM.get() else { return };
if let Ok(mut env) = jvm.attach_current_thread() {
let class = match env.find_class(
- "io/github/kdroidfilter/nucleus/window/tao/NativeTaoBridge",
+ "dev/nucleusframework/nucleus/window/tao/NativeTaoBridge",
) {
Ok(c) => c,
Err(_) => return,
@@ -272,7 +272,7 @@ extern "system" fn custom_action_trampoline(
// ── JNI exports ───────────────────────────────────────────────────────────
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yAttach(
_env: JNIEnv,
_class: JClass,
hwnd: jlong,
@@ -284,7 +284,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yDetach(
_env: JNIEnv,
_class: JClass,
hwnd: jlong,
@@ -296,7 +296,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplySnapshot(
env: JNIEnv,
_class: JClass,
hwnd: jlong,
@@ -323,7 +323,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// we default to true to keep snapshots flowing while a UIA client is
/// attached. The native side still fast-paths when no listener is bound.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsActive(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -331,7 +331,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yConsumeResync(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -340,7 +340,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// No-op on Windows; per-HWND tracking lives in the C DLL.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yNotePushed(
_env: JNIEnv,
_class: JClass,
) {
@@ -348,7 +348,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// No screen-reader-detect API exposed yet on Windows; report false.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yIsVoiceOverRunning(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -357,7 +357,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// TODO: emit `UIA_AutomationFocusChangedEventId` via `UiaRaiseAutomationEvent`.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yPostFocusChanged(
_env: JNIEnv,
_class: JClass,
_hwnd: jlong,
@@ -367,7 +367,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// No-op on Windows — UIA reads the HWND title for the app name.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11ySetAppName(
_env: JNIEnv,
_class: JClass,
_name: jni::objects::JString,
@@ -378,7 +378,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// parser is still at v4 and rejects anything else. Returning `JNI_FALSE`
/// keeps the JVM-side controller from believing a partial succeeded.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeA11yApplyPartialSnapshot(
_env: JNIEnv,
_class: JClass,
_ns_view: jlong,
diff --git a/decorated-window-tao/src/main/native/src/platform/windows/handles.rs b/decorated-window-tao/src/main/native/src/platform/windows/handles.rs
index 311363e58..91126528c 100644
--- a/decorated-window-tao/src/main/native/src/platform/windows/handles.rs
+++ b/decorated-window-tao/src/main/native/src/platform/windows/handles.rs
@@ -13,7 +13,7 @@ use crate::state::WINDOWS;
/// Returns the underlying HWND so the JVM can attach a WGL context and apply
/// custom decoration via the `nucleus_tao_windows_deco` helper.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeHwndHandle(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeHwndHandle(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/src/window_jni.rs b/decorated-window-tao/src/main/native/src/window_jni.rs
index 34da1b4eb..74501c15a 100644
--- a/decorated-window-tao/src/main/native/src/window_jni.rs
+++ b/decorated-window-tao/src/main/native/src/window_jni.rs
@@ -2,7 +2,7 @@
//
// All of these are thin "post a UserEvent on the loop proxy" or "look up the
// Window in WINDOWS and read state" wrappers. Symbol naming follows the
-// package `io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge`.
+// package `dev.nucleusframework.nucleus.window.tao.NativeTaoBridge`.
use jni::objects::{JClass, JString};
use jni::sys::{jboolean, jdouble, jint, jlong, JNI_FALSE, JNI_TRUE};
@@ -12,7 +12,7 @@ use crate::events::UserEvent;
use crate::state::{clear_event_loop_proxy, send_user_event, JAVA_VM, WINDOWS};
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeRunBlocking(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeRunBlocking(
env: JNIEnv,
_class: JClass,
callback: jni::objects::JObject,
@@ -56,7 +56,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeCreateWindow(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeCreateWindow(
mut env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -83,7 +83,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetVisible(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetVisible(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -96,7 +96,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetTitle(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetTitle(
mut env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -113,7 +113,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeRequestRedraw(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeRequestRedraw(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -124,7 +124,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeRequestClose(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeRequestClose(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -135,7 +135,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeExit(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeExit(
_env: JNIEnv,
_class: JClass,
) {
@@ -145,7 +145,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// Wakes the Tao event loop so a queued `TaoMainDispatcher` block runs on the
/// next tick. Cheap no-op when the loop is already busy.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeWake(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeWake(
_env: JNIEnv,
_class: JClass,
) {
@@ -156,7 +156,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// this also de-minimizes the window so the foreground activation actually
/// takes effect (a minimized HWND ignores `SetForegroundWindow`).
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeFocus(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeFocus(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -167,7 +167,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeIsAvailable(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeIsAvailable(
_env: JNIEnv,
_class: JClass,
) -> jboolean {
@@ -192,7 +192,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// don't drive a modal AppKit-style loop and the Compose-side hit-testing is
/// reliable enough.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeDragWindow(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeDragWindow(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -226,7 +226,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeIsMaximized(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeIsMaximized(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -250,7 +250,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetMaximized(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetMaximized(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -263,7 +263,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetMinimized(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetMinimized(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -276,7 +276,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetAlwaysOnTop(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetAlwaysOnTop(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -289,7 +289,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetFocusable(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetFocusable(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -302,7 +302,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetMinInnerSize(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetMinInnerSize(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -317,7 +317,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetWindowIcon(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetWindowIcon(
env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -342,7 +342,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetInnerSize(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetInnerSize(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -357,7 +357,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetOuterPosition(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetOuterPosition(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -372,7 +372,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeIsFullscreen(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeIsFullscreen(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -396,7 +396,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
}
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeSetFullscreen(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeSetFullscreen(
_env: JNIEnv,
_class: JClass,
handle: jlong,
@@ -411,7 +411,7 @@ pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoB
/// Returns the current scale factor of the window (Retina = 2.0, 3.0…).
/// Encoded as `(scale * 1000) as i32` to keep a single JNI signature.
#[no_mangle]
-pub extern "system" fn Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoBridge_nativeScaleFactor(
+pub extern "system" fn Java_dev_nucleusframework_nucleus_window_tao_NativeTaoBridge_nativeScaleFactor(
_env: JNIEnv,
_class: JClass,
handle: jlong,
diff --git a/decorated-window-tao/src/main/native/windows/build.bat b/decorated-window-tao/src/main/native/windows/build.bat
index 2862d15b2..1e43a58ea 100644
--- a/decorated-window-tao/src/main/native/windows/build.bat
+++ b/decorated-window-tao/src/main/native/windows/build.bat
@@ -144,7 +144,7 @@ cl /LD /O1 /GS- /nologo ^
"%A11Y_SRC%" ^
/Fe:"%OUT_DIR_X64%\nucleus_tao_a11y.dll" ^
/link /NODEFAULTLIB /ENTRY:DllMain ^
- kernel32.lib user32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib uiautomationcore.lib
+ kernel32.lib user32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib uiautomationcore.lib libvcruntime.lib
if errorlevel 1 (
echo ERROR: x64 a11y compilation failed >&2
exit /b 1
@@ -190,33 +190,33 @@ if errorlevel 1 (
goto :clear_cache
)
-cl /LD /O1 /GS- /nologo ^
+cl /LD /O2 /Oi /GS- /nologo ^
/I"%JNI_INCLUDE%" /I"%JNI_INCLUDE_WIN32%" ^
"%DECO_SRC%" ^
/Fe:"%OUT_DIR_ARM64%\nucleus_tao_windows_deco.dll" ^
- /link /NODEFAULTLIB /ENTRY:DllMain kernel32.lib user32.lib dwmapi.lib gdi32.lib shell32.lib
+ /link libcmt.lib kernel32.lib user32.lib dwmapi.lib gdi32.lib shell32.lib
if errorlevel 1 (
echo WARNING: ARM64 deco compilation failed >&2
endlocal
goto :clear_cache
)
-cl /LD /O1 /GS- /nologo ^
+cl /LD /O2 /Oi /GS- /nologo ^
/I"%JNI_INCLUDE%" /I"%JNI_INCLUDE_WIN32%" ^
"%GL_SRC%" ^
/Fe:"%OUT_DIR_ARM64%\nucleus_tao_gl.dll" ^
- /link /NODEFAULTLIB /ENTRY:DllMain opengl32.lib gdi32.lib user32.lib kernel32.lib
+ /link libcmt.lib opengl32.lib gdi32.lib user32.lib kernel32.lib
if errorlevel 1 (
echo WARNING: ARM64 GL compilation failed >&2
endlocal
goto :clear_cache
)
-cl /LD /O1 /GS- /nologo ^
+cl /LD /O2 /Oi /GS- /nologo ^
/I"%JNI_INCLUDE%" /I"%JNI_INCLUDE_WIN32%" ^
"%A11Y_SRC%" ^
/Fe:"%OUT_DIR_ARM64%\nucleus_tao_a11y.dll" ^
- /link /NODEFAULTLIB /ENTRY:DllMain ^
+ /link libcmt.lib ^
kernel32.lib user32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib uiautomationcore.lib
if errorlevel 1 (
echo WARNING: ARM64 a11y compilation failed >&2
@@ -224,11 +224,11 @@ if errorlevel 1 (
goto :clear_cache
)
-cl /LD /O1 /GS- /nologo ^
+cl /LD /O2 /Oi /GS- /nologo ^
/I"%JNI_INCLUDE%" /I"%JNI_INCLUDE_WIN32%" ^
"%DND_SRC%" ^
/Fe:"%OUT_DIR_ARM64%\nucleus_tao_dnd.dll" ^
- /link /NODEFAULTLIB /ENTRY:DllMain ^
+ /link libcmt.lib ^
kernel32.lib user32.lib ole32.lib oleaut32.lib uuid.lib shell32.lib
if errorlevel 1 (
echo WARNING: ARM64 dnd compilation failed >&2
@@ -236,11 +236,11 @@ if errorlevel 1 (
goto :clear_cache
)
-cl /LD /O1 /GS- /nologo ^
+cl /LD /O2 /Oi /GS- /nologo ^
/I"%JNI_INCLUDE%" /I"%JNI_INCLUDE_WIN32%" ^
"%NV_SRC%" "%OVERLAY_SRC%" "%OVERLAY_GL_SRC%" "%POPUP_SRC%" ^
/Fe:"%OUT_DIR_ARM64%\nucleus_tao_windows_native_view.dll" ^
- /link /NODEFAULTLIB /ENTRY:DllMain ^
+ /link libcmt.lib ^
kernel32.lib user32.lib gdi32.lib dwmapi.lib opengl32.lib
if errorlevel 1 (
echo WARNING: ARM64 native_view compilation failed >&2
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_a11y.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_a11y.c
index ab4a2e759..e63873ffb 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_a11y.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_a11y.c
@@ -57,7 +57,9 @@
#include
#include
-/* /NODEFAULTLIB support — supplied by sibling DLL but we statically need them */
+#ifndef _M_ARM64
+/* /NODEFAULTLIB support — supplied by sibling DLL but we statically need them.
+ * Only needed for x64 where we avoid the CRT dependency. */
int _fltused = 0;
#pragma function(memset)
@@ -75,6 +77,7 @@ void *memcpy(void *dest, const void *src, size_t count) {
return dest;
}
+#pragma function(memcmp)
int memcmp(const void *a, const void *b, size_t count) {
const unsigned char *p = (const unsigned char *)a;
const unsigned char *q = (const unsigned char *)b;
@@ -84,6 +87,7 @@ int memcmp(const void *a, const void *b, size_t count) {
}
return 0;
}
+#endif
/* The Windows SDK declares these as `const long` in C++-only blocks, which
* makes them unusable in C `case` labels. Redefine the subset we need as
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_dnd.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_dnd.c
index 4dbc0919c..4f4f9369e 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_dnd.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_dnd.c
@@ -26,6 +26,7 @@
#include
#include
+#ifndef _M_ARM64
/* /NODEFAULTLIB support */
int _fltused = 0;
@@ -53,6 +54,7 @@ int memcmp(const void *a, const void *b, size_t count) {
}
return 0;
}
+#endif
/* DllMain stub for /NODEFAULTLIB linking. */
BOOL WINAPI DllMain(HINSTANCE h, DWORD r, LPVOID v) { (void)h; (void)r; (void)v; return TRUE; }
@@ -363,7 +365,7 @@ static BOOL ensure_callback_methods(JNIEnv *env, jobject callback) {
* RegisterDragDrop. Returns 0 on success, negative on failure.
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeRegister(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeRegister(
JNIEnv *env, jclass cls, jlong hwnd, jobject callback)
{
(void)cls;
@@ -413,7 +415,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeR
* nativeRegister calls.
*/
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeRevoke(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeRevoke(
JNIEnv *env, jclass cls, jlong hwnd)
{
(void)env; (void)cls;
@@ -711,7 +713,7 @@ static IDropSourceVtbl g_drop_source_vtbl = {
/* ---- nativeStartDrag JNI export ------------------------------------- */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeStartDrag(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDndBridge_nativeStartDrag(
JNIEnv *env, jclass cls, jlong hwnd, jobjectArray files, jstring text, jint allowedEffects)
{
(void)cls; (void)hwnd;
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_gl.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_gl.c
index 17d50d50f..80a70da8f 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_gl.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_gl.c
@@ -155,12 +155,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
/* ================================================================== */
/* JNI exports */
-/* Package: io.github.kdroidfilter.nucleus.window.tao */
+/* Package: dev.nucleusframework.nucleus.window.tao */
/* Class: NativeTaoGlBridge */
/* ================================================================== */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeAttach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeAttach(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
(void)env; (void)clazz;
@@ -262,7 +262,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeAttach(
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeDetach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeDetach(
JNIEnv *env, jclass clazz, jlong handle)
{
(void)env; (void)clazz;
@@ -276,7 +276,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeDetach(
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeMakeCurrent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeMakeCurrent(
JNIEnv *env, jclass clazz, jlong handle)
{
(void)env; (void)clazz;
@@ -286,7 +286,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeMakeCurre
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeResize(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeResize(
JNIEnv *env, jclass clazz, jlong handle, jint widthPx, jint heightPx, jfloat scale)
{
(void)env; (void)clazz;
@@ -301,7 +301,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeResize(
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativePresent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativePresent(
JNIEnv *env, jclass clazz, jlong handle)
{
(void)env; (void)clazz;
@@ -311,7 +311,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativePresent(
}
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeWidth(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeWidth(
JNIEnv *env, jclass clazz, jlong handle)
{
(void)env; (void)clazz;
@@ -320,7 +320,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeWidth(
}
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoGlBridge_nativeHeight(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoGlBridge_nativeHeight(
JNIEnv *env, jclass clazz, jlong handle)
{
(void)env; (void)clazz;
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_deco.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_deco.c
index 88084bb74..4e4a45f71 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_deco.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_deco.c
@@ -260,12 +260,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
/* ================================================================== */
/* JNI exports */
-/* Package: io.github.kdroidfilter.nucleus.window.tao */
+/* Package: dev.nucleusframework.nucleus.window.tao */
/* Class: NativeTaoWindowsDecoBridge */
/* ================================================================== */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeInstallDecoration(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeInstallDecoration(
JNIEnv *env, jclass clazz, jlong hwndLong, jint titleBarHeightPx)
{
(void)env; (void)clazz;
@@ -303,7 +303,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeUninstallDecoration(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeUninstallDecoration(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
(void)env; (void)clazz;
@@ -326,7 +326,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetTitleBarHeight(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetTitleBarHeight(
JNIEnv *env, jclass clazz, jlong hwndLong, jint heightPx)
{
(void)env; (void)clazz;
@@ -339,7 +339,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
/* Background color (ARGB) — synced to DWM caption/border color and dark-mode
* flag so the "sheet of glass" composited during resize matches the theme. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetBackgroundColor(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetBackgroundColor(
JNIEnv *env, jclass clazz, jlong hwndLong, jint argb)
{
(void)env; (void)clazz;
@@ -366,7 +366,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetFullscreen(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetFullscreen(
JNIEnv *env, jclass clazz, jlong hwndLong, jboolean fullscreen)
{
(void)env; (void)clazz;
@@ -437,7 +437,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeIsFullscreen(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeIsFullscreen(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
(void)env; (void)clazz;
@@ -455,7 +455,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
* Used by DecoratedDialog to make the dialog behave like a real JDialog.
* Pass ownerHwndLong == 0 to clear the owner. */
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetOwner(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeSetOwner(
JNIEnv *env, jclass clazz, jlong childHwndLong, jlong ownerHwndLong)
{
(void)env; (void)clazz;
@@ -474,7 +474,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
* (pre-Windows 10 1607). Used by DecoratedWindow when the window's own
* scale factor isn't yet resolvable (pre-onWindowReady). */
JNIEXPORT jint JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetPrimaryMonitorScaleMilli(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetPrimaryMonitorScaleMilli(
JNIEnv *env, jclass clazz)
{
(void)env; (void)clazz;
@@ -502,7 +502,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
* screen minus the taskbar) in physical pixels. Used by DecoratedWindow to
* resolve [WindowPosition.Aligned] for the initial outer position. */
JNIEXPORT jlongArray JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetPrimaryMonitorWorkArea(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetPrimaryMonitorWorkArea(
JNIEnv *env, jclass clazz)
{
(void)clazz;
@@ -523,7 +523,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_native
* coordinates (physical pixels). Used by DecoratedDialog to centre itself on
* its parent. Returns NULL if hwnd is invalid. */
JNIEXPORT jlongArray JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetWindowRect(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsDecoBridge_nativeGetWindowRect(
JNIEnv *env, jclass clazz, jlong hwndLong)
{
(void)clazz;
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_native_view.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_native_view.c
index b44c15911..7fdea70d8 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_native_view.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_native_view.c
@@ -17,6 +17,7 @@
#include
#include
+#ifndef _M_ARM64
/* /NODEFAULTLIB shim shared across all .c files linked into this DLL. */
int _fltused = 0;
@@ -34,6 +35,7 @@ void *memcpy(void *dest, const void *src, size_t count) {
while (count--) *d++ = *s++;
return dest;
}
+#endif
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) {
(void)hinst; (void)reason; (void)reserved;
@@ -45,7 +47,7 @@ static HWND hwnd_from_jlong(jlong v) {
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeAttach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeAttach(
JNIEnv *env, jclass clazz, jlong parentHwnd, jlong childHwnd) {
(void)env; (void)clazz;
HWND parent = hwnd_from_jlong(parentHwnd);
@@ -89,7 +91,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeDetach(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeDetach(
JNIEnv *env, jclass clazz, jlong childHwnd) {
(void)env; (void)clazz;
HWND child = hwnd_from_jlong(childHwnd);
@@ -103,7 +105,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeSetFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeSetFrame(
JNIEnv *env, jclass clazz, jlong parentHwnd, jlong childHwnd,
jint xPx, jint yPx, jint widthPx, jint heightPx) {
(void)env; (void)clazz; (void)parentHwnd;
@@ -116,7 +118,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeIsFocusInTree(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeIsFocusInTree(
JNIEnv *env, jclass clazz, jlong parentHwnd) {
(void)env; (void)clazz;
HWND parent = hwnd_from_jlong(parentHwnd);
@@ -128,7 +130,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeSetCornerRadius(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsNativeViewBridge_nativeSetCornerRadius(
JNIEnv *env, jclass clazz, jlong parentHwnd, jlong childHwnd, jfloat radiusPx) {
(void)env; (void)clazz; (void)parentHwnd;
HWND child = hwnd_from_jlong(childHwnd);
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_overlay.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_overlay.c
index 0045ef344..c760e9113 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_overlay.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_overlay.c
@@ -435,7 +435,7 @@ static void ensureClassRegistered(void) {
/* ============================================================ */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeCreateOverlay(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeCreateOverlay(
JNIEnv *env, jclass clazz, jlong ownerHwnd) {
(void)clazz;
if (sJVM == NULL) (*env)->GetJavaVM(env, &sJVM);
@@ -498,7 +498,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayFrame(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayFrame(
JNIEnv *env, jclass clazz, jlong overlay,
jint xPx, jint yPx, jint widthPx, jint heightPx) {
(void)env; (void)clazz;
@@ -519,7 +519,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayRegions(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayRegions(
JNIEnv *env, jclass clazz, jlong overlay, jfloatArray rectsXYWHPx, jint count) {
(void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -580,7 +580,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayCallback(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayCallback(
JNIEnv *env, jclass clazz, jlong overlay, jobject callback) {
(void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -593,7 +593,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayKeyCallback(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetOverlayKeyCallback(
JNIEnv *env, jclass clazz, jlong overlay, jobject callback) {
(void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -605,7 +605,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeMakeCurrent(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeMakeCurrent(
JNIEnv *env, jclass clazz, jlong overlay) {
(void)env; (void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -614,7 +614,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSwapBuffers(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSwapBuffers(
JNIEnv *env, jclass clazz, jlong overlay) {
(void)env; (void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -624,7 +624,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetCursor(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeSetCursor(
JNIEnv *env, jclass clazz, jlong overlay, jint cursorCode) {
(void)env; (void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
@@ -646,7 +646,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nat
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeReleaseOverlay(
+Java_dev_nucleusframework_nucleus_window_tao_NativeTaoWindowsOverlayBridge_nativeReleaseOverlay(
JNIEnv *env, jclass clazz, jlong overlay) {
(void)clazz;
OverlayState *s = (OverlayState *)(uintptr_t)overlay;
diff --git a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_popup.c b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_popup.c
index 55dff1c75..abc7d8670 100644
--- a/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_popup.c
+++ b/decorated-window-tao/src/main/native/windows/nucleus_tao_windows_popup.c
@@ -340,7 +340,7 @@ static void ensurePopupClassRegistered(void) {
/* ============================================================ */
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeCreatePanel(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeCreatePanel(
JNIEnv *env, jclass clazz, jlong parentHwnd, jint xPx, jint yPx, jint widthPx, jint heightPx) {
(void)clazz;
if (sJVM == NULL) (*env)->GetJavaVM(env, &sJVM);
@@ -395,7 +395,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeCr
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetFrameInWindow(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetFrameInWindow(
JNIEnv *env, jclass clazz, jlong panel, jint xPx, jint yPx, jint widthPx, jint heightPx) {
(void)env; (void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -410,7 +410,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSe
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetFocusable(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetFocusable(
JNIEnv *env, jclass clazz, jlong panel, jboolean focusable) {
(void)env; (void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -419,7 +419,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSe
}
JNIEXPORT jlong JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeContentHwnd(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeContentHwnd(
JNIEnv *env, jclass clazz, jlong panel) {
(void)env; (void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -427,7 +427,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeCo
}
JNIEXPORT jboolean JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeMakeCurrent(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeMakeCurrent(
JNIEnv *env, jclass clazz, jlong panel) {
(void)env; (void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -436,7 +436,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeMa
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSwapBuffers(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeSwapBuffers(
JNIEnv *env, jclass clazz, jlong panel) {
(void)env; (void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -446,7 +446,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSw
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetEventCallback(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeSetEventCallback(
JNIEnv *env, jclass clazz, jlong panel, jobject callback) {
(void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -458,7 +458,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeSe
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeInstallOutsideClickMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeInstallOutsideClickMonitor(
JNIEnv *env, jclass clazz, jlong panel, jobject listener) {
(void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -477,7 +477,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeIn
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeUninstallOutsideClickMonitor(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeUninstallOutsideClickMonitor(
JNIEnv *env, jclass clazz, jlong panel) {
(void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
@@ -493,7 +493,7 @@ Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeUn
}
JNIEXPORT void JNICALL
-Java_io_github_kdroidfilter_nucleus_window_tao_PopupNativeBridgeWindows_nativeRelease(
+Java_dev_nucleusframework_nucleus_window_tao_PopupNativeBridgeWindows_nativeRelease(
JNIEnv *env, jclass clazz, jlong panel) {
(void)clazz;
PopupState *p = (PopupState *)(uintptr_t)panel;
diff --git a/decorated-window-tao/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-tao/reachability-metadata.json b/decorated-window-tao/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-tao/reachability-metadata.json
similarity index 77%
rename from decorated-window-tao/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-tao/reachability-metadata.json
rename to decorated-window-tao/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-tao/reachability-metadata.json
index a79d01776..8ed0a9d21 100644
--- a/decorated-window-tao/src/main/resources/META-INF/native-image/io.github.kdroidfilter/nucleus.decorated-window-tao/reachability-metadata.json
+++ b/decorated-window-tao/src/main/resources/META-INF/native-image/dev.nucleusframework/nucleus.decorated-window-tao/reachability-metadata.json
@@ -1,7 +1,7 @@
{
"reflection": [
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoBridge",
"jniAccessible": true,
"methods": [
{ "name": "dispatchDeepLink", "parameterTypes": ["java.lang.String"] },
@@ -15,11 +15,11 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.TaoDeepLinkBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.TaoDeepLinkBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoBridge$EventCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoBridge$EventCallback",
"jniAccessible": true,
"methods": [
{
@@ -67,7 +67,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.TaoApplication$EventDispatcher",
+ "type": "dev.nucleusframework.nucleus.window.tao.TaoApplication$EventDispatcher",
"jniAccessible": true,
"allDeclaredFields": true,
"methods": [
@@ -116,7 +116,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeMetalBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeMetalBridge",
"jniAccessible": true,
"methods": [
{
@@ -129,7 +129,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.MetalFrame",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.MetalFrame",
"jniAccessible": true,
"methods": [
{
@@ -152,23 +152,23 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoGlBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoGlBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDecoBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDecoBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsNativeViewBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsNativeViewBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsOverlayBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsOverlayBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsOverlayBridge$OverlayEventCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsOverlayBridge$OverlayEventCallback",
"jniAccessible": true,
"methods": [
{ "name": "onPointerEvent", "parameterTypes": ["int","float","float","int","int"] },
@@ -176,7 +176,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeViewOverlayControllerWindows$OverlayCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeViewOverlayControllerWindows$OverlayCallback",
"jniAccessible": true,
"methods": [
{ "name": "onPointerEvent", "parameterTypes": ["int","float","float","int","int"] },
@@ -184,18 +184,18 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsOverlayBridge$OverlayKeyCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsOverlayBridge$OverlayKeyCallback",
"jniAccessible": true,
"methods": [
{ "name": "onKeyEvent", "parameterTypes": ["int","int","int","int"] }
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.PopupNativeBridgeWindows",
+ "type": "dev.nucleusframework.nucleus.window.tao.PopupNativeBridgeWindows",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.PopupNativeBridgeWindows$EventCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.PopupNativeBridgeWindows$EventCallback",
"jniAccessible": true,
"methods": [
{ "name": "onPointerEvent", "parameterTypes": ["int","float","float","int","int"] },
@@ -204,14 +204,14 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.PopupNativeBridgeWindows$OutsideClickListener",
+ "type": "dev.nucleusframework.nucleus.window.tao.PopupNativeBridgeWindows$OutsideClickListener",
"jniAccessible": true,
"methods": [
{ "name": "onOutsideClick", "parameterTypes": ["int","int"] }
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoPopupSceneLayerWindows$PopupEventCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoPopupSceneLayerWindows$PopupEventCallback",
"jniAccessible": true,
"methods": [
{ "name": "onPointerEvent", "parameterTypes": ["int","float","float","int","int"] },
@@ -220,37 +220,37 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoPopupSceneLayerWindows$PopupOutsideListener",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoPopupSceneLayerWindows$PopupOutsideListener",
"jniAccessible": true,
"methods": [
{ "name": "onOutsideClick", "parameterTypes": ["int","int"] }
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDecoBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDecoBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoEglBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoEglBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxWidgetBridge$OverlayInputCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxWidgetBridge$OverlayInputCallback",
"jniAccessible": true,
"methods": [
{ "name": "onEvent", "parameterTypes": ["int","int","int","int","int"] }
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoWindowsDndBridge$Callback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoWindowsDndBridge$Callback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -260,7 +260,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostWindows$InboundDnDCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostWindows$InboundDnDCallback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -270,11 +270,11 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoMacOsDndBridge$Callback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoMacOsDndBridge$Callback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -284,7 +284,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHost$InboundDnDCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHost$InboundDnDCallback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -294,11 +294,11 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxDndBridge$Callback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxDndBridge$Callback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -308,7 +308,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostLinux$InboundDnDCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostLinux$InboundDnDCallback",
"jniAccessible": true,
"methods": [
{ "name": "onDragEnter", "parameterTypes": ["long","int","int","int","boolean"] },
@@ -318,11 +318,11 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxTouchBridge",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxTouchBridge",
"jniAccessible": true
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.NativeTaoLinuxTouchBridge$Callback",
+ "type": "dev.nucleusframework.nucleus.window.tao.NativeTaoLinuxTouchBridge$Callback",
"jniAccessible": true,
"methods": [
{ "name": "onTouchEvent", "parameterTypes": ["long","int","int","long[]","long[]","long[]","long"] },
@@ -330,7 +330,7 @@
]
},
{
- "type": "io.github.kdroidfilter.nucleus.window.tao.render.TaoComposeSceneHostLinux$InboundTouchCallback",
+ "type": "dev.nucleusframework.nucleus.window.tao.render.TaoComposeSceneHostLinux$InboundTouchCallback",
"jniAccessible": true,
"methods": [
{ "name": "onTouchEvent", "parameterTypes": ["long","int","int","long[]","long[]","long[]","long"] },
diff --git a/docs/auto-update.md b/docs/auto-update.md
index 62070396c..38f257fb5 100644
--- a/docs/auto-update.md
+++ b/docs/auto-update.md
@@ -221,16 +221,16 @@ See [Publishing](publishing.md) for the full configuration reference.
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:1.0.0")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:1.0.0")
}
```
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.updater.NucleusUpdater
-import io.github.kdroidfilter.nucleus.updater.UpdateResult
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.updater.NucleusUpdater
+import dev.nucleusframework.nucleus.updater.UpdateResult
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
val updater = NucleusUpdater {
provider = GitHubProvider(owner = "myorg", repo = "myapp")
@@ -281,7 +281,7 @@ NucleusUpdater {
#### GitHub Releases
```kotlin
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
provider = GitHubProvider(
owner = "myorg",
@@ -293,7 +293,7 @@ provider = GitHubProvider(
#### Generic HTTP Server
```kotlin
-import io.github.kdroidfilter.nucleus.updater.provider.GenericProvider
+import dev.nucleusframework.nucleus.updater.provider.GenericProvider
provider = GenericProvider(
baseUrl = "https://updates.example.com"
@@ -459,17 +459,17 @@ To fix this, pass a client built with [`NativeHttpClient`](runtime/native-http.m
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
- implementation("io.github.kdroidfilter:nucleus.native-http:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.native-http:")
}
```
**2. Inject the client in the updater config**
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.NativeHttpClient
-import io.github.kdroidfilter.nucleus.updater.NucleusUpdater
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.nativehttp.NativeHttpClient
+import dev.nucleusframework.nucleus.updater.NucleusUpdater
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
val updater = NucleusUpdater {
provider = GitHubProvider(owner = "myorg", repo = "myapp")
@@ -482,7 +482,7 @@ The injected client is used for **both** the metadata check and the file downloa
You can also compose additional options via the builder extension:
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.NativeHttpClient.withNativeSsl
+import dev.nucleusframework.nucleus.nativehttp.NativeHttpClient.withNativeSsl
import java.net.http.HttpClient
import java.time.Duration
diff --git a/docs/changelog.md b/docs/changelog.md
index aeefe33a9..9ee3be800 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -822,17 +822,17 @@ The `decorated-window` module has been split into three modules:
**Dependency update** — replace:
```kotlin
-implementation("io.github.kdroidfilter:nucleus.decorated-window:")
+implementation("dev.nucleusframework:nucleus.decorated-window:")
```
With one of:
```kotlin
// JBR-based (same behavior as before)
-implementation("io.github.kdroidfilter:nucleus.decorated-window-jbr:")
+implementation("dev.nucleusframework:nucleus.decorated-window-jbr:")
// JNI-based (no JBR dependency, works with GraalVM)
-implementation("io.github.kdroidfilter:nucleus.decorated-window-jni:")
+implementation("dev.nucleusframework:nucleus.decorated-window-jni:")
```
**Breaking changes in `TitleBarColors`** — the following fields have been **removed**:
@@ -844,7 +844,7 @@ implementation("io.github.kdroidfilter:nucleus.decorated-window-jni:")
These platform-specific button state colors are now handled internally by each module's native implementation. If you were constructing `TitleBarColors` explicitly with these fields, remove them.
-**No other code changes required** — all composable APIs (`DecoratedWindow`, `DecoratedDialog`, `TitleBar`, `DialogTitleBar`), scopes, and state types are identical. No import changes needed — the package remains `io.github.kdroidfilter.nucleus.window`.
+**No other code changes required** — all composable APIs (`DecoratedWindow`, `DecoratedDialog`, `TitleBar`, `DialogTitleBar`), scopes, and state types are identical. No import changes needed — the package remains `dev.nucleusframework.nucleus.window`.
See [Decorated Window](runtime/decorated-window.md) for full details on choosing between JBR and JNI.
diff --git a/docs/comparison/packaging.md b/docs/comparison/packaging.md
index a7eb24d47..7b1a8d761 100644
--- a/docs/comparison/packaging.md
+++ b/docs/comparison/packaging.md
@@ -111,7 +111,7 @@ Scoring: each of 13 dimensions rated 0–10, total = raw sum / 130 × 100. See [
³ jDeploy DMG requires a separate GitHub Action + macOS runner ([jdeploy-action-dmg](https://github.com/shannah/jdeploy-action-dmg)).
??? info "Sources"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) — 17 enum values (16 distributable + `RawAppImage` intermediate)
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) — 17 enum values (16 distributable + `RawAppImage` intermediate)
- **Conveyor**: [Package formats](https://conveyor.hydraulic.dev/21.1/package-formats/), [Output formats FAQ](https://conveyor.hydraulic.dev/21.1/faq/output-formats/) — MSIX, EXE, ZIP (Windows); signed .app in ZIP (macOS); DEB, tar.gz (Linux). No DMG, PKG, RPM, NSIS, AppImage, Snap, Flatpak.
- **install4j**: [Media files](https://www.ej-technologies.com/resources/install4j/help/doc/concepts/mediaFiles.html) — EXE, MSI wrapper, DMG, .app, RPM, DEB, tar.gz, shell installer. No PKG, NSIS, AppX.
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--type`: app-image, dmg, pkg, exe, msi, deb, rpm
@@ -135,7 +135,7 @@ Nucleus leads by leveraging electron-builder as its packaging backend: jpackage
| Compose MP | ❌ | — | — | — | — | **0** |
??? info "Sources"
- - **Nucleus**: [`NucleusUpdater.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/updater-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/updater/NucleusUpdater.kt) — `GitHubProvider` and `GenericProvider`; SHA-512 verification; 9 self-updatable format types (EXE, NSIS, MSI, DMG, ZIP, AppImage, DEB, RPM, NsisWeb)
+ - **Nucleus**: [`NucleusUpdater.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/updater-runtime/src/main/kotlin/dev/nucleusframework/nucleus/updater/NucleusUpdater.kt) — `GitHubProvider` and `GenericProvider`; SHA-512 verification; 9 self-updatable format types (EXE, NSIS, MSI, DMG, ZIP, AppImage, DEB, RPM, NsisWeb)
- **Conveyor**: [Update modes](https://conveyor.hydraulic.dev/21.1/configs/update-modes/) — Sparkle 2 on macOS (delta patches for 5 previous versions), MSIX native on Windows (64 KB chunk delta), apt on Linux. [Understanding updates](https://conveyor.hydraulic.dev/21.1/understanding-updates/)
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — built-in auto-update with configurable strategies
- **jDeploy**: [Substack](https://jdeploy.substack.com/p/automated-deployment-and-updates) — auto-detects new versions on launch
@@ -159,8 +159,8 @@ Conveyor's delta update system is a genuine differentiator: a single-line change
¹ jDeploy pre-signs and notarizes installers using its own certificate; optional custom signing via GitHub Action ([FAQ](https://www.jdeploy.com/docs/faq/)).
??? info "Sources"
- - **Nucleus**: [`MacOSSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/MacOSSigningSettings.kt), [`WindowsSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/WindowsSigningSettings.kt) — Azure Artifact Signing via `azureTenantId`, `azureEndpoint`, `azureCertificateProfileName`
- - **Conveyor**: [Keys and certificates](https://conveyor.hydraulic.dev/21.1/configs/keys-and-certificates/) — macOS notarization (App Store Connect API keys), Windows self-signing, Azure Artifact Signing, Azure Key Vault, AWS KMS, SSL.com eSigner, DigiCert ONE, Google Cloud KMS, HSMs (SafeNet, YubiKey)
+ - **Nucleus**: [`MacOSSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/MacOSSigningSettings.kt), [`WindowsSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/WindowsSigningSettings.kt) — Azure Trusted Signing via `azureTenantId`, `azureEndpoint`, `azureCertificateProfileName`
+ - **Conveyor**: [Keys and certificates](https://conveyor.hydraulic.dev/21.1/configs/keys-and-certificates/) — macOS notarization (App Store Connect API keys), Windows self-signing, Azure Trusted Signing, Azure Key Vault, AWS KMS, SSL.com eSigner, DigiCert ONE, Google Cloud KMS, HSMs (SafeNet, YubiKey)
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — cross-platform signing and notarization
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--mac-sign`, `--mac-signing-key-user-name`, `--mac-app-store`
- **Compose MP**: [Native distributions](https://kotlinlang.org/docs/multiplatform/compose-native-distribution.html) — macOS signing and notarization DSL
@@ -204,7 +204,7 @@ Nucleus's CI pipeline is its strongest JVM differentiator. No other JVM tool pro
| jpackage | ❌ | ❌ | ✅ (JDK built-in) | — | **4** |
??? info "Sources"
- - **Nucleus**: Gradle plugin (`io.github.kdroidfilter.nucleus`), no Maven or CLI support
+ - **Nucleus**: Gradle plugin (`dev.nucleusframework.nucleus`), no Maven or CLI support
- **Conveyor**: [Gradle/Maven integration](https://conveyor.hydraulic.dev/21.1/configs/maven-gradle/) — open-source Gradle plugin (Gradle 7+); Maven via `mvn dependency:build-classpath` CLI integration; standalone `conveyor` CLI
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — visual IDE + CLI + Gradle + Maven + Ant plugins
- **jDeploy**: [GitHub](https://github.com/shannah/jdeploy) — CLI tool, Maven integration, npm package
@@ -232,7 +232,7 @@ Nucleus is Gradle-only, which suits its Compose Desktop audience but limits adop
⁵ badass-jlink exposes no cert DSL, but its task hook (`tasks.named("jlink").doLast { … }`) gives access to the staged runtime image before jpackage consumes it — the cleanest manual workaround available.
??? info "Sources"
- - **Nucleus**: [`AbstractGenerateAotCacheTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractGenerateAotCacheTask.kt) — Project Leyden via `-XX:AOTCacheOutput` (JDK 25+); [`ProguardSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/ProguardSettings.kt) — ProGuard 7.7.0 default; [`AbstractJLinkTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractJLinkTask.kt) — jlink with strip-debug, compression; [`AbstractPatchCaCertificatesTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractPatchCaCertificatesTask.kt) — copies JLink runtime, runs keytool to import PEM/DER certificates into `lib/security/cacerts`; [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — GraalVM Native Image bootstrap with `GraalVmInitializer.initialize()`, platform-specific reachability metadata, font substitution, and Skiko native library extraction. Requires BellSoft Liberica NIK 25 (full). Packaging via `packageGraalvmDmg`, `packageGraalvmNsis`, `packageGraalvmDeb` tasks.
+ - **Nucleus**: [`AbstractGenerateAotCacheTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractGenerateAotCacheTask.kt) — Project Leyden via `-XX:AOTCacheOutput` (JDK 25+); [`ProguardSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/ProguardSettings.kt) — ProGuard 7.7.0 default; [`AbstractJLinkTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractJLinkTask.kt) — jlink with strip-debug, compression; [`AbstractPatchCaCertificatesTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractPatchCaCertificatesTask.kt) — copies JLink runtime, runs keytool to import PEM/DER certificates into `lib/security/cacerts`; [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — GraalVM Native Image bootstrap with `GraalVmInitializer.initialize()`, platform-specific reachability metadata, font substitution, and Skiko native library extraction. Requires BellSoft Liberica NIK 25 (full). Packaging via `packageGraalvmDmg`, `packageGraalvmNsis`, `packageGraalvmDeb` tasks.
- **Conveyor**: [JVM config](https://conveyor.hydraulic.dev/21.1/configs/jvm/) — automatic jlink; `app.jvm.additional-ca-certs` key imports extra certificates into the bundled JDK's `cacerts`; [JDK stdlib](https://conveyor.hydraulic.dev/21.1/stdlib/jdks/) — 6 JDK vendors (Corretto, Zulu, Temurin, JBR, Microsoft, OpenJDK)
- **install4j**: [JRE bundles](https://www.ej-technologies.com/resources/install4j/help/doc/concepts/jreBundles.html), [createbundle CLI](https://www.ej-technologies.com/resources/install4j/help/doc/cli/createBundle.html) — no cert patching DSL; manual via pre-patched JRE bundle
- **jpackage**: [Override resources](https://docs.oracle.com/en/java/javase/23/jpackage/override-jpackage-resources.html) — `--resource-dir` limited to packaging templates; cert patching requires `--runtime-image` with a pre-patched jlink output
@@ -259,7 +259,7 @@ Only **Nucleus** and **Conveyor** provide declarative, first-class CA cert patch
- **Conveyor**: [Homepage](https://conveyor.hydraulic.dev/21.1/) — "build packages from any OS, sign and notarize Mac apps from Linux"
- **install4j**: [Homepage](https://www.ej-technologies.com/install4j) — "compile installers for all platforms on any of these platforms"
- **jDeploy**: [FAQ](https://www.jdeploy.com/docs/faq/) — "build native installers for Mac, Windows, and Linux on any platform"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) line 48 — `isCompatibleWithCurrentOS` check; packaging tasks disabled for non-matching OS
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) line 48 — `isCompatibleWithCurrentOS` check; packaging tasks disabled for non-matching OS
This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-runner CI matrix — the pipeline handles cross-platform builds automatically.
@@ -277,7 +277,7 @@ This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-ru
| JavaPackager | ✅ (Inno Setup) | ✅ | ✅ | ❌ | ❌ | **4** |
??? info "Sources"
- - **Nucleus**: [`NsisSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/NsisSettings.kt) — 16 properties: `oneClick`, `allowElevation`, `perMachine`, `allowToChangeInstallationDirectory`, `createDesktopShortcut`, `createStartMenuShortcut`, `runAfterFinish`, `installerIcon`, `license`, `includeScript`, `multiLanguageInstaller`, `installerHeader`, `installerSidebar`, etc. [`DmgSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/DmgSettings.kt) — `background`, `backgroundColor`, `badgeIcon`, `icon`, `format` (6 DMG formats: UDRW, UDRO, UDCO, UDZO, UDBZ, ULFO), `window`, `contents`
+ - **Nucleus**: [`NsisSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/NsisSettings.kt) — 16 properties: `oneClick`, `allowElevation`, `perMachine`, `allowToChangeInstallationDirectory`, `createDesktopShortcut`, `createStartMenuShortcut`, `runAfterFinish`, `installerIcon`, `license`, `includeScript`, `multiLanguageInstaller`, `installerHeader`, `installerSidebar`, etc. [`DmgSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/DmgSettings.kt) — `background`, `backgroundColor`, `badgeIcon`, `icon`, `format` (6 DMG formats: UDRW, UDRO, UDCO, UDZO, UDBZ, ULFO), `window`, `contents`
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — visual IDE with 80+ configurable actions
- **Conveyor**: [Package formats](https://conveyor.hydraulic.dev/21.1/package-formats/) — MSIX is a fixed format with no installer UI customization
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--resource-dir` for template overrides
@@ -301,7 +301,7 @@ This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-ru
| Compose MP | ❌ | ❌ | ❌ | ❌ | **0** |
??? info "Sources"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) — `isStoreFormat` = Pkg, AppX, Flatpak; [`PlatformSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/PlatformSettings.kt) — `appStore`, `entitlementsFile`, `provisioningProfile` for MAS; [`AppXSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/AppXSettings.kt) — `identityName`, `publisher`, `capabilities`; [`FlatpakSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/FlatpakSettings.kt) — `runtime`, `finishArgs`, `license`
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) — `isStoreFormat` = Pkg, AppX, Flatpak; [`PlatformSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/PlatformSettings.kt) — `appStore`, `entitlementsFile`, `provisioningProfile` for MAS; [`AppXSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/AppXSettings.kt) — `identityName`, `publisher`, `capabilities`; [`FlatpakSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/FlatpakSettings.kt) — `runtime`, `finishArgs`, `license`
- **Conveyor**: [Windows config](https://conveyor.hydraulic.dev/21.1/configs/windows/) — Microsoft Store supported via `conveyor make ms-store-release`; [Output formats FAQ](https://conveyor.hydraulic.dev/21.1/faq/output-formats/) — Mac App Store listed as "not supported yet"
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--mac-app-store` flag exists but limited
@@ -321,14 +321,14 @@ For JVM apps, Nucleus is unique in handling the Mac App Store sandbox automatica
| All others | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **0** |
??? info "Sources"
- - **Nucleus dark mode**: [`IsSystemInDarkMode.kt`](https://github.com/kdroidFilter/Nucleus/tree/main/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/) — JNI (not JNA) with native libraries per platform: macOS via `NSDistributedNotificationCenter`, Windows via registry `AppsUseLightTheme` + `RegNotifyChangeKeyValue`, Linux via D-Bus `org.freedesktop.portal.Settings`. Real-time reactive Compose state.
+ - **Nucleus dark mode**: [`IsSystemInDarkMode.kt`](https://github.com/kdroidFilter/Nucleus/tree/main/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/) — JNI (not JNA) with native libraries per platform: macOS via `NSDistributedNotificationCenter`, Windows via registry `AppsUseLightTheme` + `RegNotifyChangeKeyValue`, Linux via D-Bus `org.freedesktop.portal.Settings`. Real-time reactive Compose state.
- **Nucleus decorated windows**: Split into three modules since v1.3.0 — `decorated-window-core` (shared types/layout), [`decorated-window-jbr`](https://github.com/kdroidFilter/Nucleus/tree/main/decorated-window-jbr) (JBR CustomTitleBar API on macOS/Windows), [`decorated-window-jni`](https://github.com/kdroidFilter/Nucleus/tree/main/decorated-window-jni) (JNI-based, works with any JVM including GraalVM Native Image). Custom undecorated window with GNOME (24px arcs) and KDE (10px) native controls on Linux. Jewel variant in `decorated-window-jewel`, Material 2 in `decorated-window-material2`, Material 3 in `decorated-window-material3`.
- **Nucleus Linux HiDPI**: [`linux-hidpi`](https://github.com/kdroidFilter/Nucleus/tree/main/linux-hidpi) — native GDK_SCALE detection for proper HiDPI scaling on Linux, required for native image builds.
- **Nucleus GraalVM runtime**: [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — centralizes native-image bootstrap (`GraalVmInitializer.initialize()`), font substitution, Skiko library extraction, and platform-specific reachability metadata.
- - **Nucleus single instance**: [`SingleInstanceManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManager.kt) — `FileChannel.tryLock()` + `WatchService` for inter-process communication
- - **Nucleus deep links**: [`DeepLinkHandler.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/DeepLinkHandler.kt) — macOS via `Desktop.setOpenURIHandler` (Apple Events); Windows/Linux via CLI argument parsing
- - **Nucleus executable type**: [`ExecutableRuntime.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntime.kt) — 17 `ExecutableType` enum values (EXE, MSI, NSIS, NSIS_WEB, PORTABLE, APPX, DMG, PKG, DEB, RPM, SNAP, FLATPAK, APPIMAGE, ZIP, TAR, SEVEN_Z, DEV)
- - **Nucleus native-ssl**: [`NativeTrustManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/native-ssl/src/main/kotlin/io/github/kdroidfilter/nucleus/nativessl/NativeTrustManager.kt) — JNI-based `X509TrustManager` merging OS certificates with JVM defaults: macOS via Security.framework (`SecTrustCopyAnchorCertificates` + `SecTrustSettingsCopyCertificates`), Windows via Crypt32 (`ROOT`/`CA` stores across 5 locations including Group Policy), Linux via PEM bundles (8 discovery paths). Companion modules: `native-http-okhttp` (OkHttp 4) and `native-http-ktor` (Ktor engine).
+ - **Nucleus single instance**: [`SingleInstanceManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManager.kt) — `FileChannel.tryLock()` + `WatchService` for inter-process communication
+ - **Nucleus deep links**: [`DeepLinkHandler.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/DeepLinkHandler.kt) — macOS via `Desktop.setOpenURIHandler` (Apple Events); Windows/Linux via CLI argument parsing
+ - **Nucleus executable type**: [`ExecutableRuntime.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntime.kt) — 17 `ExecutableType` enum values (EXE, MSI, NSIS, NSIS_WEB, PORTABLE, APPX, DMG, PKG, DEB, RPM, SNAP, FLATPAK, APPIMAGE, ZIP, TAR, SEVEN_Z, DEV)
+ - **Nucleus native-ssl**: [`NativeTrustManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/native-ssl/src/main/kotlin/dev/nucleusframework/nucleus/nativessl/NativeTrustManager.kt) — JNI-based `X509TrustManager` merging OS certificates with JVM defaults: macOS via Security.framework (`SecTrustCopyAnchorCertificates` + `SecTrustSettingsCopyCertificates`), Windows via Crypt32 (`ROOT`/`CA` stores across 5 locations including Group Policy), Linux via PEM bundles (8 discovery paths). Companion modules: `native-http-okhttp` (OkHttp 4) and `native-http-ktor` (Ktor engine).
- **Conveyor**: [OS integration](https://conveyor.hydraulic.dev/21.1/configs/os-integration/) — `app.url-schemes` registers URL handlers, `app.file-associations` registers file types at OS level (generates AppxManifest.xml, Info.plist, .desktop files). No runtime library — app code must handle open requests itself.
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — single instance lock, file associations
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--file-associations` flag with properties files
diff --git a/docs/getting-started.md b/docs/getting-started.md
index 394b62ef0..2a6d606fd 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -19,11 +19,11 @@ Add the Nucleus plugin to your `build.gradle.kts`:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
```
-The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus). No additional repository configuration is needed.
+The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus). No additional repository configuration is needed.
### Runtime Libraries (Optional)
@@ -34,19 +34,19 @@ dependencies {
implementation(compose.desktop.currentOs)
// Executable type detection + single instance + deep links
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
// AOT cache runtime detection (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:")
// Auto-update library (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
// Native taskbar/dock progress bar
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:")
// Custom decorated window with native title bar
- implementation("io.github.kdroidfilter:nucleus.decorated-window:")
+ implementation("dev.nucleusframework:nucleus.decorated-window:")
}
```
diff --git a/docs/graalvm/runtime-bootstrap.md b/docs/graalvm/runtime-bootstrap.md
index dbbc00f0d..6bbac1d0a 100644
--- a/docs/graalvm/runtime-bootstrap.md
+++ b/docs/graalvm/runtime-bootstrap.md
@@ -6,14 +6,14 @@ The `graalvm-runtime` module provides everything needed to bootstrap a Compose D
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.graalvm-runtime:")
+ implementation("dev.nucleusframework:nucleus.graalvm-runtime:")
}
```
Then call `GraalVmInitializer.initialize()` as the **first line** of your `main()` function, before any AWT or Compose usage:
```kotlin
-import io.github.kdroidfilter.nucleus.graalvm.GraalVmInitializer
+import dev.nucleusframework.nucleus.graalvm.GraalVmInitializer
fun main() {
GraalVmInitializer.initialize()
diff --git a/docs/index.md b/docs/index.md
index dae1709ef..636dd6d13 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -4,8 +4,8 @@
-[](https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus)
-[](https://central.sonatype.com/search?q=io.github.kdroidfilter.nucleus)
+[](https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus)
+[](https://central.sonatype.com/search?q=dev.nucleusframework.nucleus)
[](https://github.com/kdroidFilter/Nucleus/actions/workflows/pre-merge.yaml)
[](https://github.com/kdroidFilter/Nucleus/blob/main/LICENSE)

@@ -65,7 +65,7 @@ Nucleus meets you where you are:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
nucleus.application {
diff --git a/docs/llms-full.txt b/docs/llms-full.txt
index f26ddc130..bc8a47c7d 100644
--- a/docs/llms-full.txt
+++ b/docs/llms-full.txt
@@ -2,10 +2,10 @@
> Nucleus is the all-in-one toolkit for shipping JVM desktop applications. It combines a Gradle plugin, runtime libraries, and GitHub Actions to handle performance (AOT), distribution (16 packaging formats), native look & feel (decorated windows, dark mode, system colors), and GraalVM Native Image support. Compatible with any JVM application, optimized for Compose Desktop.
-- Docs: https://nucleus.kdroidfilter.com
+- Docs: https://nucleus.nucleusframework.com
- GitHub: https://github.com/kdroidFilter/Nucleus
-- Gradle Plugin Portal: https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus
-- Maven Central: https://central.sonatype.com/search?q=io.github.kdroidfilter.nucleus
+- Gradle Plugin Portal: https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus
+- Maven Central: https://central.sonatype.com/search?q=dev.nucleusframework.nucleus
- License: MIT
**Nucleus is the Kotlin framework for native desktop apps.** Combined with Compose Multiplatform, it forms the most complete, most performant, and most deeply integrated desktop application stack ever built — on any language, any runtime, any platform.
@@ -62,7 +62,7 @@ Nucleus meets you where you are:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
nucleus.application {
@@ -143,11 +143,11 @@ Add the Nucleus plugin to your `build.gradle.kts`:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
```
-The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus). No additional repository configuration is needed.
+The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus). No additional repository configuration is needed.
### Runtime Libraries (Optional)
@@ -158,19 +158,19 @@ dependencies {
implementation(compose.desktop.currentOs)
// Executable type detection + single instance + deep links
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
// AOT cache runtime detection (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:")
// Auto-update library (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
// Native taskbar/dock progress bar
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:")
// Custom decorated window with native title bar
- implementation("io.github.kdroidfilter:nucleus.decorated-window:")
+ implementation("dev.nucleusframework:nucleus.decorated-window:")
}
```
@@ -2418,16 +2418,16 @@ See [Publishing](publishing.md) for the full configuration reference.
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:1.0.0")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:1.0.0")
}
```
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.updater.NucleusUpdater
-import io.github.kdroidfilter.nucleus.updater.UpdateResult
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.updater.NucleusUpdater
+import dev.nucleusframework.nucleus.updater.UpdateResult
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
val updater = NucleusUpdater {
provider = GitHubProvider(owner = "myorg", repo = "myapp")
@@ -2478,7 +2478,7 @@ NucleusUpdater {
#### GitHub Releases
```kotlin
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
provider = GitHubProvider(
owner = "myorg",
@@ -2490,7 +2490,7 @@ provider = GitHubProvider(
#### Generic HTTP Server
```kotlin
-import io.github.kdroidfilter.nucleus.updater.provider.GenericProvider
+import dev.nucleusframework.nucleus.updater.provider.GenericProvider
provider = GenericProvider(
baseUrl = "https://updates.example.com"
@@ -2656,17 +2656,17 @@ To fix this, pass a client built with [`NativeHttpClient`](runtime/native-http.m
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
- implementation("io.github.kdroidfilter:nucleus.native-http:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.native-http:")
}
```
**2. Inject the client in the updater config**
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.NativeHttpClient
-import io.github.kdroidfilter.nucleus.updater.NucleusUpdater
-import io.github.kdroidfilter.nucleus.updater.provider.GitHubProvider
+import dev.nucleusframework.nucleus.nativehttp.NativeHttpClient
+import dev.nucleusframework.nucleus.updater.NucleusUpdater
+import dev.nucleusframework.nucleus.updater.provider.GitHubProvider
val updater = NucleusUpdater {
provider = GitHubProvider(owner = "myorg", repo = "myapp")
@@ -2679,7 +2679,7 @@ The injected client is used for **both** the metadata check and the file downloa
You can also compose additional options via the builder extension:
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.NativeHttpClient.withNativeSsl
+import dev.nucleusframework.nucleus.nativehttp.NativeHttpClient.withNativeSsl
import java.net.http.HttpClient
import java.time.Duration
@@ -3148,14 +3148,14 @@ To detect AOT mode at runtime (e.g. to self-terminate during training or skip he
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:")
// Transitive: nucleus.core-runtime is pulled in via `api`
}
```
```kotlin
-import io.github.kdroidfilter.nucleus.aot.runtime.AotRuntime
-import io.github.kdroidfilter.nucleus.aot.runtime.AotRuntimeMode
+import dev.nucleusframework.nucleus.aot.runtime.AotRuntime
+import dev.nucleusframework.nucleus.aot.runtime.AotRuntimeMode
```
## Modes
@@ -3254,8 +3254,8 @@ The `aot-runtime` module re-exports `ExecutableRuntime` and `ExecutableType` via
```kotlin
// Both work:
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
-import io.github.kdroidfilter.nucleus.aot.runtime.ExecutableRuntime
+import dev.nucleusframework.nucleus.core.runtime.ExecutableRuntime
+import dev.nucleusframework.nucleus.aot.runtime.ExecutableRuntime
```
---
@@ -3500,14 +3500,14 @@ The `graalvm-runtime` module provides everything needed to bootstrap a Compose D
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.graalvm-runtime:")
+ implementation("dev.nucleusframework:nucleus.graalvm-runtime:")
}
```
Then call `GraalVmInitializer.initialize()` as the **first line** of your `main()` function, before any AWT or Compose usage:
```kotlin
-import io.github.kdroidfilter.nucleus.graalvm.GraalVmInitializer
+import dev.nucleusframework.nucleus.graalvm.GraalVmInitializer
fun main() {
GraalVmInitializer.initialize()
@@ -3836,7 +3836,7 @@ plugins {
kotlin("multiplatform")
id("org.jetbrains.compose")
id("org.jetbrains.kotlin.plugin.compose")
- id("io.github.kdroidfilter.nucleus")
+ id("dev.nucleusframework.nucleus")
}
kotlin {
@@ -4694,70 +4694,70 @@ Nucleus provides runtime libraries for use in your application code. All are pub
| Library | Artifact | Description |
|---------|----------|-------------|
-| Core Runtime | `io.github.kdroidfilter:nucleus.core-runtime` | Executable type detection, single instance, deep links, app metadata (`NucleusApp`) |
-| AOT Runtime | `io.github.kdroidfilter:nucleus.aot-runtime` | AOT cache detection (includes core-runtime via `api`) |
-| Updater Runtime | `io.github.kdroidfilter:nucleus.updater-runtime` | Auto-update library with update level detection and post-update events (includes core-runtime) |
-| Taskbar Progress | `io.github.kdroidfilter:nucleus.taskbar-progress` | Native taskbar/dock progress bar and attention requests (Windows, macOS, Linux) |
-| Notification (macOS) | `io.github.kdroidfilter:nucleus.notification-macos` | macOS UserNotifications API — local notifications, actions, badges via JNI |
-| Notification (Windows) | `io.github.kdroidfilter:nucleus.notification-windows` | Windows Toast Notifications API — rich toasts, buttons, progress bars via JNI (WinRT) |
-| Launcher (Windows) | `io.github.kdroidfilter:nucleus.launcher-windows` | Windows Launcher API — badge notifications, jump lists, overlay icons, and thumbnail toolbar (ITaskbarList3) via JNI |
-| Notification (Linux) | `io.github.kdroidfilter:nucleus.notification-linux` | Freedesktop Desktop Notifications API via JNI (D-Bus) |
-| Launcher (Linux) | `io.github.kdroidfilter:nucleus.launcher-linux` | Unity Launcher API — badge, progress, urgency, quicklist via JNI (D-Bus) |
-| Launcher (macOS) | `io.github.kdroidfilter:nucleus.launcher-macos` | macOS dock context menu — custom items, submenus, click callbacks via JNI |
-| Media Control | `io.github.kdroidfilter:nucleus.media-control` | OS media controls (play/pause, metadata, seek) — MPRIS D-Bus on Linux, MPNowPlayingInfoCenter on macOS, SystemMediaTransportControls on Windows via JNI |
-| Menu (macOS) | `io.github.kdroidfilter:nucleus.menu-macos` | Complete NSMenu mapping — application menu bar, items, badges, delegates, SF Symbols via JNI |
-| SF Symbols | `io.github.kdroidfilter:nucleus.sf-symbols` | Type-safe Apple SF Symbols constants (6 195 symbols, 21 categories) |
-| Freedesktop Icons | `io.github.kdroidfilter:nucleus.freedesktop-icons` | Type-safe freedesktop Icon Naming Specification constants |
-| Decorated Window | `io.github.kdroidfilter:nucleus.decorated-window` | Custom window decorations with native title bar |
-| Decorated Window — Jewel | `io.github.kdroidfilter:nucleus.decorated-window-jewel` | Jewel (IntelliJ theme) color mapping for decorated windows |
-| Decorated Window — Material 2 | `io.github.kdroidfilter:nucleus.decorated-window-material2` | Material 2 color mapping for decorated windows |
-| Decorated Window — Material 3 | `io.github.kdroidfilter:nucleus.decorated-window-material3` | Material 3 color mapping for decorated windows |
-| Dark Mode Detector | `io.github.kdroidfilter:nucleus.darkmode-detector` | Reactive OS dark mode detection via JNI |
-| System Color | `io.github.kdroidfilter:nucleus.system-color` | Reactive system accent color and high contrast detection via JNI |
-| Energy Manager | `io.github.kdroidfilter:nucleus.energy-manager` | Process-level and thread-level energy efficiency mode and screen-awake (caffeine) API for Windows, macOS, and Linux |
-| Native SSL | `io.github.kdroidfilter:nucleus.native-ssl` | OS trust store integration — merges native certs with JVM defaults |
-| Native HTTP | `io.github.kdroidfilter:nucleus.native-http` | `java.net.http.HttpClient` pre-configured with native OS trust |
-| Native HTTP — OkHttp | `io.github.kdroidfilter:nucleus.native-http-okhttp` | OkHttp client pre-configured with native OS trust |
-| Native HTTP — Ktor | `io.github.kdroidfilter:nucleus.native-http-ktor` | Ktor `HttpClient` extension for native OS trust (all engines) |
-| Linux HiDPI | `io.github.kdroidfilter:nucleus.linux-hidpi` | Native HiDPI scale factor detection on Linux |
-| Scheduler | `io.github.kdroidfilter:nucleus.scheduler` | Background task scheduling — periodic, calendar, and on-boot tasks via OS-native schedulers (launchd, systemd, Task Scheduler) |
-| Service Management (macOS) | `io.github.kdroidfilter:nucleus.service-management-macos` | macOS SMAppService binding — login items, launch agents, launch daemons (macOS 13+) |
-| Auto-Launch | `io.github.kdroidfilter:nucleus.autolaunch` | Cross-platform start-at-login — MSIX `StartupTask`, Win32 `HKCU\...\Run`, `SMAppService`, systemd user units, Flatpak portal |
-| GraalVM Runtime | `io.github.kdroidfilter:nucleus.graalvm-runtime` | GraalVM native-image bootstrap + font substitutions (includes linux-hidpi) |
+| Core Runtime | `dev.nucleusframework:nucleus.core-runtime` | Executable type detection, single instance, deep links, app metadata (`NucleusApp`) |
+| AOT Runtime | `dev.nucleusframework:nucleus.aot-runtime` | AOT cache detection (includes core-runtime via `api`) |
+| Updater Runtime | `dev.nucleusframework:nucleus.updater-runtime` | Auto-update library with update level detection and post-update events (includes core-runtime) |
+| Taskbar Progress | `dev.nucleusframework:nucleus.taskbar-progress` | Native taskbar/dock progress bar and attention requests (Windows, macOS, Linux) |
+| Notification (macOS) | `dev.nucleusframework:nucleus.notification-macos` | macOS UserNotifications API — local notifications, actions, badges via JNI |
+| Notification (Windows) | `dev.nucleusframework:nucleus.notification-windows` | Windows Toast Notifications API — rich toasts, buttons, progress bars via JNI (WinRT) |
+| Launcher (Windows) | `dev.nucleusframework:nucleus.launcher-windows` | Windows Launcher API — badge notifications, jump lists, overlay icons, and thumbnail toolbar (ITaskbarList3) via JNI |
+| Notification (Linux) | `dev.nucleusframework:nucleus.notification-linux` | Freedesktop Desktop Notifications API via JNI (D-Bus) |
+| Launcher (Linux) | `dev.nucleusframework:nucleus.launcher-linux` | Unity Launcher API — badge, progress, urgency, quicklist via JNI (D-Bus) |
+| Launcher (macOS) | `dev.nucleusframework:nucleus.launcher-macos` | macOS dock context menu — custom items, submenus, click callbacks via JNI |
+| Media Control | `dev.nucleusframework:nucleus.media-control` | OS media controls (play/pause, metadata, seek) — MPRIS D-Bus on Linux, MPNowPlayingInfoCenter on macOS, SystemMediaTransportControls on Windows via JNI |
+| Menu (macOS) | `dev.nucleusframework:nucleus.menu-macos` | Complete NSMenu mapping — application menu bar, items, badges, delegates, SF Symbols via JNI |
+| SF Symbols | `dev.nucleusframework:nucleus.sf-symbols` | Type-safe Apple SF Symbols constants (6 195 symbols, 21 categories) |
+| Freedesktop Icons | `dev.nucleusframework:nucleus.freedesktop-icons` | Type-safe freedesktop Icon Naming Specification constants |
+| Decorated Window | `dev.nucleusframework:nucleus.decorated-window` | Custom window decorations with native title bar |
+| Decorated Window — Jewel | `dev.nucleusframework:nucleus.decorated-window-jewel` | Jewel (IntelliJ theme) color mapping for decorated windows |
+| Decorated Window — Material 2 | `dev.nucleusframework:nucleus.decorated-window-material2` | Material 2 color mapping for decorated windows |
+| Decorated Window — Material 3 | `dev.nucleusframework:nucleus.decorated-window-material3` | Material 3 color mapping for decorated windows |
+| Dark Mode Detector | `dev.nucleusframework:nucleus.darkmode-detector` | Reactive OS dark mode detection via JNI |
+| System Color | `dev.nucleusframework:nucleus.system-color` | Reactive system accent color and high contrast detection via JNI |
+| Energy Manager | `dev.nucleusframework:nucleus.energy-manager` | Process-level and thread-level energy efficiency mode and screen-awake (caffeine) API for Windows, macOS, and Linux |
+| Native SSL | `dev.nucleusframework:nucleus.native-ssl` | OS trust store integration — merges native certs with JVM defaults |
+| Native HTTP | `dev.nucleusframework:nucleus.native-http` | `java.net.http.HttpClient` pre-configured with native OS trust |
+| Native HTTP — OkHttp | `dev.nucleusframework:nucleus.native-http-okhttp` | OkHttp client pre-configured with native OS trust |
+| Native HTTP — Ktor | `dev.nucleusframework:nucleus.native-http-ktor` | Ktor `HttpClient` extension for native OS trust (all engines) |
+| Linux HiDPI | `dev.nucleusframework:nucleus.linux-hidpi` | Native HiDPI scale factor detection on Linux |
+| Scheduler | `dev.nucleusframework:nucleus.scheduler` | Background task scheduling — periodic, calendar, and on-boot tasks via OS-native schedulers (launchd, systemd, Task Scheduler) |
+| Service Management (macOS) | `dev.nucleusframework:nucleus.service-management-macos` | macOS SMAppService binding — login items, launch agents, launch daemons (macOS 13+) |
+| Auto-Launch | `dev.nucleusframework:nucleus.autolaunch` | Cross-platform start-at-login — MSIX `StartupTask`, Win32 `HKCU\...\Run`, `SMAppService`, systemd user units, Flatpak portal |
+| GraalVM Runtime | `dev.nucleusframework:nucleus.graalvm-runtime` | GraalVM native-image bootstrap + font substitutions (includes linux-hidpi) |
```kotlin
dependencies {
// Pick what you need:
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
- implementation("io.github.kdroidfilter:nucleus.notification-macos:")
- implementation("io.github.kdroidfilter:nucleus.notification-windows:")
- implementation("io.github.kdroidfilter:nucleus.launcher-windows:")
- implementation("io.github.kdroidfilter:nucleus.notification-linux:")
- implementation("io.github.kdroidfilter:nucleus.launcher-linux:")
- implementation("io.github.kdroidfilter:nucleus.launcher-macos:")
- implementation("io.github.kdroidfilter:nucleus.media-control:")
- implementation("io.github.kdroidfilter:nucleus.menu-macos:")
- implementation("io.github.kdroidfilter:nucleus.sf-symbols:")
- implementation("io.github.kdroidfilter:nucleus.freedesktop-icons:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jewel:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material2:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material3:")
- implementation("io.github.kdroidfilter:nucleus.darkmode-detector:")
- implementation("io.github.kdroidfilter:nucleus.system-color:")
- implementation("io.github.kdroidfilter:nucleus.energy-manager:")
- implementation("io.github.kdroidfilter:nucleus.native-ssl:")
- implementation("io.github.kdroidfilter:nucleus.native-http:")
- implementation("io.github.kdroidfilter:nucleus.native-http-okhttp:")
- implementation("io.github.kdroidfilter:nucleus.native-http-ktor:")
- implementation("io.github.kdroidfilter:nucleus.linux-hidpi:")
- implementation("io.github.kdroidfilter:nucleus.scheduler:")
- implementation("io.github.kdroidfilter:nucleus.service-management-macos:")
- implementation("io.github.kdroidfilter:nucleus.autolaunch:")
- implementation("io.github.kdroidfilter:nucleus.graalvm-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:")
+ implementation("dev.nucleusframework:nucleus.notification-macos:")
+ implementation("dev.nucleusframework:nucleus.notification-windows:")
+ implementation("dev.nucleusframework:nucleus.launcher-windows:")
+ implementation("dev.nucleusframework:nucleus.notification-linux:")
+ implementation("dev.nucleusframework:nucleus.launcher-linux:")
+ implementation("dev.nucleusframework:nucleus.launcher-macos:")
+ implementation("dev.nucleusframework:nucleus.media-control:")
+ implementation("dev.nucleusframework:nucleus.menu-macos:")
+ implementation("dev.nucleusframework:nucleus.sf-symbols:")
+ implementation("dev.nucleusframework:nucleus.freedesktop-icons:")
+ implementation("dev.nucleusframework:nucleus.decorated-window:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-jewel:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-material2:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-material3:")
+ implementation("dev.nucleusframework:nucleus.darkmode-detector:")
+ implementation("dev.nucleusframework:nucleus.system-color:")
+ implementation("dev.nucleusframework:nucleus.energy-manager:")
+ implementation("dev.nucleusframework:nucleus.native-ssl:")
+ implementation("dev.nucleusframework:nucleus.native-http:")
+ implementation("dev.nucleusframework:nucleus.native-http-okhttp:")
+ implementation("dev.nucleusframework:nucleus.native-http-ktor:")
+ implementation("dev.nucleusframework:nucleus.linux-hidpi:")
+ implementation("dev.nucleusframework:nucleus.scheduler:")
+ implementation("dev.nucleusframework:nucleus.service-management-macos:")
+ implementation("dev.nucleusframework:nucleus.autolaunch:")
+ implementation("dev.nucleusframework:nucleus.graalvm-runtime:")
}
```
@@ -4789,36 +4789,36 @@ When using a custom `configurationFiles`, add the following rules to your file t
```proguard
# Nucleus decorated-window JNI (macOS)
--keep class io.github.kdroidfilter.nucleus.window.utils.macos.NativeMacBridge {
+-keep class dev.nucleusframework.nucleus.window.utils.macos.NativeMacBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.window.** { *; }
+-keep class dev.nucleusframework.nucleus.window.** { *; }
# Nucleus darkmode-detector JNI (macOS)
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.mac.NativeDarkModeBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.mac.NativeDarkModeBridge {
native ;
static void onThemeChanged(boolean);
}
# Nucleus darkmode-detector JNI (Linux)
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.linux.NativeLinuxBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.linux.NativeLinuxBridge {
native ;
static void onThemeChanged(boolean);
}
# Nucleus darkmode-detector JNI (Windows)
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.windows.NativeWindowsBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.windows.NativeWindowsBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.** { *; }
+-keep class dev.nucleusframework.nucleus.darkmodedetector.** { *; }
# Nucleus native-ssl JNI (macOS)
--keep class io.github.kdroidfilter.nucleus.nativessl.mac.NativeSslBridge {
+-keep class dev.nucleusframework.nucleus.nativessl.mac.NativeSslBridge {
native ;
}
# Nucleus native-ssl JNI (Windows)
--keep class io.github.kdroidfilter.nucleus.nativessl.windows.WindowsSslBridge {
+-keep class dev.nucleusframework.nucleus.nativessl.windows.WindowsSslBridge {
native ;
}
```
@@ -4837,14 +4837,14 @@ Access application metadata injected by the Nucleus Gradle plugin at runtime.
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
}
```
## Usage
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.NucleusApp
+import dev.nucleusframework.nucleus.core.runtime.NucleusApp
// Application identifier (matches packageName in the Nucleus DSL)
val appId: String = NucleusApp.appId
@@ -4949,13 +4949,13 @@ Detect at runtime which installer format was used to package your application.
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
}
```
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableRuntime
-import io.github.kdroidfilter.nucleus.core.runtime.ExecutableType
+import dev.nucleusframework.nucleus.core.runtime.ExecutableRuntime
+import dev.nucleusframework.nucleus.core.runtime.ExecutableType
```
## Usage
@@ -5036,12 +5036,12 @@ Enforce that only one instance of your application runs at a time.
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
}
```
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.SingleInstanceManager
+import dev.nucleusframework.nucleus.core.runtime.SingleInstanceManager
```
`SingleInstanceManager` is a Kotlin `object` (singleton). It uses file-based locking to ensure single-instance behavior across platforms.
@@ -5130,12 +5130,12 @@ Handle custom URL protocol links (`myapp://action?param=value`).
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
}
```
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.DeepLinkHandler
+import dev.nucleusframework.nucleus.core.runtime.DeepLinkHandler
```
`DeepLinkHandler` is a Kotlin `object` (singleton).
@@ -5311,10 +5311,10 @@ Choose one implementation:
```kotlin
dependencies {
// Option 1: JBR-based (requires JetBrains Runtime)
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jbr:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-jbr:")
// Option 2: JNI-based (works on any JVM)
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jni:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-jni:")
}
```
@@ -5323,9 +5323,9 @@ dependencies {
```kotlin
dependencies {
// Optional — pick one depending on your design system
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jewel:") // Jewel (IntelliJ)
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material2:") // Material 2
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material3:") // Material 3
+ implementation("dev.nucleusframework:nucleus.decorated-window-jewel:") // Jewel (IntelliJ)
+ implementation("dev.nucleusframework:nucleus.decorated-window-material2:") // Material 2
+ implementation("dev.nucleusframework:nucleus.decorated-window-material3:") // Material 3
}
```
@@ -5835,22 +5835,22 @@ Both modules use JNI on macOS. When ProGuard is enabled, the native bridge class
```proguard
# Nucleus decorated-window-jbr JNI
--keep class io.github.kdroidfilter.nucleus.window.utils.macos.NativeMacBridge {
+-keep class dev.nucleusframework.nucleus.window.utils.macos.NativeMacBridge {
native ;
}
# Nucleus decorated-window-jni JNI (all platforms)
--keep class io.github.kdroidfilter.nucleus.window.utils.macos.JniMacTitleBarBridge {
+-keep class dev.nucleusframework.nucleus.window.utils.macos.JniMacTitleBarBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.window.utils.windows.JniWindowsDecorationBridge {
+-keep class dev.nucleusframework.nucleus.window.utils.windows.JniWindowsDecorationBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.window.utils.linux.JniLinuxWindowBridge {
+-keep class dev.nucleusframework.nucleus.window.utils.linux.JniLinuxWindowBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.window.** { *; }
+-keep class dev.nucleusframework.nucleus.window.** { *; }
```
## RTL (Right-to-Left) Layout Support
@@ -5939,12 +5939,12 @@ Add `nucleus-application` plus **exactly one** decorated-window backend:
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.nucleus-application:")
+ implementation("dev.nucleusframework:nucleus.nucleus-application:")
// Pick exactly one backend:
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jni:") // any JVM (recommended)
- // implementation("io.github.kdroidfilter:nucleus.decorated-window-jbr:") // JBR-only
- // implementation("io.github.kdroidfilter:nucleus.decorated-window-tao:") // no-AWT, GraalVM-friendly
+ implementation("dev.nucleusframework:nucleus.decorated-window-jni:") // any JVM (recommended)
+ // implementation("dev.nucleusframework:nucleus.decorated-window-jbr:") // JBR-only
+ // implementation("dev.nucleusframework:nucleus.decorated-window-tao:") // no-AWT, GraalVM-friendly
}
```
@@ -6142,7 +6142,7 @@ Migrating an existing AWT-only app (jbr or jni) is a two-line change for the ent
```diff
- import androidx.compose.ui.window.application
-+ import io.github.kdroidfilter.nucleus.application.nucleusApplication
++ import dev.nucleusframework.nucleus.application.nucleusApplication
```
```diff
@@ -6271,13 +6271,13 @@ If none of these apply, stick with `decorated-window-jni` — it is the more bat
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.decorated-window-tao:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-tao:")
// Optional but recommended — unified entry point that works with all three backends:
- implementation("io.github.kdroidfilter:nucleus.nucleus-application:")
+ implementation("dev.nucleusframework:nucleus.nucleus-application:")
// GraalVM bootstrap (required for native-image builds):
- implementation("io.github.kdroidfilter:nucleus.graalvm-runtime:")
+ implementation("dev.nucleusframework:nucleus.graalvm-runtime:")
}
```
@@ -6598,7 +6598,7 @@ The `decorated-window-jewel` module provides Jewel (IntelliJ theme) wrappers aro
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jewel:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-jewel:")
// Transitive: nucleus.decorated-window is pulled in via `api`
}
```
@@ -6750,7 +6750,7 @@ The `decorated-window-material2` module provides Material 2 wrappers around the
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material2:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-material2:")
// Transitive: nucleus.decorated-window is pulled in via `api`
}
```
@@ -6895,7 +6895,7 @@ The `decorated-window-material3` module provides Material 3 wrappers around the
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material3:")
+ implementation("dev.nucleusframework:nucleus.decorated-window-material3:")
// Transitive: nucleus.decorated-window is pulled in via `api`
}
```
@@ -7068,7 +7068,7 @@ When the user toggles dark mode in their OS settings, `isSystemInDarkMode()` rec
# System Tray
-**Separate repository:** System Tray is maintained in its own repository with its own release cycle: [**kdroidFilter/ComposeNativeTray**](https://github.com/kdroidFilter/ComposeNativeTray). The artifact is `io.github.kdroidfilter:composenativetray`.
+**Separate repository:** System Tray is maintained in its own repository with its own release cycle: [**kdroidFilter/ComposeNativeTray**](https://github.com/kdroidFilter/ComposeNativeTray). The artifact is `dev.nucleusframework:composenativetray`.
**ComposeNativeTray** is not a library. It is a **complete framework for building system tray applications** with Compose Desktop — the most expressive and the most powerful way to own the system tray on macOS, Windows, and Linux.
Traditionally, building a tray application meant juggling platform-specific icon formats, managing menu state by hand, and hoping the result didn't look broken on half your users' machines. ComposeNativeTray erases all of that. Your tray icon is **drawn by Compose** — the same toolkit that renders your UI. Any `@Composable` becomes a tray icon: an `ImageVector`, a `Painter`, a resource, or a fully custom composable with gradients, badges, and animations. One icon definition. Every platform. Every DPI. Pixel-perfect.
@@ -7123,7 +7123,7 @@ Change `isDarkMode` and the icon switches, the checkmark toggles, the label upda
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:composenativetray:")
+ implementation("dev.nucleusframework:composenativetray:")
}
```
@@ -7540,7 +7540,7 @@ Cross-platform notification abstraction that unifies Linux, Windows, and macOS n
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.notification-common:")
+ implementation("dev.nucleusframework:nucleus.notification-common:")
}
```
@@ -7549,7 +7549,7 @@ This single dependency pulls in all three platform modules (Linux, Windows, macO
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.notification.common.*
+import dev.nucleusframework.nucleus.notification.common.*
// Build a notification
val n = notification(
@@ -7567,7 +7567,7 @@ n.send()
## Full Example
```kotlin
-import io.github.kdroidfilter.nucleus.notification.common.*
+import dev.nucleusframework.nucleus.notification.common.*
val myNotification = notification(
title = "New Message from Alice",
@@ -7803,7 +7803,7 @@ Complete Kotlin mapping of Apple's [UserNotifications](https://developer.apple.c
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.notification-macos:")
+ implementation("dev.nucleusframework:nucleus.notification-macos:")
}
```
@@ -7812,7 +7812,7 @@ Depends on `core-runtime` for `NativeLibraryLoader` and `ExecutableRuntime` (pul
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.notification.*
+import dev.nucleusframework.nucleus.notification.*
// 1. Request authorization
NotificationCenter.requestAuthorization(
@@ -8296,7 +8296,7 @@ Ships pre-built macOS dylibs (arm64 + x86_64). No Windows or Linux native — `i
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.notification.macos.NativeMacNotificationBridge {
+-keep class dev.nucleusframework.nucleus.notification.macos.NativeMacNotificationBridge {
native ;
static ** on*(...);
}
@@ -8304,7 +8304,7 @@ Ships pre-built macOS dylibs (arm64 + x86_64). No Windows or Linux native — `i
## GraalVM
-Reachability metadata is included in the JAR at `META-INF/native-image/io.github.kdroidfilter/nucleus.notification-macos/reachability-metadata.json`. No additional configuration needed.
+Reachability metadata is included in the JAR at `META-INF/native-image/dev.nucleusframework/nucleus.notification-macos/reachability-metadata.json`. No additional configuration needed.
---
@@ -8317,7 +8317,7 @@ Complete Kotlin mapping of the [Windows Toast Notifications API](https://learn.m
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.notification-windows:")
+ implementation("dev.nucleusframework:nucleus.notification-windows:")
}
```
@@ -8326,7 +8326,7 @@ Depends on `core-runtime` for `NativeLibraryLoader`, `ExecutableRuntime`, and `N
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.notification.windows.*
+import dev.nucleusframework.nucleus.notification.windows.*
// 1. Initialize (auto-detects APPX vs unpackaged)
WindowsNotificationCenter.initialize()
@@ -8636,7 +8636,7 @@ Ships pre-built Windows DLLs (x64 + ARM64). No macOS or Linux native — `isAvai
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.notification.windows.NativeWindowsNotificationBridge {
+-keep class dev.nucleusframework.nucleus.notification.windows.NativeWindowsNotificationBridge {
native ;
static ** on*(...);
}
@@ -8644,7 +8644,7 @@ Ships pre-built Windows DLLs (x64 + ARM64). No macOS or Linux native — `isAvai
## GraalVM
-Reachability metadata is included in the JAR at `META-INF/native-image/io.github.kdroidfilter/nucleus.notification-windows/reachability-metadata.json`. No additional configuration needed.
+Reachability metadata is included in the JAR at `META-INF/native-image/dev.nucleusframework/nucleus.notification-windows/reachability-metadata.json`. No additional configuration needed.
---
@@ -8657,7 +8657,7 @@ Complete Kotlin mapping of the [freedesktop Desktop Notifications Specification]
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.notification-linux:")
+ implementation("dev.nucleusframework:nucleus.notification-linux:")
}
```
@@ -8666,7 +8666,7 @@ Depends on `core-runtime` for `NativeLibraryLoader` and `freedesktop-icons` for
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.notification.linux.*
+import dev.nucleusframework.nucleus.notification.linux.*
// Send a simple notification with typesafe icon and sound
val id = LinuxNotificationCenter.notify(
@@ -8864,7 +8864,7 @@ Received in `LinuxNotificationListener.onClosed`.
Icons are typesafe via the `FreedesktopIcon` sealed interface from the shared [`freedesktop-icons`](freedesktop-icons.md) module. All 338 standard names from the [freedesktop Icon Naming Specification](https://specifications.freedesktop.org/icon-naming/latest/) are available as enum constants.
```kotlin
-import io.github.kdroidfilter.nucleus.freedesktop.icons.FreedesktopIcon
+import dev.nucleusframework.nucleus.freedesktop.icons.FreedesktopIcon
FreedesktopIcon.Status.DIALOG_INFORMATION
FreedesktopIcon.Device.PRINTER
@@ -9097,7 +9097,7 @@ Ships pre-built Linux shared libraries (x86_64 + aarch64). No macOS or Windows n
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.notification.linux.NativeLinuxNotificationBridge {
+-keep class dev.nucleusframework.nucleus.notification.linux.NativeLinuxNotificationBridge {
native ;
static ** on*(...);
}
@@ -9110,7 +9110,7 @@ JNI reflection metadata must include the bridge class:
```json
[
{
- "type": "io.github.kdroidfilter.nucleus.notification.linux.NativeLinuxNotificationBridge",
+ "type": "dev.nucleusframework.nucleus.notification.linux.NativeLinuxNotificationBridge",
"methods": [
{ "name": "onNotificationClosed", "parameterTypes": ["int", "int"] },
{ "name": "onActionInvoked", "parameterTypes": ["int", "java.lang.String"] },
@@ -9131,7 +9131,7 @@ macOS dock context menu integration via JNI. Add custom items, submenus, separat
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.launcher-macos:")
+ implementation("dev.nucleusframework:nucleus.launcher-macos:")
}
```
@@ -9140,7 +9140,7 @@ Depends on `core-runtime` for `NativeLibraryLoader` (pulled in transitively).
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.macos.*
+import dev.nucleusframework.nucleus.launcher.macos.*
// Listen for clicks
MacOsDockMenu.listener = DockMenuListener { itemId ->
@@ -9229,7 +9229,7 @@ DockMenuItem.separator(id = 3)
## Full Example
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.macos.*
+import dev.nucleusframework.nucleus.launcher.macos.*
// Set up a dock menu with submenus and callbacks
MacOsDockMenu.listener = DockMenuListener { itemId ->
@@ -9285,7 +9285,7 @@ Ships pre-built macOS dylibs (arm64 + x86_64). `isAvailable` returns `false` on
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.launcher.macos.NativeMacOsDockMenuBridge {
+-keep class dev.nucleusframework.nucleus.launcher.macos.NativeMacOsDockMenuBridge {
native ;
static ** on*(...);
}
@@ -9298,7 +9298,7 @@ JNI reflection metadata must include the bridge class:
```json
[
{
- "type": "io.github.kdroidfilter.nucleus.launcher.macos.NativeMacOsDockMenuBridge",
+ "type": "dev.nucleusframework.nucleus.launcher.macos.NativeMacOsDockMenuBridge",
"methods": [
{ "name": "onMenuItemClicked", "parameterTypes": ["int"] }
]
@@ -9316,7 +9316,7 @@ Windows Launcher API via JNI — badge notifications, jump lists, overlay icons,
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.launcher-windows:")
+ implementation("dev.nucleusframework:nucleus.launcher-windows:")
}
```
@@ -9345,8 +9345,8 @@ This module provides four Windows launcher APIs:
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.windows.BadgeGlyph
-import io.github.kdroidfilter.nucleus.launcher.windows.WindowsBadgeManager
+import dev.nucleusframework.nucleus.launcher.windows.BadgeGlyph
+import dev.nucleusframework.nucleus.launcher.windows.WindowsBadgeManager
// Initialize once at app startup
if (WindowsBadgeManager.isAvailable) {
@@ -9408,9 +9408,9 @@ Small 16×16 status icons displayed over the app's taskbar button. Works with al
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.windows.StockIcon
-import io.github.kdroidfilter.nucleus.launcher.windows.TaskbarIconSource
-import io.github.kdroidfilter.nucleus.launcher.windows.WindowsOverlayIcon
+import dev.nucleusframework.nucleus.launcher.windows.StockIcon
+import dev.nucleusframework.nucleus.launcher.windows.TaskbarIconSource
+import dev.nucleusframework.nucleus.launcher.windows.WindowsOverlayIcon
// Set a stock icon overlay
WindowsOverlayIcon.setIcon(
@@ -9450,10 +9450,10 @@ Up to 7 clickable buttons displayed in the taskbar thumbnail preview (visible wh
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.windows.StockIcon
-import io.github.kdroidfilter.nucleus.launcher.windows.TaskbarIconSource
-import io.github.kdroidfilter.nucleus.launcher.windows.ThumbnailToolbarButton
-import io.github.kdroidfilter.nucleus.launcher.windows.WindowsThumbnailToolbar
+import dev.nucleusframework.nucleus.launcher.windows.StockIcon
+import dev.nucleusframework.nucleus.launcher.windows.TaskbarIconSource
+import dev.nucleusframework.nucleus.launcher.windows.ThumbnailToolbarButton
+import dev.nucleusframework.nucleus.launcher.windows.WindowsThumbnailToolbar
// Register buttons (once per window)
WindowsThumbnailToolbar.setButtons(
@@ -9531,11 +9531,11 @@ Jump lists appear when the user right-clicks the app's taskbar button. They supp
### Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.windows.JumpListCategory
-import io.github.kdroidfilter.nucleus.launcher.windows.JumpListItem
-import io.github.kdroidfilter.nucleus.launcher.windows.StockIcon
-import io.github.kdroidfilter.nucleus.launcher.windows.TaskbarIconSource
-import io.github.kdroidfilter.nucleus.launcher.windows.WindowsJumpListManager
+import dev.nucleusframework.nucleus.launcher.windows.JumpListCategory
+import dev.nucleusframework.nucleus.launcher.windows.JumpListItem
+import dev.nucleusframework.nucleus.launcher.windows.StockIcon
+import dev.nucleusframework.nucleus.launcher.windows.TaskbarIconSource
+import dev.nucleusframework.nucleus.launcher.windows.WindowsJumpListManager
// Set a jump list with categories and tasks
WindowsJumpListManager.setJumpList(
@@ -9782,7 +9782,7 @@ Complete Kotlin mapping of the [Unity Launcher API](https://wiki.ubuntu.com/Unit
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.launcher-linux:")
+ implementation("dev.nucleusframework:nucleus.launcher-linux:")
}
```
@@ -9793,7 +9793,7 @@ Depends on `core-runtime` for `NativeLibraryLoader` and `freedesktop-icons` for
### Launcher Entry (Badge, Progress, Urgency)
```kotlin
-import io.github.kdroidfilter.nucleus.launcher.linux.*
+import dev.nucleusframework.nucleus.launcher.linux.*
val appUri = LinuxLauncherEntry.appUri("myapp.desktop")
@@ -9821,8 +9821,8 @@ LinuxLauncherEntry.update(appUri, LauncherProperties(
### Dynamic Quicklist (Right-Click Menu)
```kotlin
-import io.github.kdroidfilter.nucleus.freedesktop.icons.FreedesktopIcon
-import io.github.kdroidfilter.nucleus.launcher.linux.*
+import dev.nucleusframework.nucleus.freedesktop.icons.FreedesktopIcon
+import dev.nucleusframework.nucleus.launcher.linux.*
val quicklist = LinuxQuicklist("/com/example/MyApp/Menu")
@@ -10005,7 +10005,7 @@ Ships pre-built Linux shared libraries (x86_64 + aarch64). `isAvailable` returns
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.launcher.linux.NativeLinuxLauncherBridge {
+-keep class dev.nucleusframework.nucleus.launcher.linux.NativeLinuxLauncherBridge {
native ;
static ** on*(...);
}
@@ -10018,7 +10018,7 @@ JNI reflection metadata must include the bridge class:
```json
[
{
- "type": "io.github.kdroidfilter.nucleus.launcher.linux.NativeLinuxLauncherBridge",
+ "type": "dev.nucleusframework.nucleus.launcher.linux.NativeLinuxLauncherBridge",
"methods": [
{ "name": "onMenuItemEvent", "parameterTypes": ["java.lang.String", "int"] }
]
@@ -10042,7 +10042,7 @@ OS-level media controls (play/pause, next/previous, seek, metadata) for your des
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.media-control:")
+ implementation("dev.nucleusframework:nucleus.media-control:")
}
```
@@ -10051,7 +10051,7 @@ Depends on `core-runtime` (for `NativeLibraryLoader` and `NucleusApp`) and `kotl
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.media.control.*
+import dev.nucleusframework.nucleus.media.control.*
if (MediaControlService.isAvailable()) {
// 1. Configure once — typically at app startup
@@ -10307,15 +10307,15 @@ Each JVM hosts a single long-lived background worker: on Linux a dedicated threa
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.media.control.linux.NativeLinuxBridge {
+-keep class dev.nucleusframework.nucleus.media.control.linux.NativeLinuxBridge {
native ;
static ** on*(...);
}
--keep class io.github.kdroidfilter.nucleus.media.control.macos.NativeMacOsBridge {
+-keep class dev.nucleusframework.nucleus.media.control.macos.NativeMacOsBridge {
native ;
static ** on*(...);
}
--keep class io.github.kdroidfilter.nucleus.media.control.windows.NativeWindowsBridge {
+-keep class dev.nucleusframework.nucleus.media.control.windows.NativeWindowsBridge {
native ;
static ** on*(...);
}
@@ -10337,7 +10337,7 @@ The `darkmode-detector` module solves this by providing a **reactive** `isSystem
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.darkmode-detector:")
+ implementation("dev.nucleusframework:nucleus.darkmode-detector:")
}
```
@@ -10388,23 +10388,23 @@ The `darkmode-detector` module uses JNI native libraries on all platforms. When
```proguard
# macOS — NativeDarkModeBridge is looked up by name from native code
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.mac.NativeDarkModeBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.mac.NativeDarkModeBridge {
native ;
static void onThemeChanged(boolean);
}
# Linux — NativeLinuxBridge is looked up by name from native code
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.linux.NativeLinuxBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.linux.NativeLinuxBridge {
native ;
static void onThemeChanged(boolean);
}
# Windows
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.windows.NativeWindowsBridge {
+-keep class dev.nucleusframework.nucleus.darkmodedetector.windows.NativeWindowsBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.darkmodedetector.** { *; }
+-keep class dev.nucleusframework.nucleus.darkmodedetector.** { *; }
```
## Compose Preview
@@ -10416,7 +10416,7 @@ In Compose preview mode (`LocalInspectionMode`), the function falls back to the
Debug and error messages are logged under the tags `MacOSThemeDetector`, `WindowsThemeDetector`, and `LinuxPortalThemeDetector`. Logging is off by default. To enable it, set the global flag from `core-runtime`:
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
+import dev.nucleusframework.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
allowNucleusRuntimeLogging = true
```
@@ -10431,7 +10431,7 @@ The `system-color` module provides **reactive** detection of the OS accent color
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.system-color:")
+ implementation("dev.nucleusframework:nucleus.system-color:")
}
```
@@ -10490,7 +10490,7 @@ Android's [Material You](https://m3.material.io/styles/color/dynamic/choosing-a-
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.system-color:")
+ implementation("dev.nucleusframework:nucleus.system-color:")
implementation("com.materialkolor:material-kolor:4.1.1")
}
```
@@ -10566,7 +10566,7 @@ When ProGuard is enabled, the native bridge classes must be preserved. The Nucle
```proguard
# macOS
--keep class io.github.kdroidfilter.nucleus.systemcolor.mac.NativeMacSystemColorBridge {
+-keep class dev.nucleusframework.nucleus.systemcolor.mac.NativeMacSystemColorBridge {
native ;
static void onAccentColorChanged(float, float, float);
static void onAccentColorCleared();
@@ -10574,20 +10574,20 @@ When ProGuard is enabled, the native bridge classes must be preserved. The Nucle
}
# Windows
--keep class io.github.kdroidfilter.nucleus.systemcolor.windows.NativeWindowsSystemColorBridge {
+-keep class dev.nucleusframework.nucleus.systemcolor.windows.NativeWindowsSystemColorBridge {
native ;
static void onAccentColorChanged(int, int, int);
static void onHighContrastChanged(boolean);
}
# Linux
--keep class io.github.kdroidfilter.nucleus.systemcolor.linux.NativeLinuxSystemColorBridge {
+-keep class dev.nucleusframework.nucleus.systemcolor.linux.NativeLinuxSystemColorBridge {
native ;
static void onAccentColorChanged(float, float, float);
static void onHighContrastChanged(boolean);
}
--keep class io.github.kdroidfilter.nucleus.systemcolor.** { *; }
+-keep class dev.nucleusframework.nucleus.systemcolor.** { *; }
```
## Logging
@@ -10595,7 +10595,7 @@ When ProGuard is enabled, the native bridge classes must be preserved. The Nucle
Debug messages are logged under the tags `MacSystemColorDetector`, `WindowsSystemColor`, and `LinuxSystemColorDetector`. Logging is off by default. To enable it:
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
+import dev.nucleusframework.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
allowNucleusRuntimeLogging = true
```
@@ -10610,14 +10610,14 @@ The `system-info` module provides cross-platform system information gathering fo
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.system-info:")
+ implementation("dev.nucleusframework:nucleus.system-info:")
}
```
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.systeminfo.SystemInfo
+import dev.nucleusframework.nucleus.systeminfo.SystemInfo
fun main() {
val os = SystemInfo.osInfo()
@@ -11016,7 +11016,7 @@ On Linux, the library links only against `libdl` and `libm`. NVML (`libnvidia-ml
When ProGuard is enabled, preserve the native bridge classes:
```proguard
--keep class io.github.kdroidfilter.nucleus.systeminfo.** { *; }
+-keep class dev.nucleusframework.nucleus.systeminfo.** { *; }
```
---
@@ -11041,7 +11041,7 @@ The `energy-manager` module provides two capabilities for Compose Desktop applic
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.energy-manager:")
+ implementation("dev.nucleusframework:nucleus.energy-manager:")
}
```
@@ -11064,7 +11064,7 @@ The module provides two levels of process-level efficiency:
### Recommended: light mode on focus loss, full mode on minimize
```kotlin
-import io.github.kdroidfilter.nucleus.energymanager.EnergyManager
+import dev.nucleusframework.nucleus.energymanager.EnergyManager
import java.awt.event.WindowEvent
import java.awt.event.WindowFocusListener
@@ -11300,7 +11300,7 @@ The module ships pre-built native binaries for:
When ProGuard is enabled, preserve the native bridge classes:
```proguard
--keep class io.github.kdroidfilter.nucleus.energymanager.** { *; }
+-keep class dev.nucleusframework.nucleus.energymanager.** { *; }
```
---
@@ -11319,7 +11319,7 @@ This module was originally designed for running Compose Desktop applications com
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.linux-hidpi:")
+ implementation("dev.nucleusframework:nucleus.linux-hidpi:")
}
```
@@ -11328,7 +11328,7 @@ dependencies {
Call `getLinuxNativeScaleFactor()` **before** `application {}` (i.e. before AWT initialises):
```kotlin
-import io.github.kdroidfilter.nucleus.hidpi.getLinuxNativeScaleFactor
+import dev.nucleusframework.nucleus.hidpi.getLinuxNativeScaleFactor
fun main() {
if (System.getProperty("sun.java2d.uiScale") == null) {
@@ -11374,7 +11374,7 @@ The native code uses `dlopen` to load optional dependencies (libgio for GSetting
When ProGuard is enabled, preserve the JNI bridge class:
```proguard
--keep class io.github.kdroidfilter.nucleus.hidpi.HiDpiLinuxBridge {
+-keep class dev.nucleusframework.nucleus.hidpi.HiDpiLinuxBridge {
native ;
}
```
@@ -11389,7 +11389,7 @@ Native taskbar/dock progress bar and attention requests on Windows, macOS, and L
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:")
}
```
@@ -11398,7 +11398,7 @@ dependencies {
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.taskbarprogress.TaskbarProgress
+import dev.nucleusframework.nucleus.taskbarprogress.TaskbarProgress
import java.awt.Window
// Show a progress bar at 75%
@@ -11526,15 +11526,15 @@ System-wide keyboard shortcuts that fire even when the application does not have
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.global-hotkey:")
+ implementation("dev.nucleusframework:nucleus.global-hotkey:")
}
```
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.globalhotkey.GlobalHotKeyManager
-import io.github.kdroidfilter.nucleus.globalhotkey.HotKeyModifier
+import dev.nucleusframework.nucleus.globalhotkey.GlobalHotKeyManager
+import dev.nucleusframework.nucleus.globalhotkey.HotKeyModifier
import java.awt.event.KeyEvent
GlobalHotKeyManager.initialize()
@@ -11725,7 +11725,7 @@ Uses the `org.freedesktop.portal.GlobalShortcuts` XDG Desktop Portal via GIO/GDB
**Requirements:**
-- The application must have a valid `.desktop` file with a reverse-DNS name (e.g., `io.github.kdroidfilter.MyApp.desktop`)
+- The application must have a valid `.desktop` file with a reverse-DNS name (e.g., `dev.nucleusframework.MyApp.desktop`)
- The application must be launched from that `.desktop` file (or have `GIO_LAUNCHED_DESKTOP_FILE` set)
- GNOME validates the `app_id` against `g_application_id_is_valid` — a plain name like `MyApp` will be rejected
@@ -11737,13 +11737,13 @@ Uses the `org.freedesktop.portal.GlobalShortcuts` XDG Desktop Portal via GIO/GDB
nucleus.application {
nativeDistributions {
appName = "MyApp" // human-readable display name
- packageName = "io.github.kdroidfilter.MyApp" // becomes io.github.kdroidfilter.MyApp.desktop
+ packageName = "dev.nucleusframework.MyApp" // becomes dev.nucleusframework.MyApp.desktop
}
}
```
**`appName` is required:** Without `appName`, the application title shown in GNOME Shell and window decorations
-will fall back to the full `packageName` (`io.github.kdroidfilter.MyApp`).
+will fall back to the full `packageName` (`dev.nucleusframework.MyApp`).
Always set both: `packageName` for the reverse-DNS identity, `appName` for the display name.
**Step 2 — Launch from the `.desktop` file:**
@@ -11752,7 +11752,7 @@ The portal uses `GIO_LAUNCHED_DESKTOP_FILE` (set automatically by the desktop en
For development, you can set it manually:
```bash
-GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/io.github.kdroidfilter.MyApp.desktop \
+GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/dev.nucleusframework.MyApp.desktop \
GIO_LAUNCHED_DESKTOP_FILE_PID=$$ \
./my-app
```
@@ -11777,9 +11777,9 @@ The portal backend uses a dedicated GLib thread permanently attached to the JVM.
If you use ProGuard/R8, keep the JNI bridge classes:
```proguard
--keep class io.github.kdroidfilter.nucleus.globalhotkey.windows.NativeWindowsHotKeyBridge { *; }
--keep class io.github.kdroidfilter.nucleus.globalhotkey.macos.NativeMacOsHotKeyBridge { *; }
--keep class io.github.kdroidfilter.nucleus.globalhotkey.linux.NativeLinuxHotKeyBridge { *; }
+-keep class dev.nucleusframework.nucleus.globalhotkey.windows.NativeWindowsHotKeyBridge { *; }
+-keep class dev.nucleusframework.nucleus.globalhotkey.macos.NativeMacOsHotKeyBridge { *; }
+-keep class dev.nucleusframework.nucleus.globalhotkey.linux.NativeLinuxHotKeyBridge { *; }
```
---
@@ -11792,17 +11792,17 @@ Declarative, Compose-reactive macOS application menu bar via JNI. Build a fully
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.menu-macos:")
+ implementation("dev.nucleusframework:nucleus.menu-macos:")
}
```
-Pulls in `core-runtime`, `compose.desktop.common`, and `sf-symbols` transitively. Consumers can use type-safe SF Symbol constants via `io.github.kdroidfilter.nucleus.sfsymbols.*` without declaring `sf-symbols` explicitly.
+Pulls in `core-runtime`, `compose.desktop.common`, and `sf-symbols` transitively. Consumers can use type-safe SF Symbol constants via `dev.nucleusframework.nucleus.sfsymbols.*` without declaring `sf-symbols` explicitly.
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.menu.macos.*
-import io.github.kdroidfilter.nucleus.sfsymbols.*
+import dev.nucleusframework.nucleus.menu.macos.*
+import dev.nucleusframework.nucleus.sfsymbols.*
@Composable
fun App() {
@@ -11934,7 +11934,7 @@ Available constants: `NativeKey.Escape`, `Return`, `Tab`, `Delete`, `Backspace`,
With the `sf-symbols` module (type-safe):
```kotlin
-import io.github.kdroidfilter.nucleus.sfsymbols.*
+import dev.nucleusframework.nucleus.sfsymbols.*
Item("Cut", icon = NsMenuItemImage.SystemSymbol(SFSymbolObjectsAndTools.SCISSORS)) { }
Item("Inbox", icon = NsMenuItemImage.SystemSymbol(SFSymbolGeneral.TRAY_FILL)) { }
@@ -12105,7 +12105,7 @@ Menu("App Services") { Item("Custom") { } } // ✗ fully yours
## Full Example
```kotlin
-import io.github.kdroidfilter.nucleus.sfsymbols.*
+import dev.nucleusframework.nucleus.sfsymbols.*
@Composable
fun App() {
@@ -12252,7 +12252,7 @@ Ships pre-built macOS dylibs (arm64 + x86_64). `NativeMenuBar` is a no-op on non
## ProGuard
```proguard
--keep class io.github.kdroidfilter.nucleus.menu.macos.NativeNsMenuBridge {
+-keep class dev.nucleusframework.nucleus.menu.macos.NativeNsMenuBridge {
native ;
static ** on*(...);
}
@@ -12263,7 +12263,7 @@ Ships pre-built macOS dylibs (arm64 + x86_64). `NativeMenuBar` is a no-op on non
```json
[
{
- "type": "io.github.kdroidfilter.nucleus.menu.macos.NativeNsMenuBridge",
+ "type": "dev.nucleusframework.nucleus.menu.macos.NativeNsMenuBridge",
"methods": [
{ "name": "onMenuItemAction", "parameterTypes": ["long"] },
{ "name": "onMenuWillOpen", "parameterTypes": ["long"] },
@@ -12286,7 +12286,7 @@ Type-safe Kotlin constants for the [freedesktop Icon Naming Specification](https
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.freedesktop-icons:")
+ implementation("dev.nucleusframework:nucleus.freedesktop-icons:")
}
```
@@ -12294,7 +12294,7 @@ dependencies {
## Quick Start
```kotlin
-import io.github.kdroidfilter.nucleus.freedesktop.icons.FreedesktopIcon
+import dev.nucleusframework.nucleus.freedesktop.icons.FreedesktopIcon
// Standard icon from the spec (typesafe)
val icon = FreedesktopIcon.Status.DIALOG_INFORMATION
@@ -12344,8 +12344,8 @@ Icon names are **cross-desktop** — they are resolved from the active icon them
## Usage in Notifications
```kotlin
-import io.github.kdroidfilter.nucleus.freedesktop.icons.FreedesktopIcon
-import io.github.kdroidfilter.nucleus.notification.linux.*
+import dev.nucleusframework.nucleus.freedesktop.icons.FreedesktopIcon
+import dev.nucleusframework.nucleus.notification.linux.*
LinuxNotificationCenter.notify(
Notification(
@@ -12361,8 +12361,8 @@ LinuxNotificationCenter.notify(
## Usage in Launcher Quicklists
```kotlin
-import io.github.kdroidfilter.nucleus.freedesktop.icons.FreedesktopIcon
-import io.github.kdroidfilter.nucleus.launcher.linux.DbusmenuItem
+import dev.nucleusframework.nucleus.freedesktop.icons.FreedesktopIcon
+import dev.nucleusframework.nucleus.launcher.linux.DbusmenuItem
val items = listOf(
DbusmenuItem(id = 1, label = "New Window", icon = FreedesktopIcon.Action.WINDOW_NEW),
@@ -12395,7 +12395,7 @@ The `scheduler` module registers background tasks with the OS so they run even w
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.scheduler:")
+ implementation("dev.nucleusframework:nucleus.scheduler:")
}
```
@@ -12950,7 +12950,7 @@ Each task gets a single `.properties` file. The serialized input payload
#### macOS (launchd)
-Generates plist files in `~/Library/LaunchAgents/` with label `io.github.kdroidfilter.nucleus..`. Managed via a JNI bridge (`MacOSLaunchdSchedulerJni`) that uses Foundation and ServiceManagement APIs for plist writing, job status queries, and next-fire-time computation. Falls back to `launchctl` shell commands when the native library is unavailable.
+Generates plist files in `~/Library/LaunchAgents/` with label `dev.nucleusframework.nucleus..`. Managed via a JNI bridge (`MacOSLaunchdSchedulerJni`) that uses Foundation and ServiceManagement APIs for plist writing, job status queries, and next-fire-time computation. Falls back to `launchctl` shell commands when the native library is unavailable.
#### Linux (systemd)
@@ -12968,7 +12968,7 @@ Users uninstall apps without thinking about background scheduled tasks. Without
- **macOS** — **no automatic cleanup.** Unlike the Linux/Windows wrapper trick, the agent's `ProgramArguments` points directly at the application binary so the entry stays visible under its real name in System Settings → "Allow in the Background". The cost: when the user trashes the .app bundle, the orphaned `.plist` in `~/Library/LaunchAgents/` is **never** reclaimed by macOS, and launchd keeps attempting to spawn the missing binary forever — throttled by `ThrottleInterval` (10 s by default), logging `cannot spawn` to `system.log` on every attempt. SMAppService (macOS 13+) does not eliminate this either, and Apple ships no guidance for "graceful uninstall of a LaunchAgent" — the macOS ecosystem treats orphaned LaunchAgents as a known limitation that an explicit cleanup step has to handle. The mitigation Nucleus offers is **in-app**: call `DesktopTaskScheduler.cancelAll()` from your app's settings ("Disable background tasks") or from any in-app sign-out / reset flow — this unloads the agents and removes the plists cleanly while the binary is still around. If the user does a plain drag-to-trash without that step, the orphan leaks; the leftover plist then has to be removed manually:
```bash
- rm ~/Library/LaunchAgents/io.github.kdroidfilter.nucleus...plist
+ rm ~/Library/LaunchAgents/dev.nucleusframework.nucleus...plist
```
The failure mode in the meantime is the well-known throttled-log-spam — not a crash and not a security or correctness issue.
@@ -12981,7 +12981,7 @@ The `scheduler-testing` module provides two levels of test support, inspired by
```kotlin
dependencies {
- testImplementation("io.github.kdroidfilter:nucleus.scheduler-testing:")
+ testImplementation("dev.nucleusframework:nucleus.scheduler-testing:")
}
```
@@ -13179,7 +13179,7 @@ The workflow is: **declare agents in Gradle** → **plugin embeds plists in the
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.service-management-macos:")
+ implementation("dev.nucleusframework:nucleus.service-management-macos:")
}
```
@@ -13455,7 +13455,7 @@ MyApp.app/
When ProGuard is enabled, preserve the native bridge classes:
```proguard
--keep class io.github.kdroidfilter.nucleus.servicemanagement.** { *; }
+-keep class dev.nucleusframework.nucleus.servicemanagement.** { *; }
```
---
@@ -13481,14 +13481,14 @@ The runtime exposes a single unified API — consumers don't need to branch on p
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.autolaunch:")
+ implementation("dev.nucleusframework:nucleus.autolaunch:")
}
```
```kotlin
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunch
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchResult
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchState
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunch
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchResult
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchState
```
## Usage
@@ -13563,7 +13563,7 @@ nucleus.application {
windows {
appx {
applicationId = "NucleusDemo"
- publisherDisplayName = "KDroidFilter"
+ publisherDisplayName = "NucleusFramework"
displayName = "Nucleus Demo"
// 1. Inject into Package.appxmanifest
@@ -13644,7 +13644,7 @@ Nucleus picks the right backend automatically — nothing to configure:
All defaults fall back to `NucleusApp`. Override any of them **before** the first `AutoLaunch` call:
```kotlin
-import io.github.kdroidfilter.nucleus.autolaunch.AutoLaunchConfig
+import dev.nucleusframework.nucleus.autolaunch.AutoLaunchConfig
AutoLaunchConfig.taskId = "MyCustomMsixTaskId" // MSIX
AutoLaunchConfig.executablePath = "C:\\Program Files\\MyApp\\MyApp.exe" // Win32, Linux systemd (full path), Linux Flatpak (basename used)
@@ -13704,7 +13704,7 @@ The `native-ssl` module solves this by reading trusted certificates directly fro
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.native-ssl:")
+ implementation("dev.nucleusframework:nucleus.native-ssl:")
}
```
@@ -13713,7 +13713,7 @@ dependencies {
The entire API surface is the `NativeTrustManager` singleton. All properties are lazy and thread-safe.
```kotlin
-import io.github.kdroidfilter.nucleus.nativessl.NativeTrustManager
+import dev.nucleusframework.nucleus.nativessl.NativeTrustManager
// Ready-to-use X509TrustManager (JVM defaults + OS native certs)
val trustManager: X509TrustManager = NativeTrustManager.trustManager
@@ -13780,11 +13780,11 @@ Certificates are deduplicated by DER content across all sources.
The `native-ssl` module uses JNI native libraries on macOS and Windows. When ProGuard is enabled, the bridge classes must be preserved. The Nucleus Gradle plugin includes these rules automatically; if you need them manually:
```proguard
--keep class io.github.kdroidfilter.nucleus.nativessl.mac.NativeSslBridge {
+-keep class dev.nucleusframework.nucleus.nativessl.mac.NativeSslBridge {
native ;
}
--keep class io.github.kdroidfilter.nucleus.nativessl.windows.WindowsSslBridge {
+-keep class dev.nucleusframework.nucleus.nativessl.windows.WindowsSslBridge {
native ;
}
```
@@ -13794,7 +13794,7 @@ The `native-ssl` module uses JNI native libraries on macOS and Windows. When Pro
Debug messages are emitted under the tags `NativeCertificateProvider`, `NativeSslBridge`, `WindowsCertificateProvider`, `LinuxCertificateProvider`, etc. Logging is off by default. To enable it, set the global flag from `core-runtime`:
```kotlin
-import io.github.kdroidfilter.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
+import dev.nucleusframework.nucleus.core.runtime.tools.allowNucleusRuntimeLogging
allowNucleusRuntimeLogging = true
```
@@ -13809,9 +13809,9 @@ Three integration modules are available — pick the one that matches your HTTP
| Module | Artifact | Client |
|--------|----------|--------|
-| `native-http` | `io.github.kdroidfilter:nucleus.native-http` | `java.net.http.HttpClient` (JDK 11+) |
-| `native-http-okhttp` | `io.github.kdroidfilter:nucleus.native-http-okhttp` | OkHttp 4 |
-| `native-http-ktor` | `io.github.kdroidfilter:nucleus.native-http-ktor` | Ktor Client (engine-agnostic) |
+| `native-http` | `dev.nucleusframework:nucleus.native-http` | `java.net.http.HttpClient` (JDK 11+) |
+| `native-http-okhttp` | `dev.nucleusframework:nucleus.native-http-okhttp` | OkHttp 4 |
+| `native-http-ktor` | `dev.nucleusframework:nucleus.native-http-ktor` | Ktor Client (engine-agnostic) |
All three pull in `native-ssl` transitively — no need to declare it separately.
@@ -13823,14 +13823,14 @@ All three pull in `native-ssl` transitively — no need to declare it separately
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.native-http:")
+ implementation("dev.nucleusframework:nucleus.native-http:")
}
```
### Usage
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.NativeHttpClient
+import dev.nucleusframework.nucleus.nativehttp.NativeHttpClient
// Option 1 — pre-built client
val client = NativeHttpClient.create()
@@ -13854,7 +13854,7 @@ val client = HttpClient.newBuilder()
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.native-http-okhttp:")
+ implementation("dev.nucleusframework:nucleus.native-http-okhttp:")
}
```
@@ -13863,7 +13863,7 @@ OkHttp 4.x is pulled in transitively.
### Usage
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.okhttp.NativeOkHttpClient
+import dev.nucleusframework.nucleus.nativehttp.okhttp.NativeOkHttpClient
// Option 1 — pre-built client
val client = NativeOkHttpClient.create()
@@ -13885,7 +13885,7 @@ val client = OkHttpClient.Builder()
```kotlin
dependencies {
- implementation("io.github.kdroidfilter:nucleus.native-http-ktor:")
+ implementation("dev.nucleusframework:nucleus.native-http-ktor:")
// Add exactly one Ktor engine:
implementation("io.ktor:ktor-client-cio:") // CIO (coroutine-based)
// or: ktor-client-java, ktor-client-okhttp, ktor-client-apache5
@@ -13897,7 +13897,7 @@ dependencies {
### Usage
```kotlin
-import io.github.kdroidfilter.nucleus.nativehttp.ktor.installNativeSsl
+import dev.nucleusframework.nucleus.nativehttp.ktor.installNativeSsl
import io.ktor.client.HttpClient
import io.ktor.client.engine.cio.CIO
@@ -14030,7 +14030,7 @@ Scoring: each of 13 dimensions rated 0–10, total = raw sum / 130 × 100. See [
³ jDeploy DMG requires a separate GitHub Action + macOS runner ([jdeploy-action-dmg](https://github.com/shannah/jdeploy-action-dmg)).
??? info "Sources"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) — 17 enum values (16 distributable + `RawAppImage` intermediate)
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) — 17 enum values (16 distributable + `RawAppImage` intermediate)
- **Conveyor**: [Package formats](https://conveyor.hydraulic.dev/21.1/package-formats/), [Output formats FAQ](https://conveyor.hydraulic.dev/21.1/faq/output-formats/) — MSIX, EXE, ZIP (Windows); signed .app in ZIP (macOS); DEB, tar.gz (Linux). No DMG, PKG, RPM, NSIS, AppImage, Snap, Flatpak.
- **install4j**: [Media files](https://www.ej-technologies.com/resources/install4j/help/doc/concepts/mediaFiles.html) — EXE, MSI wrapper, DMG, .app, RPM, DEB, tar.gz, shell installer. No PKG, NSIS, AppX.
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--type`: app-image, dmg, pkg, exe, msi, deb, rpm
@@ -14054,7 +14054,7 @@ Nucleus leads by leveraging electron-builder as its packaging backend: jpackage
| Compose MP | ❌ | — | — | — | — | **0** |
??? info "Sources"
- - **Nucleus**: [`NucleusUpdater.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/updater-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/updater/NucleusUpdater.kt) — `GitHubProvider` and `GenericProvider`; SHA-512 verification; 9 self-updatable format types (EXE, NSIS, MSI, DMG, ZIP, AppImage, DEB, RPM, NsisWeb)
+ - **Nucleus**: [`NucleusUpdater.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/updater-runtime/src/main/kotlin/dev/nucleusframework/nucleus/updater/NucleusUpdater.kt) — `GitHubProvider` and `GenericProvider`; SHA-512 verification; 9 self-updatable format types (EXE, NSIS, MSI, DMG, ZIP, AppImage, DEB, RPM, NsisWeb)
- **Conveyor**: [Update modes](https://conveyor.hydraulic.dev/21.1/configs/update-modes/) — Sparkle 2 on macOS (delta patches for 5 previous versions), MSIX native on Windows (64 KB chunk delta), apt on Linux. [Understanding updates](https://conveyor.hydraulic.dev/21.1/understanding-updates/)
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — built-in auto-update with configurable strategies
- **jDeploy**: [Substack](https://jdeploy.substack.com/p/automated-deployment-and-updates) — auto-detects new versions on launch
@@ -14078,8 +14078,8 @@ Conveyor's delta update system is a genuine differentiator: a single-line change
¹ jDeploy pre-signs and notarizes installers using its own certificate; optional custom signing via GitHub Action ([FAQ](https://www.jdeploy.com/docs/faq/)).
??? info "Sources"
- - **Nucleus**: [`MacOSSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/MacOSSigningSettings.kt), [`WindowsSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/WindowsSigningSettings.kt) — Azure Artifact Signing via `azureTenantId`, `azureEndpoint`, `azureCertificateProfileName`
- - **Conveyor**: [Keys and certificates](https://conveyor.hydraulic.dev/21.1/configs/keys-and-certificates/) — macOS notarization (App Store Connect API keys), Windows self-signing, Azure Artifact Signing, Azure Key Vault, AWS KMS, SSL.com eSigner, DigiCert ONE, Google Cloud KMS, HSMs (SafeNet, YubiKey)
+ - **Nucleus**: [`MacOSSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/MacOSSigningSettings.kt), [`WindowsSigningSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/WindowsSigningSettings.kt) — Azure Trusted Signing via `azureTenantId`, `azureEndpoint`, `azureCertificateProfileName`
+ - **Conveyor**: [Keys and certificates](https://conveyor.hydraulic.dev/21.1/configs/keys-and-certificates/) — macOS notarization (App Store Connect API keys), Windows self-signing, Azure Trusted Signing, Azure Key Vault, AWS KMS, SSL.com eSigner, DigiCert ONE, Google Cloud KMS, HSMs (SafeNet, YubiKey)
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — cross-platform signing and notarization
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--mac-sign`, `--mac-signing-key-user-name`, `--mac-app-store`
- **Compose MP**: [Native distributions](https://kotlinlang.org/docs/multiplatform/compose-native-distribution.html) — macOS signing and notarization DSL
@@ -14123,7 +14123,7 @@ Nucleus's CI pipeline is its strongest JVM differentiator. No other JVM tool pro
| jpackage | ❌ | ❌ | ✅ (JDK built-in) | — | **4** |
??? info "Sources"
- - **Nucleus**: Gradle plugin (`io.github.kdroidfilter.nucleus`), no Maven or CLI support
+ - **Nucleus**: Gradle plugin (`dev.nucleusframework.nucleus`), no Maven or CLI support
- **Conveyor**: [Gradle/Maven integration](https://conveyor.hydraulic.dev/21.1/configs/maven-gradle/) — open-source Gradle plugin (Gradle 7+); Maven via `mvn dependency:build-classpath` CLI integration; standalone `conveyor` CLI
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — visual IDE + CLI + Gradle + Maven + Ant plugins
- **jDeploy**: [GitHub](https://github.com/shannah/jdeploy) — CLI tool, Maven integration, npm package
@@ -14151,7 +14151,7 @@ Nucleus is Gradle-only, which suits its Compose Desktop audience but limits adop
⁵ badass-jlink exposes no cert DSL, but its task hook (`tasks.named("jlink").doLast { … }`) gives access to the staged runtime image before jpackage consumes it — the cleanest manual workaround available.
??? info "Sources"
- - **Nucleus**: [`AbstractGenerateAotCacheTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractGenerateAotCacheTask.kt) — Project Leyden via `-XX:AOTCacheOutput` (JDK 25+); [`ProguardSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/ProguardSettings.kt) — ProGuard 7.7.0 default; [`AbstractJLinkTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractJLinkTask.kt) — jlink with strip-debug, compression; [`AbstractPatchCaCertificatesTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/tasks/AbstractPatchCaCertificatesTask.kt) — copies JLink runtime, runs keytool to import PEM/DER certificates into `lib/security/cacerts`; [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — GraalVM Native Image bootstrap with `GraalVmInitializer.initialize()`, platform-specific reachability metadata, font substitution, and Skiko native library extraction. Requires BellSoft Liberica NIK 25 (full). Packaging via `packageGraalvmDmg`, `packageGraalvmNsis`, `packageGraalvmDeb` tasks.
+ - **Nucleus**: [`AbstractGenerateAotCacheTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractGenerateAotCacheTask.kt) — Project Leyden via `-XX:AOTCacheOutput` (JDK 25+); [`ProguardSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/ProguardSettings.kt) — ProGuard 7.7.0 default; [`AbstractJLinkTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractJLinkTask.kt) — jlink with strip-debug, compression; [`AbstractPatchCaCertificatesTask.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/tasks/AbstractPatchCaCertificatesTask.kt) — copies JLink runtime, runs keytool to import PEM/DER certificates into `lib/security/cacerts`; [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — GraalVM Native Image bootstrap with `GraalVmInitializer.initialize()`, platform-specific reachability metadata, font substitution, and Skiko native library extraction. Requires BellSoft Liberica NIK 25 (full). Packaging via `packageGraalvmDmg`, `packageGraalvmNsis`, `packageGraalvmDeb` tasks.
- **Conveyor**: [JVM config](https://conveyor.hydraulic.dev/21.1/configs/jvm/) — automatic jlink; `app.jvm.additional-ca-certs` key imports extra certificates into the bundled JDK's `cacerts`; [JDK stdlib](https://conveyor.hydraulic.dev/21.1/stdlib/jdks/) — 6 JDK vendors (Corretto, Zulu, Temurin, JBR, Microsoft, OpenJDK)
- **install4j**: [JRE bundles](https://www.ej-technologies.com/resources/install4j/help/doc/concepts/jreBundles.html), [createbundle CLI](https://www.ej-technologies.com/resources/install4j/help/doc/cli/createBundle.html) — no cert patching DSL; manual via pre-patched JRE bundle
- **jpackage**: [Override resources](https://docs.oracle.com/en/java/javase/23/jpackage/override-jpackage-resources.html) — `--resource-dir` limited to packaging templates; cert patching requires `--runtime-image` with a pre-patched jlink output
@@ -14178,7 +14178,7 @@ Only **Nucleus** and **Conveyor** provide declarative, first-class CA cert patch
- **Conveyor**: [Homepage](https://conveyor.hydraulic.dev/21.1/) — "build packages from any OS, sign and notarize Mac apps from Linux"
- **install4j**: [Homepage](https://www.ej-technologies.com/install4j) — "compile installers for all platforms on any of these platforms"
- **jDeploy**: [FAQ](https://www.jdeploy.com/docs/faq/) — "build native installers for Mac, Windows, and Linux on any platform"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) line 48 — `isCompatibleWithCurrentOS` check; packaging tasks disabled for non-matching OS
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) line 48 — `isCompatibleWithCurrentOS` check; packaging tasks disabled for non-matching OS
This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-runner CI matrix — the pipeline handles cross-platform builds automatically.
@@ -14196,7 +14196,7 @@ This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-ru
| JavaPackager | ✅ (Inno Setup) | ✅ | ✅ | ❌ | ❌ | **4** |
??? info "Sources"
- - **Nucleus**: [`NsisSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/NsisSettings.kt) — 16 properties: `oneClick`, `allowElevation`, `perMachine`, `allowToChangeInstallationDirectory`, `createDesktopShortcut`, `createStartMenuShortcut`, `runAfterFinish`, `installerIcon`, `license`, `includeScript`, `multiLanguageInstaller`, `installerHeader`, `installerSidebar`, etc. [`DmgSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/DmgSettings.kt) — `background`, `backgroundColor`, `badgeIcon`, `icon`, `format` (6 DMG formats: UDRW, UDRO, UDCO, UDZO, UDBZ, ULFO), `window`, `contents`
+ - **Nucleus**: [`NsisSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/NsisSettings.kt) — 16 properties: `oneClick`, `allowElevation`, `perMachine`, `allowToChangeInstallationDirectory`, `createDesktopShortcut`, `createStartMenuShortcut`, `runAfterFinish`, `installerIcon`, `license`, `includeScript`, `multiLanguageInstaller`, `installerHeader`, `installerSidebar`, etc. [`DmgSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/DmgSettings.kt) — `background`, `backgroundColor`, `badgeIcon`, `icon`, `format` (6 DMG formats: UDRW, UDRO, UDCO, UDZO, UDBZ, ULFO), `window`, `contents`
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — visual IDE with 80+ configurable actions
- **Conveyor**: [Package formats](https://conveyor.hydraulic.dev/21.1/package-formats/) — MSIX is a fixed format with no installer UI customization
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--resource-dir` for template overrides
@@ -14218,7 +14218,7 @@ This is Nucleus's weakest dimension. However, Nucleus mitigates it with its 6-ru
| Compose MP | ❌ | ❌ | ❌ | ❌ | **0** |
??? info "Sources"
- - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/TargetFormat.kt) — `isStoreFormat` = Pkg, AppX, Flatpak; [`PlatformSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/PlatformSettings.kt) — `appStore`, `entitlementsFile`, `provisioningProfile` for MAS; [`AppXSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/AppXSettings.kt) — `identityName`, `publisher`, `capabilities`; [`FlatpakSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/dsl/FlatpakSettings.kt) — `runtime`, `finishArgs`, `license`
+ - **Nucleus**: [`TargetFormat.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/TargetFormat.kt) — `isStoreFormat` = Pkg, AppX, Flatpak; [`PlatformSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/PlatformSettings.kt) — `appStore`, `entitlementsFile`, `provisioningProfile` for MAS; [`AppXSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/AppXSettings.kt) — `identityName`, `publisher`, `capabilities`; [`FlatpakSettings.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/plugin-build/plugin/src/main/kotlin/dev/nucleusframework/nucleus/desktop/application/dsl/FlatpakSettings.kt) — `runtime`, `finishArgs`, `license`
- **Conveyor**: [Windows config](https://conveyor.hydraulic.dev/21.1/configs/windows/) — Microsoft Store supported via `conveyor make ms-store-release`; [Output formats FAQ](https://conveyor.hydraulic.dev/21.1/faq/output-formats/) — Mac App Store listed as "not supported yet"
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--mac-app-store` flag exists but limited
@@ -14238,14 +14238,14 @@ For JVM apps, Nucleus is unique in handling the Mac App Store sandbox automatica
| All others | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **0** |
??? info "Sources"
- - **Nucleus dark mode**: [`IsSystemInDarkMode.kt`](https://github.com/kdroidFilter/Nucleus/tree/main/darkmode-detector/src/main/kotlin/io/github/kdroidfilter/nucleus/darkmodedetector/) — JNI (not JNA) with native libraries per platform: macOS via `NSDistributedNotificationCenter`, Windows via registry `AppsUseLightTheme` + `RegNotifyChangeKeyValue`, Linux via D-Bus `org.freedesktop.portal.Settings`. Real-time reactive Compose state.
+ - **Nucleus dark mode**: [`IsSystemInDarkMode.kt`](https://github.com/kdroidFilter/Nucleus/tree/main/darkmode-detector/src/main/kotlin/dev/nucleusframework/nucleus/darkmodedetector/) — JNI (not JNA) with native libraries per platform: macOS via `NSDistributedNotificationCenter`, Windows via registry `AppsUseLightTheme` + `RegNotifyChangeKeyValue`, Linux via D-Bus `org.freedesktop.portal.Settings`. Real-time reactive Compose state.
- **Nucleus decorated windows**: Split into three modules since v1.3.0 — `decorated-window-core` (shared types/layout), [`decorated-window-jbr`](https://github.com/kdroidFilter/Nucleus/tree/main/decorated-window-jbr) (JBR CustomTitleBar API on macOS/Windows), [`decorated-window-jni`](https://github.com/kdroidFilter/Nucleus/tree/main/decorated-window-jni) (JNI-based, works with any JVM including GraalVM Native Image). Custom undecorated window with GNOME (24px arcs) and KDE (10px) native controls on Linux. Jewel variant in `decorated-window-jewel`, Material 2 in `decorated-window-material2`, Material 3 in `decorated-window-material3`.
- **Nucleus Linux HiDPI**: [`linux-hidpi`](https://github.com/kdroidFilter/Nucleus/tree/main/linux-hidpi) — native GDK_SCALE detection for proper HiDPI scaling on Linux, required for native image builds.
- **Nucleus GraalVM runtime**: [`graalvm-runtime`](https://github.com/kdroidFilter/Nucleus/tree/main/graalvm-runtime) — centralizes native-image bootstrap (`GraalVmInitializer.initialize()`), font substitution, Skiko library extraction, and platform-specific reachability metadata.
- - **Nucleus single instance**: [`SingleInstanceManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/SingleInstanceManager.kt) — `FileChannel.tryLock()` + `WatchService` for inter-process communication
- - **Nucleus deep links**: [`DeepLinkHandler.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/DeepLinkHandler.kt) — macOS via `Desktop.setOpenURIHandler` (Apple Events); Windows/Linux via CLI argument parsing
- - **Nucleus executable type**: [`ExecutableRuntime.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/io/github/kdroidfilter/nucleus/core/runtime/ExecutableRuntime.kt) — 17 `ExecutableType` enum values (EXE, MSI, NSIS, NSIS_WEB, PORTABLE, APPX, DMG, PKG, DEB, RPM, SNAP, FLATPAK, APPIMAGE, ZIP, TAR, SEVEN_Z, DEV)
- - **Nucleus native-ssl**: [`NativeTrustManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/native-ssl/src/main/kotlin/io/github/kdroidfilter/nucleus/nativessl/NativeTrustManager.kt) — JNI-based `X509TrustManager` merging OS certificates with JVM defaults: macOS via Security.framework (`SecTrustCopyAnchorCertificates` + `SecTrustSettingsCopyCertificates`), Windows via Crypt32 (`ROOT`/`CA` stores across 5 locations including Group Policy), Linux via PEM bundles (8 discovery paths). Companion modules: `native-http-okhttp` (OkHttp 4) and `native-http-ktor` (Ktor engine).
+ - **Nucleus single instance**: [`SingleInstanceManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/SingleInstanceManager.kt) — `FileChannel.tryLock()` + `WatchService` for inter-process communication
+ - **Nucleus deep links**: [`DeepLinkHandler.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/DeepLinkHandler.kt) — macOS via `Desktop.setOpenURIHandler` (Apple Events); Windows/Linux via CLI argument parsing
+ - **Nucleus executable type**: [`ExecutableRuntime.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/core-runtime/src/main/kotlin/dev/nucleusframework/nucleus/core/runtime/ExecutableRuntime.kt) — 17 `ExecutableType` enum values (EXE, MSI, NSIS, NSIS_WEB, PORTABLE, APPX, DMG, PKG, DEB, RPM, SNAP, FLATPAK, APPIMAGE, ZIP, TAR, SEVEN_Z, DEV)
+ - **Nucleus native-ssl**: [`NativeTrustManager.kt`](https://github.com/kdroidFilter/Nucleus/blob/main/native-ssl/src/main/kotlin/dev/nucleusframework/nucleus/nativessl/NativeTrustManager.kt) — JNI-based `X509TrustManager` merging OS certificates with JVM defaults: macOS via Security.framework (`SecTrustCopyAnchorCertificates` + `SecTrustSettingsCopyCertificates`), Windows via Crypt32 (`ROOT`/`CA` stores across 5 locations including Group Policy), Linux via PEM bundles (8 discovery paths). Companion modules: `native-http-okhttp` (OkHttp 4) and `native-http-ktor` (Ktor engine).
- **Conveyor**: [OS integration](https://conveyor.hydraulic.dev/21.1/configs/os-integration/) — `app.url-schemes` registers URL handlers, `app.file-associations` registers file types at OS level (generates AppxManifest.xml, Info.plist, .desktop files). No runtime library — app code must handle open requests itself.
- **install4j**: [Features](https://www.ej-technologies.com/install4j/features) — single instance lock, file associations
- **jpackage**: [Oracle man page](https://docs.oracle.com/en/java/javase/23/docs/specs/man/jpackage.html) — `--file-associations` flag with properties files
@@ -14547,7 +14547,7 @@ Nucleus is a drop-in extension of the official JetBrains Compose Desktop plugin.
id("org.jetbrains.kotlin.jvm") version "2.3.10"
id("org.jetbrains.kotlin.plugin.compose") version "2.3.10"
id("org.jetbrains.compose") version "1.10.1"
-+ id("io.github.kdroidfilter.nucleus") version "1.0.0"
++ id("dev.nucleusframework.nucleus") version "1.0.0"
}
```
@@ -14559,7 +14559,7 @@ Replace the JetBrains Compose DSL imports with the Nucleus equivalents:
```diff
-import org.jetbrains.compose.desktop.application.dsl.TargetFormat
-+import io.github.kdroidfilter.nucleus.desktop.application.dsl.TargetFormat
++import dev.nucleusframework.nucleus.desktop.application.dsl.TargetFormat
```
This applies to all DSL types used in your `build.gradle.kts` (e.g. `TargetFormat`, `CompressionLevel`, `SigningAlgorithm`, etc.).
@@ -14665,16 +14665,16 @@ dependencies {
implementation(compose.desktop.currentOs)
// Executable type detection
- implementation("io.github.kdroidfilter:nucleus.core-runtime:1.0.0")
+ implementation("dev.nucleusframework:nucleus.core-runtime:1.0.0")
// AOT cache runtime (if using enableAotCache)
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:1.0.0")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:1.0.0")
// Auto-update (if using publish)
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:1.0.0")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:1.0.0")
// Native taskbar/dock progress bar
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:1.0.0")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:1.0.0")
}
```
@@ -14683,7 +14683,7 @@ dependencies {
| Feature | Before (compose) | After (nucleus) |
|---------|-------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| DSL entry point | `compose.desktop.application` | `nucleus.application` |
-| DSL imports | `org.jetbrains.compose.desktop.application.dsl.*` | `io.github.kdroidfilter.nucleus.desktop.application.dsl.*` |
+| DSL imports | `org.jetbrains.compose.desktop.application.dsl.*` | `dev.nucleusframework.nucleus.desktop.application.dsl.*` |
| Target formats | DMG, PKG, MSI, EXE, DEB, RPM | + NSIS, AppX, Portable, AppImage, Snap, Flatpak, archives |
| Native lib cleanup | Manual | `cleanupNativeLibs = true` |
| AOT cache | Not available | `enableAotCache = true` |
@@ -14696,7 +14696,7 @@ dependencies {
| Flatpak config | Not available | Full `flatpak { }` DSL |
| Store pipeline | Not available | Automatic dual pipeline for store formats (PKG, AppX, Flatpak) with sandboxing for PKG and Flatpak |
| Auto-update | Not available | Built-in with YML metadata |
-| Code signing | macOS only | + Windows PFX / Azure Artifact Signing |
+| Code signing | macOS only | + Windows PFX / Azure Trusted Signing |
| DMG appearance | Not customizable (jpackage defaults) | Full `dmg { }` DSL: background, icon size, window layout, content positioning, format ([details](targets/macos.md#dmg-customization)) |
| Artifact naming | Fixed | Template with `artifactName` |
diff --git a/docs/llms.txt b/docs/llms.txt
index 2d27704d5..9b5ea50fa 100644
--- a/docs/llms.txt
+++ b/docs/llms.txt
@@ -2,10 +2,10 @@
> Nucleus is the all-in-one toolkit for shipping JVM desktop applications. It combines a Gradle plugin, runtime libraries, and GitHub Actions to handle performance (AOT), distribution (16 packaging formats), native look & feel (decorated windows, dark mode, system colors), and GraalVM Native Image support. Compatible with any JVM application, optimized for Compose Desktop.
-- Docs: https://nucleus.kdroidfilter.com
+- Docs: https://nucleus.nucleusframework.com
- GitHub: https://github.com/kdroidFilter/Nucleus
-- Gradle Plugin Portal: https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus
-- Maven Central: https://central.sonatype.com/search?q=io.github.kdroidfilter.nucleus
+- Gradle Plugin Portal: https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus
+- Maven Central: https://central.sonatype.com/search?q=dev.nucleusframework.nucleus
- License: MIT
**Nucleus is the Kotlin framework for native desktop apps.** Combined with Compose Multiplatform, it forms the most complete, most performant, and most deeply integrated desktop application stack ever built — on any language, any runtime, any platform.
@@ -62,7 +62,7 @@ Nucleus meets you where you are:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
nucleus.application {
@@ -143,11 +143,11 @@ Add the Nucleus plugin to your `build.gradle.kts`:
```kotlin
plugins {
- id("io.github.kdroidfilter.nucleus") version ""
+ id("dev.nucleusframework.nucleus") version ""
}
```
-The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/io.github.kdroidfilter.nucleus). No additional repository configuration is needed.
+The plugin is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/dev.nucleusframework.nucleus). No additional repository configuration is needed.
### Runtime Libraries (Optional)
@@ -158,19 +158,19 @@ dependencies {
implementation(compose.desktop.currentOs)
// Executable type detection + single instance + deep links
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
+ implementation("dev.nucleusframework:nucleus.core-runtime:")
// AOT cache runtime detection (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
+ implementation("dev.nucleusframework:nucleus.aot-runtime:")
// Auto-update library (includes core-runtime)
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
+ implementation("dev.nucleusframework:nucleus.updater-runtime:")
// Native taskbar/dock progress bar
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
+ implementation("dev.nucleusframework:nucleus.taskbar-progress:")
// Custom decorated window with native title bar
- implementation("io.github.kdroidfilter:nucleus.decorated-window:")
+ implementation("dev.nucleusframework:nucleus.decorated-window:")
}
```
@@ -353,70 +353,70 @@ Nucleus provides runtime libraries for use in your application code. All are pub
| Library | Artifact | Description |
|---------|----------|-------------|
-| Core Runtime | `io.github.kdroidfilter:nucleus.core-runtime` | Executable type detection, single instance, deep links, app metadata (`NucleusApp`) |
-| AOT Runtime | `io.github.kdroidfilter:nucleus.aot-runtime` | AOT cache detection (includes core-runtime via `api`) |
-| Updater Runtime | `io.github.kdroidfilter:nucleus.updater-runtime` | Auto-update library with update level detection and post-update events (includes core-runtime) |
-| Taskbar Progress | `io.github.kdroidfilter:nucleus.taskbar-progress` | Native taskbar/dock progress bar and attention requests (Windows, macOS, Linux) |
-| Notification (macOS) | `io.github.kdroidfilter:nucleus.notification-macos` | macOS UserNotifications API — local notifications, actions, badges via JNI |
-| Notification (Windows) | `io.github.kdroidfilter:nucleus.notification-windows` | Windows Toast Notifications API — rich toasts, buttons, progress bars via JNI (WinRT) |
-| Launcher (Windows) | `io.github.kdroidfilter:nucleus.launcher-windows` | Windows Launcher API — badge notifications, jump lists, overlay icons, and thumbnail toolbar (ITaskbarList3) via JNI |
-| Notification (Linux) | `io.github.kdroidfilter:nucleus.notification-linux` | Freedesktop Desktop Notifications API via JNI (D-Bus) |
-| Launcher (Linux) | `io.github.kdroidfilter:nucleus.launcher-linux` | Unity Launcher API — badge, progress, urgency, quicklist via JNI (D-Bus) |
-| Launcher (macOS) | `io.github.kdroidfilter:nucleus.launcher-macos` | macOS dock context menu — custom items, submenus, click callbacks via JNI |
-| Media Control | `io.github.kdroidfilter:nucleus.media-control` | OS media controls (play/pause, metadata, seek) — MPRIS D-Bus on Linux, MPNowPlayingInfoCenter on macOS, SystemMediaTransportControls on Windows via JNI |
-| Menu (macOS) | `io.github.kdroidfilter:nucleus.menu-macos` | Complete NSMenu mapping — application menu bar, items, badges, delegates, SF Symbols via JNI |
-| SF Symbols | `io.github.kdroidfilter:nucleus.sf-symbols` | Type-safe Apple SF Symbols constants (6 195 symbols, 21 categories) |
-| Freedesktop Icons | `io.github.kdroidfilter:nucleus.freedesktop-icons` | Type-safe freedesktop Icon Naming Specification constants |
-| Decorated Window | `io.github.kdroidfilter:nucleus.decorated-window` | Custom window decorations with native title bar |
-| Decorated Window — Jewel | `io.github.kdroidfilter:nucleus.decorated-window-jewel` | Jewel (IntelliJ theme) color mapping for decorated windows |
-| Decorated Window — Material 2 | `io.github.kdroidfilter:nucleus.decorated-window-material2` | Material 2 color mapping for decorated windows |
-| Decorated Window — Material 3 | `io.github.kdroidfilter:nucleus.decorated-window-material3` | Material 3 color mapping for decorated windows |
-| Dark Mode Detector | `io.github.kdroidfilter:nucleus.darkmode-detector` | Reactive OS dark mode detection via JNI |
-| System Color | `io.github.kdroidfilter:nucleus.system-color` | Reactive system accent color and high contrast detection via JNI |
-| Energy Manager | `io.github.kdroidfilter:nucleus.energy-manager` | Process-level and thread-level energy efficiency mode and screen-awake (caffeine) API for Windows, macOS, and Linux |
-| Native SSL | `io.github.kdroidfilter:nucleus.native-ssl` | OS trust store integration — merges native certs with JVM defaults |
-| Native HTTP | `io.github.kdroidfilter:nucleus.native-http` | `java.net.http.HttpClient` pre-configured with native OS trust |
-| Native HTTP — OkHttp | `io.github.kdroidfilter:nucleus.native-http-okhttp` | OkHttp client pre-configured with native OS trust |
-| Native HTTP — Ktor | `io.github.kdroidfilter:nucleus.native-http-ktor` | Ktor `HttpClient` extension for native OS trust (all engines) |
-| Linux HiDPI | `io.github.kdroidfilter:nucleus.linux-hidpi` | Native HiDPI scale factor detection on Linux |
-| Scheduler | `io.github.kdroidfilter:nucleus.scheduler` | Background task scheduling — periodic, calendar, and on-boot tasks via OS-native schedulers (launchd, systemd, Task Scheduler) |
-| Service Management (macOS) | `io.github.kdroidfilter:nucleus.service-management-macos` | macOS SMAppService binding — login items, launch agents, launch daemons (macOS 13+) |
-| Auto-Launch | `io.github.kdroidfilter:nucleus.autolaunch` | Cross-platform start-at-login — MSIX `StartupTask`, Win32 `HKCU\...\Run`, `SMAppService`, systemd user units, Flatpak portal |
-| GraalVM Runtime | `io.github.kdroidfilter:nucleus.graalvm-runtime` | GraalVM native-image bootstrap + font substitutions (includes linux-hidpi) |
+| Core Runtime | `dev.nucleusframework:nucleus.core-runtime` | Executable type detection, single instance, deep links, app metadata (`NucleusApp`) |
+| AOT Runtime | `dev.nucleusframework:nucleus.aot-runtime` | AOT cache detection (includes core-runtime via `api`) |
+| Updater Runtime | `dev.nucleusframework:nucleus.updater-runtime` | Auto-update library with update level detection and post-update events (includes core-runtime) |
+| Taskbar Progress | `dev.nucleusframework:nucleus.taskbar-progress` | Native taskbar/dock progress bar and attention requests (Windows, macOS, Linux) |
+| Notification (macOS) | `dev.nucleusframework:nucleus.notification-macos` | macOS UserNotifications API — local notifications, actions, badges via JNI |
+| Notification (Windows) | `dev.nucleusframework:nucleus.notification-windows` | Windows Toast Notifications API — rich toasts, buttons, progress bars via JNI (WinRT) |
+| Launcher (Windows) | `dev.nucleusframework:nucleus.launcher-windows` | Windows Launcher API — badge notifications, jump lists, overlay icons, and thumbnail toolbar (ITaskbarList3) via JNI |
+| Notification (Linux) | `dev.nucleusframework:nucleus.notification-linux` | Freedesktop Desktop Notifications API via JNI (D-Bus) |
+| Launcher (Linux) | `dev.nucleusframework:nucleus.launcher-linux` | Unity Launcher API — badge, progress, urgency, quicklist via JNI (D-Bus) |
+| Launcher (macOS) | `dev.nucleusframework:nucleus.launcher-macos` | macOS dock context menu — custom items, submenus, click callbacks via JNI |
+| Media Control | `dev.nucleusframework:nucleus.media-control` | OS media controls (play/pause, metadata, seek) — MPRIS D-Bus on Linux, MPNowPlayingInfoCenter on macOS, SystemMediaTransportControls on Windows via JNI |
+| Menu (macOS) | `dev.nucleusframework:nucleus.menu-macos` | Complete NSMenu mapping — application menu bar, items, badges, delegates, SF Symbols via JNI |
+| SF Symbols | `dev.nucleusframework:nucleus.sf-symbols` | Type-safe Apple SF Symbols constants (6 195 symbols, 21 categories) |
+| Freedesktop Icons | `dev.nucleusframework:nucleus.freedesktop-icons` | Type-safe freedesktop Icon Naming Specification constants |
+| Decorated Window | `dev.nucleusframework:nucleus.decorated-window` | Custom window decorations with native title bar |
+| Decorated Window — Jewel | `dev.nucleusframework:nucleus.decorated-window-jewel` | Jewel (IntelliJ theme) color mapping for decorated windows |
+| Decorated Window — Material 2 | `dev.nucleusframework:nucleus.decorated-window-material2` | Material 2 color mapping for decorated windows |
+| Decorated Window — Material 3 | `dev.nucleusframework:nucleus.decorated-window-material3` | Material 3 color mapping for decorated windows |
+| Dark Mode Detector | `dev.nucleusframework:nucleus.darkmode-detector` | Reactive OS dark mode detection via JNI |
+| System Color | `dev.nucleusframework:nucleus.system-color` | Reactive system accent color and high contrast detection via JNI |
+| Energy Manager | `dev.nucleusframework:nucleus.energy-manager` | Process-level and thread-level energy efficiency mode and screen-awake (caffeine) API for Windows, macOS, and Linux |
+| Native SSL | `dev.nucleusframework:nucleus.native-ssl` | OS trust store integration — merges native certs with JVM defaults |
+| Native HTTP | `dev.nucleusframework:nucleus.native-http` | `java.net.http.HttpClient` pre-configured with native OS trust |
+| Native HTTP — OkHttp | `dev.nucleusframework:nucleus.native-http-okhttp` | OkHttp client pre-configured with native OS trust |
+| Native HTTP — Ktor | `dev.nucleusframework:nucleus.native-http-ktor` | Ktor `HttpClient` extension for native OS trust (all engines) |
+| Linux HiDPI | `dev.nucleusframework:nucleus.linux-hidpi` | Native HiDPI scale factor detection on Linux |
+| Scheduler | `dev.nucleusframework:nucleus.scheduler` | Background task scheduling — periodic, calendar, and on-boot tasks via OS-native schedulers (launchd, systemd, Task Scheduler) |
+| Service Management (macOS) | `dev.nucleusframework:nucleus.service-management-macos` | macOS SMAppService binding — login items, launch agents, launch daemons (macOS 13+) |
+| Auto-Launch | `dev.nucleusframework:nucleus.autolaunch` | Cross-platform start-at-login — MSIX `StartupTask`, Win32 `HKCU\...\Run`, `SMAppService`, systemd user units, Flatpak portal |
+| GraalVM Runtime | `dev.nucleusframework:nucleus.graalvm-runtime` | GraalVM native-image bootstrap + font substitutions (includes linux-hidpi) |
```kotlin
dependencies {
// Pick what you need:
- implementation("io.github.kdroidfilter:nucleus.core-runtime:")
- implementation("io.github.kdroidfilter:nucleus.aot-runtime:")
- implementation("io.github.kdroidfilter:nucleus.updater-runtime:")
- implementation("io.github.kdroidfilter:nucleus.taskbar-progress:")
- implementation("io.github.kdroidfilter:nucleus.notification-macos:")
- implementation("io.github.kdroidfilter:nucleus.notification-windows:")
- implementation("io.github.kdroidfilter:nucleus.launcher-windows:")
- implementation("io.github.kdroidfilter:nucleus.notification-linux:")
- implementation("io.github.kdroidfilter:nucleus.launcher-linux:")
- implementation("io.github.kdroidfilter:nucleus.launcher-macos:")
- implementation("io.github.kdroidfilter:nucleus.media-control:")
- implementation("io.github.kdroidfilter:nucleus.menu-macos:")
- implementation("io.github.kdroidfilter:nucleus.sf-symbols:")
- implementation("io.github.kdroidfilter:nucleus.freedesktop-icons:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-jewel:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material2:")
- implementation("io.github.kdroidfilter:nucleus.decorated-window-material3:")
- implementation("io.github.kdroidfilter:nucleus.darkmode-detector:")
- implementation("io.github.kdroidfilter:nucleus.system-color:")
- implementation("io.github.kdroidfilter:nucleus.energy-manager:")
- implementation("io.github.kdroidfilter:nucleus.native-ssl:")
- implementation("io.github.kdroidfilter:nucleus.native-http:")
- implementation("io.github.kdroidfilter:nucleus.native-http-okhttp:")
- implementation("io.github.kdroidfilter:nucleus.native-http-ktor:")
- implementation("io.github.kdroidfilter:nucleus.linux-hidpi:")
- implementation("io.github.kdroidfilter:nucleus.scheduler:")
- implementation("io.github.kdroidfilter:nucleus.service-management-macos:")
- implementation("io.github.kdroidfilter:nucleus.autolaunch: