enlightenment/TODO

160 lines
8.0 KiB
Plaintext

<<<
Some of the things (in very short form) that need to be done to E17...
(These are in no particular order)
>>>
[[[
-------------------------------------------------------------------------------
BUGS / FIXES
-------------------------------------------------------------------------------
* shelf autohide uses mouse in/out events for the shelf object. this is not all
good as it conflicts with edge flip for desktops (if shelves slide off the
screen) also it doesn't account for window placement and sizing when the
shelf is hidden so you cant maximize to the now available region when the
shelf hides. i think hiding needs to be done noutside of the theme and by
the shelf itself. e will still emit signals to let the theme do things, but
e will also handle the hide/show based on a unified edge mouse event trap or
trap on the region the shelf would normally be in. also need a way to lock
the gadcon and thus gadcon asks shelf to lock in (stay visible) for things
like popping up menus, popups etc.
* shelves seem to get confused with their contents if you have 3 shelves over
2 screens/zones - when you go back to 1 screen form 2, one of the shelves
gts the contents from the now non-existant shelf.
* gkrellm options to "dont show in pager or taskber" only work if gkrellem is
moved to one monitor and back again - doesn't seem to work on e boot/start
if it is started at e start time
* pane flip animation doesn't work right - left screen slides diagonally
instead of in a straight line
* exebuf on other zones doesn't allow mouse to work properly (only
zone/screen 0 works properly)
* sometimes file monitoring for file changes, adds, deletes on a dir stops
working all of a sudden - unknown what causes it and why right now.
* e_apps wont pick up changes in favorite menu dirs made by the applications
config dialog after a while (i think once u get 1 app in it stops listening).
possibly the same bug as above with e_fm...
* Need global unique identifier for gadcons, so that their config will move
with them from one shelf to another.
]]]
[[[
-------------------------------------------------------------------------------
ESSENTIAL FEATURES
-------------------------------------------------------------------------------
* create a good app repository where the user can get applications from to ibar
* fm2 needs its fops to become async (in slave process and ipc to it)
* fm2 needs its file listing/stat()ing etc. to go into slave proc
* fm2 needs a right-click file properties dialog
* fm2 needs to display symlink info on files somehow
* fm2 needs to display more than 1 file being dragged (if more than 1 is being
dragged)
* fm2 needs a way of mapping a internal e actions to do (like add as
wallpaper etc.)
* fm2 needs a way to use custom icons per dir/file
* fm2 needs a way to bypass thumb gen anim on just a unrealize/realize as well
as change state instantly if it already was selected
* fm2 needs to not unrealize then re-realize on resort/arraneg - keep objects
around.
* fm2 needs a mime/extension/glob filter
* fm2 will pop up tonnes of error dialogs if u try delete a lot of files in a
tree you can't delete - fix to make this a dialog with a log etc.
* dnd needs to do xdnd properly.
* fm2 needs icon views (auto-arrange, snap to grid and free placement), for
fwin windows and the desktop
* language packs: need to have a tool to load/setup a language pack (which
means .mo compiled files from a .po, an optional font and a config file that
specifies the locale and font) and then install the font(s) either as a user
or superuser, and the .mo in the system or a user locales dir.
* finish off icccm support
* finish complete netwm support
* add a "taskbar" module
* add cpu load module
* add setup/install wizard to seed .desktop files etc. etc.
* finish clientinfo dialog for borders (netwm props etc. etc.)
* gui config dialogs for all config
* make it possible to disable border buttons/actions (tell theme what is
disabled) like close, maximize, etc. etc. buttons.
]]]
[[[
-------------------------------------------------------------------------------
CLEANUPS
-------------------------------------------------------------------------------
* make e internal windows (config panel, dialogs, config windows etc.) use
special border styles by default
* accidental DND removals of icons from ibar - make it harder by not removing
if you do not drag it far enough away (put the icon back where it was).
* e app editor needs to be able to let users select what mime types that app
can handle :)
* emit more signals to window borders when window move starts, stops, resize
starts, stops, on raise, lower, etc. etc.
* remove a lot of ipc commands that should be done via the gui now
* remove config items marked for removal
* about dialog can do with redesign
* desklock's pam profile should be configurable as system-auth doesn't
always work and the fallback checks might not work either.
* If a user has set a border type on a window, don't bother to check for
changes in properties to change the border based on prop changes.
* need to audit, namespace and expand text and color classes
* need to specify what is NEEDED from a theme, what is optional (in terms of
parts, groups and signals). etc.
* winlist could divide windows up into blocks - sub-lists within a container
per desktop (with stick windows considered to live on the "current" desk
when winlist starts)
* make it easy for modules to hook into ipc and extend it for themselves
* e_color_dialog needs to have an area for favorite and recently selected
colors. store in config and use ilist? or store as color files and use
e_fm2? or custom widget?
* virtualize e_bg to be able to put a bg in any canvas (given any desktop
config input) and return an object.
* desktop flip animations need to allow control over accel/decel and
have a better ui - add wobble and controls etc. etc.
* internal windows (config dialogs, etc) should re-open after a restart
]]]
[[[
-------------------------------------------------------------------------------
"NICE TO HAVE" FEATURES
-------------------------------------------------------------------------------
* insets in shelf needs to rottate with shelf
* a way for modules to add config panel items
* a way for external apps to register config panel items (and be executed)
* option for svg icon render resolution size
* for startup - apps that say "wait for me befofe running the next app" have
a timeout so if they never complete - complain and continue anyway.
* nice to have a menu item for a window for "add keyboard shortcut to run this
app" would be nice usability
* emit signal to submenu entries if they have a submenu shown for them or not
* setup configs for gnome and kde (as options) if they are installed (eg
run gnome-settings-daemon).
* check evas engine can work on a given screen before using it
* add non-opaque move/resize (use shaped windows with canvases etc.)
* add "osd" subsystem for things like volume controls on keybboards, etc.
that overlay the screen
* pager should be able to be configured to control more than the current zone
(select which zone they control)
* icons for all config panel items
* icons for most mime types
]]]
[[[
-------------------------------------------------------------------------------
OPTIMISATIONS
-------------------------------------------------------------------------------
* add evas pre/post render callbacks per evas canvas and callbacks per object
for pre/post render too
* optimize clock theme (speed/cpu) (rotation in edje??? or evas???)
* evas could detect an image is scaled multiple times and keep a scaled copy
that it could share in cache, and then punt the original back to cache.
* evas could support 8bbp alpha only images for dropshadow
* on disk app cache for .desktop files, icons and paths
* new fm2 code's file scanning isn't insanely fast - icon size calcs etc. speed
up for special cases like list view?
* new fm2 code re-lays-out a dir every time the queue is processed - maybe try
to speed this up
]]]