Skip to content

Feature: optional feature to hide titlebar#191

Merged
JoseMoreville merged 25 commits intoPlayCover:masterfrom
JoseMoreville:hide-title
Jul 30, 2025
Merged

Feature: optional feature to hide titlebar#191
JoseMoreville merged 25 commits intoPlayCover:masterfrom
JoseMoreville:hide-title

Conversation

@JoseMoreville
Copy link
Copy Markdown
Member

@JoseMoreville JoseMoreville commented Jul 7, 2025

This pull request introduces enhancements to window management and user preferences handling in the AKPlugin and PlayTools modules. The key changes include adding support for hiding the title bar based on user preferences, improving window behavior.

Window Management Enhancements:

  • AKPlugin.swift: Added logic to hide the title bar. This includes applying appearance rules to subsequent windows and handling interactions with window "traffic-light" buttons. [1] [2] [3]
  • AKPlugin.swift: Introduced a helper method isInTrafficLightArea to detect interactions with window buttons and ensure clicks and releases pass through correctly. [1] [2]

User Preferences Integration:

  • AKPlugin.swift: Added a static property hideTitleBarPreference to cache the user preference for hiding the title bar, read from a .plist file. This preference is exposed via the instance property hideTitleBarSetting.
  • PlaySettings.swift: Updated AppSettingsData to include a new hideTitleBar property, allowing user preferences to be stored and accessed. [1] [2]

…ding the title bar. Added observers to reapply settings when the key window changes.
…g the title bar transparent for improved window aesthetics. Updated helper methods to reflect these changes.
…es, including automatic resizing, title bar transparency, and debug overlay for window size. Added retry mechanism for window initialization and updated observers for key window changes.
…indow management. This includes eliminating the retry mechanism for showing the debug overlay and related asynchronous calls.
…ing observers for key window changes and ensuring consistent appearance settings across all windows. This includes making title bars transparent and enabling full-size content views.
…tyle mask settings. Removed full-size content view configuration and unnecessary comments to enhance code clarity and maintainability.
…e content view alongside resizable windows. Adjusted style mask settings to ensure consistent appearance across all windows, enhancing user experience.
…t the root view from intercepting clicks in the traffic-light area. Updated comments for clarity on title-bar visibility adjustments.
…hod to apply consistent appearance settings across all windows. This includes enhancements for title bar transparency, automatic window management, and layout adjustments for content views, improving code clarity and maintainability.
…t constraints by checking existing constraints before activation. This improves layout stability and code clarity for macOS window management.
… mask configuration code for NSWindow. This change aims to improve code clarity and maintainability while preserving the functionality related to title bar visibility adjustments.
…or enabling window resizing. This change enhances code clarity and maintainability while retaining functionality related to title bar visibility adjustments.
…restore functionality for title bar visibility adjustments. This change ensures the method operates as intended while maintaining code clarity.
…ents related to title bar visibility. This change improves code clarity and maintainability while streamlining the launch process.
This update introduces a helper function to detect mouse events within the window's traffic-light button area, allowing clicks and releases on these buttons to pass through. This change enhances user interaction with the window controls while maintaining existing functionality for mouse events.
This update introduces functionality to detect double-clicks in the title-bar area of windows, allowing for window zooming when the user double-clicks above the content layout. This enhancement improves user interaction with window controls while preserving existing event handling for traffic-light buttons.
This update introduces checks for the `hideTitleBar` setting in the AKPlugin class, allowing for conditional window management features based on user preferences. The changes ensure that window resizing and double-click detection for zooming are only enabled when the title bar is visible, improving user experience and interaction with window controls.
This update introduces a lightweight struct for decoding user preferences related to the title bar visibility. The AKPlugin class now utilizes a cached static preference to determine the visibility of the title bar, enhancing the management of window interactions based on user settings. This change improves code clarity and maintains user experience by ensuring that window features respect the user's title bar preferences.
This update changes the access level of the hideTitleBarPreference property from private to fileprivate, allowing for better visibility within the module. This adjustment enhances code organization while maintaining the functionality related to user preferences for title bar visibility.
@TheMoonThatRises TheMoonThatRises added enhancement New feature or request squash Indicates whether a PR must be squashed before being merged labels Jul 7, 2025
@JoseMoreville
Copy link
Copy Markdown
Member Author

Same here, will squash and merge pr @TheMoonThatRises

Comment thread PlayTools/PlayCover.swift Outdated
Comment thread AKPlugin.swift
@JoseMoreville JoseMoreville merged commit d88cebb into PlayCover:master Jul 30, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request squash Indicates whether a PR must be squashed before being merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants