Skip to content

Conversation

@yujonglee
Copy link
Contributor

@yujonglee yujonglee commented Nov 27, 2025

Summary

Removes the native window decorations (titlebar) on Linux by adding decorations(false) to the window builder, matching the existing behavior on Windows. This allows the app to display a custom titlebar similar to the macOS version instead of the default Linux window manager titlebar.

The change follows the existing pattern in plugins/windows/src/window/v1.rs where macOS uses overlay titlebar style and Windows already disables decorations.

Local Testing Result

Tested locally on Linux - the native titlebar is successfully removed:

Linux titlebar removed

Review & Testing Checklist for Human

  • Test on Linux: Verify the native titlebar is removed and the custom titlebar renders correctly
  • Window dragging: Confirm window can be dragged using the custom titlebar areas (elements with data-tauri-drag-region)
  • Window controls: Verify minimize, maximize, and close functionality works (may need custom controls if not already implemented)
  • Window resizing: Test that window resizing from edges still works correctly

Notes

  • The frontend already has data-tauri-drag-region attributes in place for window dragging
  • Also fixed a pre-existing CI issue: removed unused cn import in apps/desktop/src/components/main/sidebar/search/index.tsx
  • Reference: https://v2.tauri.app/learn/window-customization/

Link to Devin run
Requested by: yujonglee (@yujonglee)

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@netlify
Copy link

netlify bot commented Nov 27, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit f7a1d1e
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/6927b6ed51a58400083217a5
😎 Deploy Preview https://deploy-preview-1935--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Nov 27, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit f7a1d1e
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/6927b6efb68ad8000854a206
😎 Deploy Preview https://deploy-preview-1935--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

📝 Walkthrough

Walkthrough

Adds a Linux-specific conditional to AppWindow::window_builder that disables window decorations, and removes an unused cn import from the sidebar search component.

Changes

Cohort / File(s) Summary
Linux window decorations
plugins/windows/src/window/v1.rs
Adds a #[cfg(target_os = "linux")] block in AppWindow::window_builder that sets decorations(false), matching the existing Windows behavior.
Remove unused import
apps/desktop/src/components/main/sidebar/search/index.tsx
Deletes an unused cn import from @hypr/utils; no other code or behavior changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Attention points:
    • plugins/windows/src/window/v1.rs: verify conditional compilation and that disabling decorations on Linux is intended across desktop environments.
    • apps/desktop/src/components/main/sidebar/search/index.tsx: confirm no other references to cn remain.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: removing native titlebar on Linux for custom titlebar support, which matches the primary modification in the changeset.
Description check ✅ Passed The PR description clearly relates to the changeset by explaining the addition of decorations(false) for Linux and the removal of unused imports.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1764209930-linux-custom-titlebar

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>
@yujonglee yujonglee merged commit 81e9e40 into main Nov 27, 2025
13 checks passed
@yujonglee yujonglee deleted the devin/1764209930-linux-custom-titlebar branch November 27, 2025 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants