FedeDP / ncursesFM

Ncurses File Manager for linux
GNU General Public License v3.0
83 stars 3 forks source link

Port to non-Linux UNIX #23

Open marcastel opened 5 years ago

marcastel commented 5 years ago

The project's title states this is a Linux utility. And so it is. I wanted to try it out on non-Linux UNIX, in particular macOS, but dependency on timerfd makes this a painful port... any ideas?

FedeDP commented 5 years ago

Hi @marcastel! Yes, timerfd is one of the non-portable things in here. The other is UDisks watcher on sd-bus library, i think (but those can be disabled at build time). Unfortunately this project is no more under active development. I started a port to cpp a while ago: ncursesFMpp, but it stalled too... But a non-linux port was never considered.

I think your only choice is to port ncursesFM to use some poll-wrapping library (libuev, libae etc etc), this way it should achieve a good compatibility with non-linux os.

marcastel commented 5 years ago

Thanks @FedeDP for your prompt reply. I like your project as a lean and easily customisable alternative to MC (5K vs 103k LOC). Hopefully the Christmas period will give me some time to explore this more and see if porting (or partial rewrite) is a worthwhile or not approach. Cheers and Merry Christmas :-)

FedeDP commented 5 years ago

It would be great to let NcursesFM have a contributor (and i'd be very happy to give you write access to repository, if you feel hackish on this one); i'd say that ncursesFMpp would fit better as it was intended as a complete redesign of ncursesFM. But if you feel more comfortable with C (i am too!) an ncursesFM2 is great. I'm very open to review any PRs; in general, i think that ncursesFM has a clean code but it has not a great architecture; thus probably a rewrite with a better architecture and copying over single functions (eg: copy/paste etc etc) can be worth it. I already thought about entirely re-writing it using my own libmodule, but again i haven't got much time to work on this lately :)