question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Implement unified app header

See original GitHub issue

What should we do?

Implement unified app header for Windows and Linux as specified in https://github.com/camunda/camunda-modeler-design/issues/45.

image

Why should we do it?

Part of our ongoing UI overhaul.


Solution Sketch

  • Use frameless window provided by electron and build our very own custom title bar for Windows and Linux
    • Implement keyboard accessibility (navigation, Alt + shortcut behavior, …)
    • Implement menus (reuse electron context menu?)
    • Implement title bar look and feel (window controls?, draggable to move window)
    • Implement frame?
  • Architecture: Add a switch between MacOS and Windows/Linux
    • Different headers
    • Different keyboards shortcut handling
  • Architecture: Menu construction
    • Move fully to client
    • Re-use menu definition in app header (Windows/Linux) as well as to create native menu (MacOS)

Detailed steps outlined in this tutorial.

As an alternative we could try to re-use existing libraries that implement such feature (cf. https://github.com/camunda/camunda-modeler/issues/2519#issuecomment-950837212).


See feature spec, overall design spec.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
nikkucommented, Oct 25, 2021

Haha, basically exactly my assessment. We don’t need to synchronize regarding this anymore then 😃.

1reaction
barmaccommented, Oct 25, 2021

My old (Nov 2020) research results:

  1. You can customize the title bar and remove the menu bar in Electron.
  2. Advanced customization relies on removal of the title bar completely (so-called frameless window) and then re-creating it with HTML & co. This is how it works in GitHub Desktop, which is also an Electron app.
  3. It is some effort but we have a great control over what and how we display.
  4. Alternatively, we can also just enable autohiding of the menu bar. In that case, it’s displayed only when user presses Alt.

Demo of what is easily achievable:

image

Draggable region -> if you disable the title bar, you have to manually set the area where you can grab the window to move it around. This is customizable too 🙂

Read more comments on GitHub >

github_iconTop Results From Across the Web

Always show important information on the form header in the ...
Always show important information on the form header in the Unified Interface · What is Power Apps? · Search by category · Articles...
Read more >
Unified Headers
In NDK r14 (as an opt in feature) we unified these into a single set of headers, called unified headers. This single header...
Read more >
In-App Header Bidding - Your Guide to Maximizing CPM - Publift
Learn how to implement in-app header bidding and increase your app's revenue with ... In a unified auction, bids from all partners are...
Read more >
How to add App Title in sap.ui.unified.Shell control Header?
Hi, I am using https://sapui5.netweaver.ondemand.com/sdk/explored.html#/sample/sap.ui.unified.sample.ShellBasic/preview shell in my ...
Read more >
In-App Header Bidding - The Ultimate Guide 2022 - Snigel
The technology assures a real-time unified auction where the publisher offers their ad inventory to many demand partners, like Google, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found