Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

custom-electron-titlebar

AlexTorresDev11.3kMIT4.2.8TypeScript support: included

Library for electron that allows you to configure a fully customizable title bar.

typescript, electron, title bar, menubar, windows, linux, freebsd

readme

Custom Electron Titlebar

This project is a typescript library for electron that allows you to configure a fully customizable title bar.

CI License NPM Install size

📄 Documentation

Standard Title Bar

Screenshot 1

Bottom Menu Bar

Screenshot 2

Screenshot 3

Custom color

Screenshot 4

📦 Installing

You can install this package with npm, pnpm or yarn.

npm install custom-electron-titlebar
pnpm add custom-electron-titlebar
yarn add custom-electron-titlebar

🛠️ Usage

The implementation is done as follows:

In the main application file (main.js or .ts)

import { setupTitlebar, attachTitlebarToWindow } from "custom-electron-titlebar/main";

// setup the titlebar main process
setupTitlebar();

function createWindow() {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    //frame: false, // needed if process.versions.electron < 14
    titleBarStyle: 'hidden',
    /* You can use *titleBarOverlay: true* to use the original Windows controls */
    titleBarOverlay: true,
    webPreferences: {
      sandbox: false,
      preload: path.join(__dirname, 'preload.js')
    }
  });

  ...

  // attach fullScreen(f11 and not 'maximized') && focus listeners
  attachTitlebarToWindow(mainWindow);
}

In the preload file (preload.js or .ts)

import { Titlebar } from "custom-electron-titlebar";

window.addEventListener('DOMContentLoaded', () => {
  // Title bar implementation
  new Titlebar();
});

To see the options you can include in the Title Bar constructor, such as color of elements, icons, menu position, and much more, and the methods you can use, go to the wiki

💰 Support

If you want to support my development, you can do so by donating through 💖 Sponsor

📝 Contributors

I would like to express my sincere gratitude to all the people who have collaborated in the development and advancement of this project. I appreciate your contributions.

✅ License

This project is under the MIT license.

changelog

Changelog

4.2.8 (2024-01-15)

Bug Fixes

  • unfocusEffect: :bug: Fix unfocusEffect on titlebar (45c6917)

4.2.7 (2023-08-13)

Bug Fixes

  • window-controls: :adhesive_bandage: Fix Maximization button (38740fc), closes #235

4.2.6 (2023-08-10)

Bug Fixes

  • bgColor: :bug: Fixed a background color (d29b38a)
  • bgColor: :bug: Fixed a background color (776a8bb)

4.2.5 (2023-07-24)

Bug Fixes

  • titlebar: :adhesive_bandage: Fixed bugs detected by the test (1a6bbab)