-
Notifications
You must be signed in to change notification settings - Fork 1
Description
libdb.so currently hard-codes what windows the user will have on screen. This isn't very realistic: ideally, the user should be able to open multiple windows, each operating as its own instance.
Proposal
This issue proposes that each window (component) should be able to be dynamically added and removed as needed. This should be done simply by dynamically creating new Svelte components and adding it onto a list.
Terminal
For the Terminal, doing the above does not work, as the component may create conflicting WebAssembly instances. Instead, we should extend the WebAssembly API to be able to distinguish multiple terminals apart from each other using just 1 instance. For example:
func write(b []byte)
func read() (b []byte)
could become:
func write(termid int, b []byte)
func read(termid int) (b []byte)
Default Windows
By default, the Portfolio window is spawned. That should be the only default window.
Taskbar Shortcuts
Similar to Windows and Windows-based environments, the desktop panel should contain a few shortcuts that help the user launch apps without needing to enter the App menu.
App Menu
We've yet to design the app menu, and the button currently does nothing. It would be nice to think of inspirations for the app menu before we can think about designing it: do we want to follow a Windows-7 retro-style design or do we want to mock modern GNOME 4x designs?