For people who used this API, here are the changelogs! (current version: 1.4.11)
Qdow API 1.0
first release
Qdow API 1.1
Added a window watcher variable to record x/y position
All windows now require WindowAPI to exist for window watcher to work.
Fixed a bug where the "close window" block only closes New Window
Qdow API 1.2
Added a rendering block to reduce space
Finally added a version comment on New Window
Added a customize block to change the window's appearance
Qdow API 1.3
Replaced the titlebar render block with a much more complex but faster version to reduce lag
Fixed Black Contents of window when rendering
removed Block Variables on the render block
Qdow API 1.4
fixed many bugs (I meant literally many which felt like decades)
1.4.11
plans to remove the unmaximize block
modified the windows reporter to delete any unnecessary windows (closed windows)
Added a quick demo
Added borders
fixed rendering after adding borders
Optimized rendering with 75% accuracy
If you want to improve or report bugs on this project, you can post a comment on this post! I'll be sure to kindly check it out and add it inside the project. (and yes, i'll credit you.)
Interesting idea! I had one big issue with it, and a couple of minor details about the programming.
The big issue is that the description of GO TO WINDOW led me to expect that the sprite would be attached to the window. You can do that with SET [MY ANCHOR] TO. Thereafter if you move the window, the sprite will move with it.
Strictly speaking, we don't make any promises about the order of the clones in the list reported by MY CLONES, so it's better to use the new clone directly in the TELL. (This is why having the reporter version is so much better than just the command!)
And one more, which is that you can save some time by taking advantage of hyperblock features. For example instead of
This part makes the title bar and the window body. Your modified version turns every pixel to that pixel, and it's not how i intended it to do. The code i made is not that complicated but it's optimized enough to make a window.
I made a much faster way of rendering the window by extending the lists and connecting them using append. hope this might help with other beginners' projects
Generate a unique ID for each window, and use that to identify different windows instead of using the window's name. This makes it so I can make more than one window with the same name.
That's what significant updates are for. Try adding it anyway! I'd say all these previous updates weren't very "major," It was more like a "new app" and stuff that didn't need a new major version.
This update, however, is major. I am going to attempt to add something like it, OS7 will support more apps with windows, but for me to add resizing is something I really don't want to do, seeing as this version is releasing in about 8-9 days.
OS8 (Codename: Clementine) will have many new features I can't say.
I'm already beta-testing window resizing with ColdFusion Architecture, but that won't be for this major version.
If you want window resizing, and that's all you want, go to Frames OS.
If you want games, apps, community features, and more, go to SnipOS 6.