This post here mentioned some things about a window position API. This post is about describing some more API specifics and window manager capabilities.
I make a low key distinction between "capabilities" and "features" here, because capabilities could emerge into various custom features, or they could be prevented from becoming available to a use-case or workflow. It would all depend on any given system's configuration and scripting.
Sidenote: A Creative Process
As I said in a previous post about Free GUI, the process of my posting is to spout out all kinds of ideas to draw from at a later time of more holistic design and technical consideration.
While the overall idea can be very valuable, it could also end up technically in an unfortunately awkward place, like fitting a square peg into a round hole (being Wayland or X11 or other infrastructure).
- What capabilities would have to get cut in order to attempt to maintain the ideas' value while also trying to fit into existing infrastructure or any other limitations? . . .
- Answer: I do not know
- Would the overall idea be powerful enough to have technological negotiation power, in terms of persuading others to make necessary developments to undergirding infrastructure?
- Answer: Not so easily
- If the idea did have to get strategically cut down to size, would it still be valuable enough (to me and others) to justify its work requirements?
- Answer: Diminishingly so. Up in the air. Dynamically volatile. Highly subjective.
Free GUI is NOT:
- This ideation about Free GUI is not a call to arms for any FLOSS development community per se. My posting represents a process of describing parts of an elephant (or perhaps a killer whale in this case), with the intent of coming around again to a clearer picture of value offerings.
- A killer whale is not about eating penguins (Linux). That's stupid, and there's Linux, BSD, Redox, and Windows: too many operating systems to eat, and Windows would be the first on the list anyway.
- The Free GUI concepts of logical, common sense usability could venture far into the OS territory as far as the eye could see. That extensive idea would be about dreaming up an OS that would be very work intensive, and it would fall into a different category of OS than Linux. Yet it would still fall into an area of technological feasibility. It would probably be specifically desktop user focused - have a fully FOSS licensing scheme - and not be Unix based.
Free GUI Windowing Capabilities
Window Positioning
- An X,Y coordinate interface for windows / tiles
- A window / tile / widget ID / workspace ID / display ID system for positioning (duh)
- workspace resolution management (duh)
- attributing graphical layering modes per scripted conditions
- handler for custom scripts to do positioning of ID'd items:
- create all manner of classes for identification
- workspace, display, layer, custom class, order of usage, any useful distinction
Virtual Display Capable
- treat a window / tile as an extra system display
- own resolution
- stretched resolution
- adds resolution to total GPU demand
- move and resize like any window / tile
- treat a workspace as an extra system display
- can have a distinct resolution
- affixed as a workspace - not a floating or moveable window / tile
- does not add workspace resolution to total GPU demand (or does it?)
- split a workspace into multiple extra system displays
- can have distinct resolutions
- does not leave extra hardware display real estate unless perhaps it is blacked out
- affixed to a single workspace - not a floating or moveable window / tile
- does not add workspace resolution to total GPU demand (or does it?)
- Use virtual displays for ultra wide displays (or any physical displays), where otherwise, special hardware-based split screen or picture-in-picture technologies would be required
- Develop a method to use the same virtual displays for virtual machines
- Develop a method to use the same virtual displays for container-based applications
- or even container-based desktop environments?
- Use the virtual display for playing old games that require unique resolutions
- Use the virtual display for other fullscreen applications
- Use virtual displays for open-ended reasons
Application Window Zoom-1, Zoom-2, Panning
- zoom in/out application within the application window, which is kind of like magnify (Zoom-1)
- designate a separate application size, than the window / tile size (Zoom-2)
- pan application within the application window
- Pan can then be conditioned to remember the position to graphical or terminal alerts when small for instance.
- Application tiles can accommodate larger applications in a smaller position on the workspace - to be double clicked (for instance) to maximize or increase the size of the tile according to scripted conditions. This use-case is like an adapted realtime application thumbnail for tiling, which could double as an alert system, or to visually denote some stage of a terminal process, such as a presented y/n cli option. (whatever you want)

No comments:
Post a Comment