mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 08:07:49 +00:00
Native fullscreen gives every window its own Space, so switching projects in a fullscreen window group left one Space and entered another: the desktop showed in between, and quick switching could drop out of fullscreen. A grouped window now uses simple fullscreen for every member at once; switching projects only shows one window and hides the others. The green button, the system Enter Full Screen item and Toggle Full Screen take this path for grouped windows, which keep their window buttons; ungrouped windows keep native fullscreen. Menu bar and Dock auto-hide while any window is in simple fullscreen, and detaching or closing a tab keeps the rest of the group fullscreen.
98 lines
3.2 KiB
TOML
98 lines
3.2 KiB
TOML
[package]
|
|
name = "openidea"
|
|
description = "OpenIDEA desktop shell: an open-source IDE inspired by IntelliJ IDEA"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lib]
|
|
name = "openidea_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
dunce.workspace = true
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-opener = "2"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-mcp-bridge = "0.13"
|
|
tauri-plugin-window-state = "2"
|
|
tauri-plugin-single-instance = "2"
|
|
tauri-plugin-updater = "2"
|
|
tracing-appender = "0.2"
|
|
tauri-specta = { version = "=2.0.0-rc.25", features = ["derive", "typescript"] }
|
|
specta-typescript.workspace = true
|
|
specta.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
base64.workspace = true
|
|
percent-encoding = "2"
|
|
tokio.workspace = true
|
|
parking_lot.workspace = true
|
|
blake3.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
dirs.workspace = true
|
|
|
|
ide-core.workspace = true
|
|
dunce.workspace = true
|
|
ide-clipboard.workspace = true
|
|
ide-fonts.workspace = true
|
|
ide-text.workspace = true
|
|
ide-vfs.workspace = true
|
|
ide-workspace.workspace = true
|
|
ide-language.workspace = true
|
|
ide-index.workspace = true
|
|
ide-syntax.workspace = true
|
|
ide-search.workspace = true
|
|
ide-lsp.workspace = true
|
|
ide-dap.workspace = true
|
|
ide-vcs.workspace = true
|
|
ide-terminal.workspace = true
|
|
ide-run.workspace = true
|
|
ide-sdk.workspace = true
|
|
ide-build.workspace = true
|
|
ide-analysis.workspace = true
|
|
ide-coverage.workspace = true
|
|
ide-profiler.workspace = true
|
|
ide-http.workspace = true
|
|
ide-agent.workspace = true
|
|
ide-db.workspace = true
|
|
ide-web.workspace = true
|
|
ide-spell.workspace = true
|
|
ide-ssh.workspace = true
|
|
ide-remote.workspace = true
|
|
ide-host.workspace = true
|
|
ide-notebook.workspace = true
|
|
ide-jsonrpc.workspace = true
|
|
ide-tools = { path = "../crates/ide-tools" }
|
|
ide-plugin = { path = "../crates/ide-plugin" }
|
|
ide-extension = { path = "../crates/ide-extension" }
|
|
ide-docker = { path = "../crates/ide-docker" }
|
|
ide-github = { path = "../crates/ide-github" }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
block2 = "0.6"
|
|
# Plugin secrets in the login keychain.
|
|
security-framework = "3.7"
|
|
objc2 = "0.6"
|
|
objc2-app-kit = { version = "0.3", default-features = false, features = ["std", "NSApplication", "NSButton", "NSResponder", "NSScreen", "NSView", "NSWindow"] }
|
|
objc2-core-foundation = { version = "0.3", default-features = false, features = ["std", "block2", "CFRunLoop"] }
|
|
objc2-foundation = { version = "0.3", default-features = false, features = ["std", "block2", "NSNotification", "NSOperation", "NSString"] }
|
|
# Used only by the debug font-restriction override; Cargo dependency cfg cannot test debug_assertions.
|
|
objc2-web-kit = { version = "0.3", default-features = false, features = ["std", "WKWebViewConfiguration", "WKPreferences"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
# Wayland detection and the client size without GTK's CSD shadow (linux_window_state.rs).
|
|
gtk = "0.18"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.61", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Graphics_Gdi",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
] }
|