Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] A CToy based Linux distro #27

Open
markusbkk opened this issue Nov 18, 2023 · 3 comments
Open

[RFC] A CToy based Linux distro #27

markusbkk opened this issue Nov 18, 2023 · 3 comments
Labels

Comments

@markusbkk
Copy link

This is an idea I've had a few days ago and wouldn't mind hearing everybody's opinion on.

I think it would be great to have a small, educational distro that is less focused on performance but more so on learning.

Such a distro would provide many/most (ideally all. Albeit, that might be too fiddly when it comes to coreutils or the web browser. Definitely too cumbersome for Xorg) of its applications as simple folders that contain an application manifest, a README, the CToy executable renamed to the application's name and a src directory with the main.c file and any additional source modules.

The core system would consist (among other things) of:

  • A small floating window manager similar to TinyWM.

  • A similarly small but extensible terminal emulator.

  • A minimalist dock and/or rightclick menu to easily open applications from.

  • A "package manager" that would first read the application manifest from the remote, then download/git clone the repository to ~/Apps/ (unlike defined otherwise inside the application manifest).

  • A kind of source browser that conveniently scans ~/Apps/ for folders, then represents the names as a tree view, allowing people to conveniently view/edit an application's source code from one centralized hub.

  • A polished version of catclock (because every OS needs to have a Kit Kat clock).

  • Additional tools, frameworks and beginner-friendly documentation to easily develop additions like XScreensaver modules, docklets/widgets, text or image editors, CLI utilities, demos, games, emulators, et al.

As a main X11 library I'd encourage people to use XCB rather than XLib. While this makes code more verbose, it also teaches a more modern way to approach graphics programming.

The main goal of such a project would be to encourage young (and those young at heart) coders to write and share software.
It would explicitly be a learning tool, not the next macOS™.

@anael-seghezzi
Copy link
Owner

It goes out of the scope of CToy, but it sounds like a fun independent project to do with TCC.

It's not released yet, but you might be interested by Picotron, the next fantasy console by the creator of Pico8:
https://www.lexaloffle.com/picotron.php?page=faq

@markusbkk
Copy link
Author

It goes out of the scope of CToy, but it sounds like a fun independent project to do with TCC.

It's not released yet, but you might be interested by Picotron, the next fantasy console by the creator of Pico8: https://www.lexaloffle.com/picotron.php?page=faq

Yea. I know it's out of scope for CToy. I just think it would make sense to use CToy rather than write a different set of bindings for the educational OS.

I'm somewhat of a hobby OS aficionado so I'll probably give it a try and see what I can come up with.

@anael-seghezzi
Copy link
Owner

Sure, you can use CToy's bindings, no problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants