enlightenment/TODO

144 lines
6.9 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
-------------------------------------------------------------------------------
* BUG: if maximize policy == fullscreen then weird things happen on
maximize and unmaximize with gvim (probably gvim tries to resize itself
on maximize and it screws e's account keeping) but on unmax it ends up
just moving a bit, not going down in size.
* BUG: smart placement seems to screw up if a shelf is at the top of the screen
* BUG: e17 screen res diaolg doesnt work under xephyr - why?
* BUG: "match this window only" doesnt fall back to other unused remembers
* BUG: xdaliclock -transparent doesnt use shaped border (not handling shape
change later)
]]]
[[[
-------------------------------------------------------------------------------
ESSENTIAL FEATURES
-------------------------------------------------------------------------------
* fm2 needs a right-click file properties dialog
* fm2 needs a way to set custom backgrounds and handle scrolling
* 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 mimetype to 1 or more commands to execute or
internal e actions to do (like add as wallpaper etc.)
* fm2 needs a way to use custom icons per dir/file
* fm2 needs a icon views (auto-arrange, snap to grid and free placement)
* 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 way to replace or extend the right click menu (disable/enable
rename/delete/refresh etc.)
* fm2 needs a mime filter
* middle mouse on gadgets as a quick move/resize thing?
* 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)
* Dragging a non-desktop icon from a border to the ibar should automatically
create the icon and add that (instead of warning the user that this can't be
done)
]]]
[[[
-------------------------------------------------------------------------------
CLEANUPS
-------------------------------------------------------------------------------
* menus need to be able to limit max width (especialyl windows and lost
windows menus) optionally.
* app menus should prune out menu submenus if the submenus only contain menus
and no actual app desktop files (just a menus tree and nothing useful)
* client list menu could do with work on ordering, using separators to demark
this desktop and other desktops, sorting by recently used, separate
section for iconified apps etc. etc - configurable.
* 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
* clientinfo dialog could be nicer - then again it is an obsucre thing.
* 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.
* 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 should support place for window "screenshot" in list as well as
app icon
* 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.
* virtual desktops preview should allow clicking on a desk to access the
"wallpaper" dialog. should default to only changing the clicked desktop
* 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
-------------------------------------------------------------------------------
* nice to have a menu item for a window for "add keyboard shortcut to run this
app" would be nice usability
* full fm2 support as an icon fm needs work - beyond fsel needs and for icons
on the desktop etc. etc.
* switch to desktop of a new window if it opens on another desktop than the
current one (optional too)
* 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
* file icons on the desktop (people ask for it) - xdnd for these
* 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
* move restart and exit enlightenmtn menu items out of system menu somewhere
in advanced things for mega-nerd e users.
]]]
[[[
-------------------------------------------------------------------------------
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 fm code's file scanning isn't insanely fast - icon size calcs etc. speed
up for special cases like list view?
* new fm code re-lays-out a dir every time the queue is processed - maybe try
to speed this up
]]]