I think I want to design and build a desktop environment. I believe I've figured out all the different parts I need for this.

Assigning applications to windows is working!

I only have 64kb of memory to work with, but it's going jam-packed with goodies.

Awyis! First directory listing. Gonna have to turn this into icons..

Managed to bind a top menu to a window's application manifest. This whole thing is now at 4514 bytes in size.

If I can keep all desktop environment stuff under 8kb, it'll leave plenty of space for fun stuff.

Dragging windows around makes it feel a bit more real. I love i3's win+click to drag any window under the cursor, so I went with something like that.

You need to press B button the NDS to move the window with the stylus.

While full background redraw is fine on a raspberry pi, it might be a bit heavy on slower devices so I think I'll use this trick, draw an outline of the drag, and only redraw on release.

@neauoire
That works!!

Strictly a preference thing, but you're not going to put the icons on the right side like the classic mac? Do we have Windows 95 nostalgia mixed in, too? 😆

@RL_Dane Probably not, it would be a slower and more complicated code to align right haha.

@neauoire
Interesting. I hadn't thought of that.
Of course, it wasn't actually right-aligned in the classic macos, but rather centered below the icon, but you have to make the best use of the screen real estate as you see fit.

@RL_Dane I'm trying to make it as fast/small as I know how to make it, most of the drawing of the screen is one big hack!

git.sr.ht/~rabbits/potato/tree

Follow

@neauoire @RL_Dane
Are you familiar with Bill Atkinson's QuickDraw tricks? I suspect the answer is "yes" but asking just in case because they seem to be somewhat forgotten because Apple used to have a patent on them.

patents.google.com/patent/US46

The original source code in all of its 68K glory is available here:

computerhistory.org/blog/macpa

(I know I had a bookmark of a blogpost explaining how the region trick in the patent worked, but I can't find it now)

@neauoire @RL_Dane

This might have been the blog post I was thinking of.

basalgangster.macgui.com/Retro

(tangent: what happened to online search? Filtering out irrelevant search results to find this was an incredible pain)

@vanderZwan @neauoire

I was mentioning Atkinson's QD tricks a while ago, but didn't have a source for them. Thanks for the info!!

Sign in to participate in the conversation
vis.social

vis.social is an open social platform for creative people, especially anyone in SciArt, SciComm, data, visualization, creative coding, and related arts and research. English is the common language of the instance.