Hi all,
I’ve got some questions regarding the development of a andora1: GUI(Scale) I talked about in this thread.
Here is how Zoxc planned it for multi-tasking:
The application will reply with name, icon if it supports Scale. If it doesn't support Scale, it will do nothing.
When the Home key is pressed Scale will check which application has the screen (that would be the last started or switched application) and if it has registered with name and icon, if not Scale will pause the application, save the screen to a buffer and show the menu. If it has registered Scale will send it a message to stop printing to screen, if it doesn't respond within a timeline, Scale will pause the application, save the screen to a buffer and show a menu on top of that buffer with the following options: Wait, Kill and Minimize.
When the menu restores an application it will send a message to resume printing to screen if it supports Scale, or print the application's buffer to the screen and resume it.
Now, I don’t completely agree, so I looked quickly at gmenu2x, but it doesn’t do multi-tasking, and just launch the applications in its place (execlp). Therefore I’d like to ask the following questions:
- How do you send an application to background on keyboard shorcut(*home* key), without a running X Server?
- Would using SIGSTOP/SIGCONT be relevant to pause an app? Wouldn’t there be a problem with applications using timers?
- To save the screen of an app, would reading the framebuffer device be enough?
- If the GUI doesn’t rely on X, how do you switch between framebuffer apps and kdrive apps?
- Is it desirable to use an IPC mechanism to control an app? To send it a message for pause/resume, and receive messages for icon/title updates.
- Last but not least, how do you test that on an x86 machine ? =P
I’ve got some questions regarding the development of a andora1: GUI(Scale) I talked about in this thread.
Here is how Zoxc planned it for multi-tasking:
The menu will launch an application. The menu prints loading app name to the screen and send a message to the application then it will just wait for a Home key press. If the application is a background application a loading message will appear and you will just be returned to the menu.Zoxc said:Scale will open the menu.
The application will reply with name, icon if it supports Scale. If it doesn't support Scale, it will do nothing.
When the Home key is pressed Scale will check which application has the screen (that would be the last started or switched application) and if it has registered with name and icon, if not Scale will pause the application, save the screen to a buffer and show the menu. If it has registered Scale will send it a message to stop printing to screen, if it doesn't respond within a timeline, Scale will pause the application, save the screen to a buffer and show a menu on top of that buffer with the following options: Wait, Kill and Minimize.
When the menu restores an application it will send a message to resume printing to screen if it supports Scale, or print the application's buffer to the screen and resume it.
Now, I don’t completely agree, so I looked quickly at gmenu2x, but it doesn’t do multi-tasking, and just launch the applications in its place (execlp). Therefore I’d like to ask the following questions:
- How do you send an application to background on keyboard shorcut(*home* key), without a running X Server?
- Would using SIGSTOP/SIGCONT be relevant to pause an app? Wouldn’t there be a problem with applications using timers?
- To save the screen of an app, would reading the framebuffer device be enough?
- If the GUI doesn’t rely on X, how do you switch between framebuffer apps and kdrive apps?
- Is it desirable to use an IPC mechanism to control an app? To send it a message for pause/resume, and receive messages for icon/title updates.
- Last but not least, how do you test that on an x86 machine ? =P
Last edited by a moderator: