Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OS.js as screen #16

Open
OCTAGRAM opened this issue Jan 28, 2018 · 2 comments
Open

OS.js as screen #16

OCTAGRAM opened this issue Jan 28, 2018 · 2 comments

Comments

@OCTAGRAM
Copy link

Swing windows are nice, but their control elements are ugly. Title is barely enough to be read, close buttons look misplaced.

I would like to use OS.js as screen, but there are no hooks to achieve it correctly. com.leaningtech.cheerpj.CheerpJDisplay is opaque. It probably should better be an implementation of customizable interface or abstract class.

@alexp-sssup
Copy link
Member

Most of the visual details for Swing/AWT windows is defined using CSS, they are currently fixed but we could make them user selectable. Would that be enough for your purpose? If not, what additional features/hook would you need?

@OCTAGRAM
Copy link
Author

No, CSS is not enough. OS.js has a sort of window manager mimicking Ubuntu. It puts window buttons on taskbar. So it synchronizes titles, it should know what buttons do the windows have and when windows change available buttons. Custom window manager can send maximize/minimize events. Also, window manager should have an idea about modality relations. Modal dialog windows should not have a button on taskbar. Instead, when user clicks on an application window button, window manager should be able to put on top every window involved in modal blocking in the same order as they were blocking each other. And window manager should do the same when user clicks on any blocked window.

I am writing from scratch. I am investigating if I can achieve good desktop-looking UI with Swing MDI. That won't work for existing applications' code, but for my code at least.

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

No branches or pull requests

2 participants