Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Another JWM project
#1
Hey everyone, I don't know if this is the right place but I'll post it here anyway.

I am currently writing a  low dependency quasi session manager for JWM.
It is written exclusively in C. It only uses libbsd and libconfuse as dependicies (for now)

Now you are probably wondering why?
Can't I just use Dex? Yes I could, but I want something more fast, something that could potentially run after every login with no performance impact. As for lxsession, I feel it's too intergrated with lxde.

The bare minimum of what this project hopes to implement is the following:

xdg-user-dirs management
Automatic JWM menu updates
New easy config file for managing the look and feel of jwm
XDG Autostart

Overall, this project aims use ideas from different programs like Dex and JWMKit and combine it to make something extremely lightweight yet improving the JWM experience.

So what is currently done you may ask?

Well I only started several days ago but my .desktop parser for the most part works perfectly. It's fast too, unlike all these python scripts out there, haha. 

Right now I'm working on the auto generation config for jwm. The root menu has a few issues where I need to strip %U and %F arguments that require a input. But other that I'm making good progress.

If you guys are interested, I will post a link to my github.
Reply
#2
Seems like a really great project to me! Please post your github link and keep up posted.
Reply
#3
Here's the link to the project on my GitHub.

https://github.com/purpasmart96/jwms

It's still very early in development, so please keep that in mind. I'm currently using the BSD 3 license but might switch it to GPL2.
You only need libbsd and libconfuse to compile it. Just run the build.sh script and the binary will be in the newly created build folder.
Also, The script builds it without optimization for debugging purposes, so just a FYI.
Reply
#4
Update. The root menu generation is pretty much done, the only thing missing is getting the icons, right now it just uses the category name for the icon for now. Icons will be handled eventually. The tray menu is about half done. It can currently generate the tray menu but it's still mostly hardcoded, it will try to use the browser, terminal, and file manager you selected in the .conf file, otherwise it looks up one that works. I might take a break on auto config stuff and work on the daemon part next. Will push the changes to github today or tomorrow.

I also fixed a pretty bad memory leak, I forgot to free the line in getline. No more memory leaks now.
Reply
#5
Alright guys, How would you feel about having GTK3 as a dependency? Right now I'm doing a lot of reinventing the wheel, and it is slowing down progress. Just implementing how icons are searched for in XDG is quite tricky. Lots of parsing of files, searching directories, etc. And that's not even including all the other stuff I have to reimplement. Using GTK3 for example would speed things up a lot and you might see an initial version release in late April. For now, I'm going to try to avoid it for now, since switching over to using GTK will drastically change the codebase for my project long-term.
Reply
#6
>How would you feel about having GTK3 as a dependency?

That's a tough question to answer, right? What are the odds of someone electing to use JWM and not not having GTK3 on their system? On the other hand, JWM is really low dependency, so so I could see keeping the dependencies of your project inline with that.
Reply
#7
(03-20-2024, 04:27 AM)John Wrote: >How would you feel about having GTK3 as a dependency?

That's a tough question to answer, right?  What are the odds of someone electing to use JWM and not not having GTK3 on their system?  On the other hand, JWM is really low dependency, so so I could see keeping the dependencies of your project inline with that.

Yeah, I was thinking of staying away from using GTK since the whole goal of this session manager is to stay lightweight and have minimal dependencies like jwm. I think it's going to stay that way, but there aren't that many libraries written in C that just search the icons, I've only found one project called "xdg-xmenu" and I might take some ideas from that. Another problem I've faced is that ini parser I was going to use has a max line limit of 1024 characters, which is unfortunate since there is one line in index.theme that always going to vary with length, and the common papirus icon theme goes way past that. So I'm going to have to drop iniparser and keep doing everything manually. I might have to take a look at inih though, you can change the max line length at compile time.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)