arozos icon indicating copy to clipboard operation
arozos copied to clipboard

[Feature request] Catclock

Open markusbkk opened this issue 1 year ago • 2 comments

Is your feature request related to a problem? Please describe. Technically, it should be a crime to ship an operating system without a clone of the venerable X10/X11 catclock 😸

Describe the solution you'd like I'm in the process of creating a "naive" implementation myself but would like to ask for some help.

While the eyes and clock hands are CSS primitives, the base "sprite" is essentially re-used from catback.xbm. I converted it to a PNG through Convertio and then used another online service to vectorize it (surprisingly, the result is better/closer to the original than what I had previously been able to produce through Inkscape).

My knowledge of vector graphics and the SVG format is rather limited and I'm stuck attempting to remove the white background from the base stencil (see SVG file below) I generated through PngToSvg.

Would be great if somebody could help and remove the white background without changing other attributes (as a happy little accident will have it, I'm able to partly colorize the SVG with custom CSS variables, similar to how the original can be colorized).

Describe alternatives you've considered

An alternative is to recreate the entire look through CSS primitives and/or handwritten SVG, or by having a talented vector artist pen a high res replica.

Another alternative is to use an HTML canvas to emulate a framebuffer and render the original xbm pixel by pixel, ideally doubling all pixels for a higher resolution. That, however, seems rather a bit more complicated (especially when it comes to addressing the correct pixels for colorization) and will probably be less performant.

Additional context

The SVG in question (I changed height/width to 100% each, so it scales with the window. Other than that, it's straight from PngToSvg)

image2vector

Demo: Screen-recording-2022-10-26-10 07 43-PM

I will open source the full code as soon as it's properly polished and has the correct graphics (still missing the tail, too). Note that the kind of grainy/retro look of the demo is from the WEBM to GIF conversion and not part of the initial offering (although I dig it enough, I might consider adding full screen filters like that).

As a follow-up, I'd also be interested in implementing frameless windows with custom handles for this, sometime down the line.

Your OS is, by far, one of the top 5 things I've found on GitHub throughout the years. I was actually working on an OS similar to yours myself, but I was too fixated on certain hard-to-implement details so it never took off the way yours did.

markusbkk avatar Oct 26 '22 20:10 markusbkk