Rename to claudify, add docs and .deb packaging

- Rename package from claude-app to claudify (v0.1.0)
- Add README.md with install/usage instructions
- Add CLAUDE.md with architecture, build, and known issues
- Add .desktop file for application menu integration
- Build target set to .deb only
- Remove failed CSD button workarounds, document upstream bug
- Remove gtk dependency (no longer needed)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2026-02-16 13:31:33 +01:00
commit 101c91c4d8
9 changed files with 136 additions and 38 deletions

5
src-tauri/Cargo.lock generated
View file

@ -448,10 +448,9 @@ dependencies = [
]
[[package]]
name = "claude-app"
version = "1.0.0"
name = "claudify"
version = "0.1.0"
dependencies = [
"gtk",
"serde",
"serde_json",
"tauri",

View file

@ -1,7 +1,7 @@
[package]
name = "claude-app"
version = "1.0.0"
description = "Claude desktop app"
name = "claudify"
version = "0.1.0"
description = "Native desktop wrapper for claude.ai"
edition = "2021"
[build-dependencies]
@ -15,9 +15,6 @@ serde = { version = "1", features = ["derive"] }
serde_json = "1"
url = "2"
[target.'cfg(target_os = "linux")'.dependencies]
gtk = { version = "0.18", features = ["v3_24"] }
[features]
default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Categories=Network;WebBrowser;
Comment=Native desktop wrapper for claude.ai
Exec=claudify
Icon=claudify
Keywords=claude;ai;anthropic;chat;
Name=Claudify
Terminal=false
Type=Application

View file

@ -97,10 +97,10 @@ pub fn run() {
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![send_notification])
.setup(|app| {
// NOTE: Decorations disabled due to upstream bug where CSD titlebar
// buttons become non-interactive after hide()/show() on Linux.
// Tracked at: https://github.com/tauri-apps/tauri/issues/11856
// https://github.com/tauri-apps/tao/issues/1046
// KNOWN ISSUE: CSD titlebar buttons become non-interactive after
// hide()/show() on Linux. No workaround found. Use tray icon instead.
// https://github.com/tauri-apps/tauri/issues/11856
// https://github.com/tauri-apps/tao/issues/1046
let webview_window = WebviewWindowBuilder::new(
app,
"main",
@ -109,7 +109,6 @@ pub fn run() {
.title("Claude")
.inner_size(1200.0, 800.0)
.min_inner_size(400.0, 300.0)
.resizable(true)
// Standard WebKit user agent so claude.ai serves the full experience
.user_agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15")
.initialization_script(NOTIFICATION_BRIDGE_JS)
@ -124,21 +123,6 @@ pub fn run() {
})
.build()?;
// Replace the default GTK header bar with one that has no buttons.
// The standard CSD buttons become non-interactive after hide()/show()
// due to upstream bug: https://github.com/tauri-apps/tauri/issues/11856
#[cfg(target_os = "linux")]
{
use gtk::prelude::*;
if let Ok(gtk_win) = webview_window.gtk_window() {
let header = gtk::HeaderBar::new();
header.set_show_close_button(false);
header.set_title(Some("Claude"));
header.show();
gtk_win.set_titlebar(Some(&header));
}
}
// -- System tray --
let toggle_item =
MenuItem::with_id(app, "toggle", "Hide Claude", true, None::<&str>)?;

View file

@ -2,5 +2,5 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
claude_app::run();
claudify::run();
}

View file

@ -1,7 +1,7 @@
{
"productName": "Claude",
"version": "1.0.0",
"identifier": "no.naiv.claude-app",
"productName": "claudify",
"version": "0.1.0",
"identifier": "no.naiv.claudify",
"build": {
"frontendDist": "../src"
},
@ -17,7 +17,7 @@
},
"bundle": {
"active": true,
"targets": ["deb", "appimage"],
"targets": ["deb"],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
@ -27,7 +27,9 @@
],
"linux": {
"deb": {
"depends": ["libwebkit2gtk-4.1-0", "libayatana-appindicator3-1"]
"depends": ["libwebkit2gtk-4.1-0", "libayatana-appindicator3-1"],
"section": "web",
"desktopTemplate": "claudify.desktop"
}
}
}