enlightenment/TODO

127 lines
5.5 KiB
Plaintext

MINI FREEZE:
Status: ON
What is this:
We will have lots more of these during e17 devel for serveral reasons. A mini
freeze is a call to STOP adding new features and funkiness. It means people
need to stop and go BACK over their code and fix FIXME's. All those bits of
code where things are string together with sticky tape and chewing gum need
to be fixed PROPERLY. This may mean pooling code into a common subsystem
(this is not a new feature. it is fixing loose ends with design). This may
mean adding api calls to make implementation cleaner or remove hacks. it may
mean more debugging tools in things like e_object and more checks for sanity.
This means testing stuff so it doesnt crash. or make things unusable or leak
memory. check leaks (use valgrind or whatever tools) to check for leaks, and
for stability issues. double check you return the correct values from
functions or use return values. Check callbacks. Compile with -W -Wall to
help find obvious bugs waiting to happen. Modules need to clean up on
shutdown. Code needs to use the appropriate subsystem that is available for
what it wants OR a subsystem needs writing if it will be a shared/common
feature.
This issues list must be brought to 0 size before E17 features can move
further.
Current freeze issues are:
ISSUES:
* pager doesnt track window stacking, and desktops properly (eg iconify, go to new desk, uniconify - pager does not move the window)
* pager needs an overhaul
* pager edje gfx...
* pager needs desktop bg thumbnail wrapper/handler and cache system
* pager needs to support miniature versions of bg object
* consoldiate client lists - we have client lists for containers, zones, desks AND e_borders.c consolidate into 1 list that has all borders with their stacking and what desk they belong to (and thus zone and container)
* virtual desktops need an overhaul. hacked in waay too quickly.
* virtual desktops need fixing to work with zones properly
* gadman gadget menu needs icons :)
* ibar right click context menu needs config items in it as in the module config menu
* any known segv's must go
<add more issues as they are found>
FIXME: group these TODO items into:
1. essential features
2. fixes
3. cleanups
4. optimisations
5. nice to have features
Some of the things (in very short form) that need to be done to E17...
Also look at all the .c files - they have their own localized TODO lists
These are in no particular order:
* add cmd-line options to fake xinerama screens
* java apps seem to have a hard time if we dont pretend to be kwin (see e_hints.c) - get this stuff upstream to sun and get things fixed in java.
* dropshadow is not optimal and has extreme edge-case bugs
* gadget containers (shelves)
* fix border raise/lower to use certain marker "windows" to not raise above or lower below (menus should always be above the top marker window for example)
* track mouse location on a border/desktop level
* add key input focus control for desktop modules
* finish off icccm support
* optimize clock theme (speed/cpu)
* add general actions to be hooked to button/key bindings
* add "icon box"
* add netwm support
* different cursors for different parts of the screen
* alt+tab status list of windows
* add a "taskbar"
* add cpu module
* add cpu speedstep module
* make root menus configurable (what mouse/key brings up what)
* add favorites apps menu items for editing (at the bottom or such)
* add a way to access all apps
* list window properties then only fetch the ones that exist on window map
* non opaque move/resize
* optimize dropshadow module to blure faster/more efficiently
* change evas and ecore_evas to create shape rect lists directly
* support shaped clients borders etc.
* ibar need to support label pop-ups
* borders need to be able to change border on the fly
* add push-away move
* add window move/resize snap/resist to adjacent window
* add window glueing
* add window tabs (multiple clients)
* add setup/install wizard to seed eapp files etc. etc.
* make ipc try open on other ports numbers if current is taken
* fix error dialogs to also have a themed/edje one with proper text layout
* add clientinfo pane/popdown for borders
* add a button area expansion for borders
* add template button for expanded buttons
* add a status area expansion for borders
* add a status module template for borders
* allow desktop modules to define no-cover zones
* support text and color classes
* add tooltips
* add fullscreen support (e16 xvidmode or xrandr style)
* add screen rotation info to managers
* make xrandr support get rotation
* add rotation to containers
* fix multihead support (executing with DISPLAY=:0.1 on screen 1 for example)
* maybe add systray module/support?
* fix all loose ends
* allow object paranoia to be a runtime option too
* add sliders, radio and check buttons for clientinfo pane
* display coords while moving
* add separate app menu bars at top of screen support
* add "osd" subsystem for things like volume controls on keybboards, etc. that overlay the screen
* add really nice "about" box with theme, authors credits list etc etc.
* init splash needs te be able to be signalled "end of init" and it can respond with a "splash end" signal
* "immortali" windows (e will not allow that window to be closed or will refuse to exit as long as the immortal flags is set until it is unset to stop users from doing silly things like logging out while important stuff is happening in that window -a menu option for this woudl be nice)
* ibar lamp needs shrot timer on mouse out for hide before hiding (and del the time on mouse in)