git.lucas.co / cce-gallery
widget gallery and compositor test bench

commit379745e6fb154d156021ade77b16219145c550bc
parent072349052e
authorLucas Galante <[email protected]>
date2026-09-06 12:02
feat!: rename the app to cce-gallery

The crate, binary, .desktop entry and app_id are now cce-gallery; the
window titles are "Gallery" / "Gallery - <page>", and simulated child
windows carry app_id cce-gallery-child-<type> instead of clear-test-child-<type>.
The input.kdl domain follows the binary name (get_app_name reads the exe
basename), so page bindings now live under `cce-gallery { }`.

The directory moved from cce-test-interface/ to cce-gallery/; the workspace
member list, the cce-icons symlink and the gitsite entry moved with it.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

 Cargo.lock                 |  2 +-
 Cargo.toml                 |  2 +-
 Makefile                   |  2 +-
 README.md                  | 18 +++++++++---------
 cce-gallery.desktop        |  9 +++++++++
 cce-test-interface.desktop |  9 ---------
 src/main.rs                | 18 +++++++++---------
 7 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 5b6bd70..bc75fb5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -340,7 +340,7 @@ dependencies = [
 ]
 
 [[package]]
-name = "cce-test-interface"
+name = "cce-gallery"
 version = "0.1.0"
 dependencies = [
  "calloop",
diff --git a/Cargo.toml b/Cargo.toml
index c2dcbbd..e31f3b0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "cce-test-interface"
+name = "cce-gallery"
 version = "0.1.0"
 edition = "2021"
 
diff --git a/Makefile b/Makefile
index 11185a0..80c5b0c 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ build:
 # helpers uninstalled for weeks.
 install: build
 	@command -v ccebuild >/dev/null || { echo "ccebuild not installed — run: make -C ../cce-compositor install"; exit 1; }
-	ccebuild install --no-build cce-test-interface
+	ccebuild install --no-build cce-gallery
 
 run:
 	cargo run
diff --git a/README.md b/README.md
index ab8bba6..4cc1820 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# cce-test-interface
+# cce-gallery
 
 A widget gallery and compositor-behaviour test bench for the `cce` desktop
 environment. It is a single `cce-ui` client (a real Wayland surface, drawn as
@@ -50,7 +50,7 @@ The child windows spawned from the Windows page are the same binary run with
 `--child`. The flags mirror the control panel:
 
 ```
-cce-test-interface --child --type <Toplevel|Popup|LayerTop|LayerOverlay|LayerBackground|Ramp|ColorRamp>
+cce-gallery --child --type <Toplevel|Popup|LayerTop|LayerOverlay|LayerBackground|Ramp|ColorRamp>
                    [--shape rectangular|circular] [--width N --height N]
                    [--opacity --transparency 0.0-1.0]
                    [--no-border | --border-width N [--border-bevel]]
@@ -59,9 +59,9 @@ cce-test-interface --child --type <Toplevel|Popup|LayerTop|LayerOverlay|LayerBac
 
 A simulated window shows a description label, a `Close` button, and the
 optional menu bar and status bar. Its `app_id` encodes what it is, so
-compositor rules can target it: `clear-test-child-<type>` with `-circular`
+compositor rules can target it: `cce-gallery-child-<type>` with `-circular`
 and/or `-noborder` appended when those apply. The main window's `app_id` is
-`cce-test-interface` (also with `-noborder` when the border is disabled).
+`cce-gallery` (also with `-noborder` when the border is disabled).
 
 `--type Ramp` and `--type ColorRamp` are editor windows rather than simulated
 clients: they host the toolkit's `Ramp` and `ColorRamp` widgets on a
@@ -88,11 +88,11 @@ the editor live.
 
 ## Keybindings
 
-Page navigation is resolved through the `cce-test-interface` domain of
+Page navigation is resolved through the `cce-gallery` domain of
 `~/.config/cce/input.kdl`; the defaults are `ctrl+1`, `ctrl+2`, `ctrl+3`:
 
 ```kdl
-cce-test-interface {
+cce-gallery {
     page_1 "ctrl+1"
     page_2 "ctrl+2"
     page_3 "ctrl+3"
@@ -120,9 +120,9 @@ standalone or from the workspace root. Installation goes through `ccebuild`
 (see `cce-compositor/WORKSPACE.md`):
 
 ```sh
-cargo build --release -p cce-test-interface
-ccebuild install --no-build cce-test-interface   # what `make install` runs
+cargo build --release -p cce-gallery
+ccebuild install --no-build cce-gallery   # what `make install` runs
 ```
 
-Run it from the workspace with `cargo run -p cce-test-interface`, or from the
+Run it from the workspace with `cargo run -p cce-gallery`, or from the
 launcher once installed.
diff --git a/cce-gallery.desktop b/cce-gallery.desktop
new file mode 100644
index 0000000..9b9f684
--- /dev/null
+++ b/cce-gallery.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Gallery
+Comment=Widget gallery and compositor test bench for the cce desktop environment
+Exec=cce-gallery
+Icon=cce-gallery
+Terminal=false
+Categories=Utility;Development;
+StartupNotify=true
diff --git a/cce-test-interface.desktop b/cce-test-interface.desktop
deleted file mode 100644
index a748737..0000000
--- a/cce-test-interface.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Clear Test Interface
-Comment=GUI diagnostic and verification window for Clear desktop environment
-Exec=cce-test-interface
-Icon=cce-test-interface
-Terminal=false
-Categories=Utility;Development;
-StartupNotify=true
diff --git a/src/main.rs b/src/main.rs
index e7995ed..164be9f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1136,7 +1136,7 @@ cascades in cce."
                 range_slider_demo: RangeSlider::new().with_label("RangeSlider"),
                 trackpad_demo: Trackpad::new().with_label("Trackpad"),
                 portal_panel: Panel::new(0.0, 0.0, 450.0, 200.0).with_label("XDG Desktop Portal FileChooser"),
-                portal_label: Label::new("This page verifies the integration of the XDG Desktop Portal\nFile Chooser in the Clear environment.").with_font_size(12.0).with_color([0xcc, 0xcc, 0xd4]),
+                portal_label: Label::new("This page verifies the integration of the XDG Desktop Portal\nFile Chooser in the cce environment.").with_font_size(12.0).with_color([0xcc, 0xcc, 0xd4]),
                 open_dialog_btn: Button::new(0.0, 0.0, 180.0, 40.0).with_label("Open File Dialog"),
                 save_dialog_btn: Button::new(0.0, 0.0, 180.0, 40.0).with_label("Save File Dialog"),
                 textbox_demo: TextBox::new("Interactive TextBox".to_string()),
@@ -1276,17 +1276,17 @@ cascades in cce."
                 None => "Simulated Client Window".to_string(),
             }
         } else {
-            "Clear Test Interface - Diagnostics Dashboard".to_string()
+            "Gallery".to_string()
         };
         
         let mut app_id = if self.is_child {
             if let Some(ref t) = self.child_type {
-                format!("clear-test-child-{}", t.to_lowercase())
+                format!("cce-gallery-child-{}", t.to_lowercase())
             } else {
-                "clear-test-child".to_string()
+                "cce-gallery-child".to_string()
             }
         } else {
-            "cce-test-interface".to_string()
+            "cce-gallery".to_string()
         };
         if self.is_child && self.child_shape.as_deref() == Some("circular") {
             app_id.push_str("-circular");
@@ -1665,9 +1665,9 @@ cascades in cce."
             }
         } else {
             match self.current_page {
-                Page::Controls => "Clear Test Interface - Controls".to_string(),
-                Page::Windows => "Clear Test Interface - Windows".to_string(),
-                Page::Xdg => "Clear Test Interface - XDG Portal".to_string(),
+                Page::Controls => "Gallery - Controls".to_string(),
+                Page::Windows => "Gallery - Windows".to_string(),
+                Page::Xdg => "Gallery - XDG Portal".to_string(),
             }
         };
         let mut has_menu_bar = false;
@@ -2413,7 +2413,7 @@ full screen background.",
             let mut page_nav = false;
             let mut selected = 0;
             {
-                // input.kdl `cce-test-interface` domain
+                // input.kdl `cce-gallery` domain
                 let m = |name: &str, default: &str| {
                     cce_ui::widget::match_key_shortcut(event, &cce_ui::input::app_chord(name, default))
                 };