fxde-core/docs/Goals
2021-03-06 13:17:27 -04:00

79 lines
2.9 KiB
Plaintext

Goals for the next release
·> Provide a simple graphical utility for persistent configuration
·> Add an initial configuration dialog that runs on first start
·> Further modularization of the design (and make the grouping more consistent) [IN PROGRESS]
·> Proper code style (indentation, etc) [SO FAR SO GOOD]
·> Attempt to reduce depedence on external programs further, where possible [IN PROGRESS]
·> Increase portability through the use of "which" when executing programs [USING IF [ -x ] INSTEAD]
·> Refine the aesthetic [LOOKING GOOD SO FAR]
·> Implement a proper mechanism for switching themes on the fly [LOOKING GOOD SO FAR - PAPE WORKS]
·> FIX THE UI SCALING ISSUES!!! [SHOULD BE WORKING - TEST]
·> Implement rudimentary keyboard-based window management including tiling
·> Dialog system to replace XMessage?
·> Try to write a POSIX script to generate automatic menus, instead of using
XDG Menu Maker. Requiring Python for a lightweight "DE" is stupid.
[EDIT] Scheme would be better for this
·> Write a script for automating the process of theme creation? Would be nice.
Maybe try to use Scheme for this.
·> Write wrapper scripts using FvwmButtons for MPV, FFPlay, MPlayer, etc that
otherwise can't open on their own. Maybe implement a file-chooser and such?
·> Convert all included graphics to png, to reduce library requirements.
·> Attempt to make features useable with other tools, like
ImageMagick's "import" instead of scrot [LOOKING GOOD SO FAR]
·> Use POSIX shell for simple calculations, and Scheme for more complex tasks
such as generating program lists [LOOKING GOOD SO FAR]
·> Write a screenshot function and add wide-area or specific-area flags to
Hunter
·> Write the "Waiter" script in Scheme, to automatically generate valid FVWM
menus using the XDG specification.
Overall structure will be the following
mainrc
/ | \
/ | \
.prefs infra/ modules/
/ | | |
/ progs/ * *
assets |
/ | \ *
widgets audio colors
main will read the preferences file, which will tell it what colorset,
soundfont, and widgets to load from assets (plus stuff like wallpaper).
it will also be responsible for reading in the preferred programs,
listed under the progs directory.
main will then read in all files under the infra/ directory; this will
be responsible for defining the functions, window management, and misc
details of the inner workings of things. they will be broken up by category;
windrc for window management, funcrc for functions, menurc for menus, cosmrc
for cosmetics (i.e the assignment of colors and widgets to objects)
lastly, main will read in all relevant modules; at a bare minimum, this
includes the Shelf, the Taskbar, and the Command modules. It will also
execute the StartFunction and DaemonFunction, to initialize FXDE.