tpimh / nenuzhnix

the most useless linux distro
MIT License
30 stars 5 forks source link

Graphical user interface #4

Open tpimh opened 6 years ago

staalmannen commented 6 years ago

I think Sway or Durden would fit the aims

tpimh commented 6 years ago

I was thinking either Sway or Orbment, but this topic is open to discuss (and it's possible to have more than one as options if there are people to maintain all of them)

ghost commented 6 years ago

Velox

scsijon commented 4 years ago

I've asked Joe Wing of JWM for a comment, we've used his desktop within puppy/quuirky/EasyOS for quite a while now and he's usually very comfortable to work and modify things dynamically with.

[so]No, joe doesn't seem to be around now, so JWM is out.[/sp]

No, he's contacted me, it's possible under llvm, it was done with a BSD system so i'll at least look at it after I finish with ede and cde (another I haven't started with yet) as i'm familiar with it and Joe says there would be no problems with licencing (another thing I need to deal with).

scsijon commented 4 years ago

In the other hand, what about building from scratch with something like wmutils core which only needs the XCB library.

I was origonally thinking of creating a swm for it, but the OI package is no longer available, even on the wayback machine. A shame as everything is under the one exe file in swm, whiile it's split up in wmutils.

tpimh commented 4 years ago

I was also thinking of creating a simple wayland compositor using swc for this project, but I'm not sure I can maintain it. I would rather use something existing in the first version with GUI.

scsijon commented 4 years ago

The problem is finding something simple enough to be usefull, i.e. that doesn't actually use a whole lot of libs. I've already gone through most of those in https://www.gilesorr.com/wm/table.html and dismissed them as unworkable because of the number of 'extra' packages they need to run as well as their gcc/libc dependancies. I've still a half dozen to go through in detail yet, even if I go back in time to an earlier version. So i've not given up, and i'd like to not go with an external server like wayland, i've got nothing against it, but it has it's own packagesets requirements and they are not just one or two, which is what I would rather work with to keep it simple. I shall persevere!

scsijon commented 4 years ago

Just an update for you. I'm going to have a serious look at Xfast. XFast is a lightweight desktop environment that incorporates both the display manager and a window manager within the same process, which is what I was looking for. XFast is a fork and much further developed version of the Xynth windowing system. Like Xynth, it is not an implementation of the X11 protocol and as such although it has some limitations it doesn't have the overheads either, at present I don't think it is unworkable either. If I need to abandon that, i'll go back a step and look at Xynth itself.

UPDATE: And after looking around inside Xfast i've decided to start with Xynth [u]first[/u] as it has code internally that Xfast needs external libraries to be on system.

scsijon commented 4 years ago

Well, xfast/xynth could be built, but.... Basically too much otherwork to deal with here.

So going onwards, I was pointed to look at EDE from the eclipse project group (a thank you to them). It's now on github https://github.com/edeproject. Looks interesting, install docs say it needs dbus, but that parts no longer required as of 2.1 acccording to the changelog https://edeproject.org/wiki/changelog-2.1 , it's also clang buildable https://edeproject.org/wiki/compilingwithclang , https://edeproject.org/wiki/installingfromsource is the general compile doc, uses FLTK as the base and very few other packages.

Basically 3 packages 1- Jam - a make equivalent with extras (wonder if it could be used for other packages, if not the whole system); 2- edelib - the EDE library module; 3 - EDE itself.

Looks good too, look at https://sourceforge.net/projects/ede/ , the old sourceforge pages, now out of date of course, but...

Anyway, i'm going to give it a go and see what happens.

EDIT: I'm working on setting up a clean machine to build with and christmas is coming so it will be quiet for a few of weeks, but EDE seems a good possability for desktop, CDE and JWM are alternates I will also look at; at present the kernel will be either 5.2.21 or 5.4.1/2 and built on a EasyOS Pyro 1.2.9 /.1 or Buster 2.1.9/.1 base.

scsijon commented 4 years ago

And I think I'm going to fork and play with that so I can deal by adding and removing packages and configs as i go until it's push time.

scsijon commented 4 years ago

No, I haven't abandoned this, other 'things' have taken presedence is all it is, a week or two should fix everything and i'll be back.

Oh yes, ede actually looks good!

lm8 commented 4 years ago

Dmitry said to mention this option: https://wio-project.org/

I also saw a mention of JWM. I really like JWM! Not sure how that would work if we're trying to find an alternative for X Windows though. I have a list of X Windows alternatives here: https://lmemsm.dreamwidth.org/9311.html If tinyx or xserver-xsdl is used, JWM might be a really good option. I also think it would work with nano-x which isn't an X server, but can offer a similar API if you use libnx11 with it.

SDL works on Wayland, so anything with an SDL2 backend (like possibly nano-x) should also work with Wayland.

Another option for a lightweight window manager is SLWM ( https://sourceforge.net/projects/nanolinux/ ). Didn't see it in the window manager table linked above. SLWM can be built using nano-x (no X Windows needed) and is part of the NanoLinux and XFDOS distributions.

I tried EDE at one point and I'm not a fan of it. My experience was that the developers are not easy to work with.

I port a lot of software, so if the issue with using a particular window manager is just a glibc dependency, I can probably code a work-around for it. I do really like the idea of finding something with minimal dependencies. It would be nice not to have build over a dozen packages just to get a program to display to a screen.

lm8 commented 4 years ago

I should clarify the comment on EDE. If you meant the Enlightenment Desktop Environment, then my comment stands. If you meant the Equinox Desktop Environment, that is an interesting project worth investigating. It does require an extra library on top of FLTK, Seems to me, it would be easier to cut out the extra library, but it's supposed to provide some nice windowing and theme features. SDL 2 is much better at supporting internationalization than FLTK. Also, SDL is C based while FLTK requires C++. If you're not concerned with either issue, FLTK and Equinox make a very lightweight option compared to the other desktops out there. I have builds/patches for several FLTK applications (not using the extra EDE library) that would be enough to provide a basic desktop system (including calculator, calendar/pim, IDE/editor, audio editor, spreadsheet, video player, graphics editor, D+ or netrider or fifth web browsers, etc.). Also, you can run FLTK applications using nano-x. No X Windows installation necessary. See NanoLinux (mentioned above) for an example. I've also looked into using Fox Toolkit, but that does require X and there are not a lot of applications for it beyond what comes with it. Also, some applications are on one version and some on another. With FLTK, it's easy to patch and get FLTK 1.x applications to build with latest stable FLTK or FLTK 1.4. With Fox Toolkit, it means major changes.

There are 3 built-in theme choices in the latest stable FLTK. The EDE project is supposed to make it easier to add more themes. Wanted to mention, there's a really nice theme called oxy that has been around as patches to FLTK for a long time. Wasn't able to get all of the theme into the latest FLTK, but I did get a modified version of the theme accepted into FLTK 1.4 official source code. So, even though it's not stable, it might be worth looking into using FLTK 1.4. It has partial support for the oxy theme and they've cleaned up a lot of the backend code to try to make it more portable.

scsijon commented 4 years ago

Equinox thanks, https://edeproject.org/ https://github.com/edeproject are my referances.

I looked at Enlightenment some time ago for another project they would have suited, and agree with your comment, very 'stuck-in-the-mud'!

Already played with Nanolinux, good but not I think for this project.

Sorry, but not a fan of wayland size wise, it's good, but not tiny!

Don't like fox, there are a couple of others.

And I like having both C and C++ available.

lm8, your help would be appreciated if available, thanks.

And that will do from me, still behind with my T2 project though, so timesliping still, sorry. The T2 has to be up to running by the end of March so a deadline to deal with and latest restart with this project April1.

lm8 commented 4 years ago

Would be happy to help if I can. Let me know what you need and I'll do what I can.

What are you considering using for the X server? Any particular project for it that looks interesting?

Was thinking of looking into xserver-xsdl. It's been used as an X server for a couple of Android projects.

Have you looked at the jwm fork mentioned on the Puppy forum that adds SVG support?

Would also be curious to know if the project is going to use the .desktop files from the Freedesktop.org specs or something else. I've been looking into alternative ways to do a menu system. Any thoughts on how to set up access to programs via menu or other access system when they're installed?