Some stuff I added (or plan to add):
There's 2 types of closing however: Closing (as of setting a flag for the app to think about it closing) and Kill (forcibly end the process, regardless if it wants or not). This is so Task Manager can moderate the window manager properly.
Quite a bit, sorry for taking so long and to blast out so much but it's how it is, eh?
It's definitely still in beta, I don't even have a package loader yet, but it already gives an idea as to how it works.
Return values and automation of window properties
Midori OS apps need to manually specify what they need, such as adding a close button and triggering its logic in the app's logic. I would like to introduce window flags, which the window manager will take care of without you needing to explicitly specify these except just a flag value you set in the property DEF of the app. About return values, I changed the format of the app DEF, it returns a value and also specifies how the app should react.Return code specifications
-1 or lower: App will not close when flagged to. 0: App closes immediately. 1: App can be closed. Progress data can be appended using WM_mkProgressCode() in the RETURN. It returns a value lower than -1, so it will refuse to close.Window arrays
App windows can use global values, but no longer have predefined arrays like in Midori OS, but you can create them yourself, as well as other ones. It's basically Midori's later array concept but more generalized. The main idea is that you "allocate" an array from the pool and it returns an array ID to later get the array name and use VAR() to read/write to it. The way I implement this allows you to get the first allocated array ID of the window using WM_1stArr(WID) and have the other associated array IDs inside that one, but global variables can hold them too. Example:DEF APP_TEST_ARR(WID,SX,SY,EX,EY) VAR ARRID%,ARRN$ IF ! WM_HasArray(WID) THEN '"Allocate" an integer array with 32 elements '0 - int, 1 - float, 2 - string ARRID% = WM_AllocArray(WID, 0, 32) IF ARRID%<0 THEN RETURN 0'No free array, will not continue ELSE ARRID% = WM_1stArr(WID) ENDIF ARRN$ = WM_GetArr$(ARRID%) GPUTCHR SX,SY,"ARR[5]="+STR$(VAR(ARRN$)[5]) INC VAR(ARRN$)[5] RETURN 1 'When signal sent, close immediately END