enlightenment/TODO

175 lines
8.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
-------------------------------------------------------------------------------
* screen res change with shaded windows that are bigger than the screen (eg
you go from 1600x1200 ro 800x600 and some windows are "temporarily resized"
down doesn't work right. shaded windows get resizes to widthx1 and unshaded
windows that u then shade and unshade seem to resize win but not border and
thus get garbage).
* 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)
* Need global unique identifier for gadcons, so that their config will move
with them from one shelf to another.
]]]
[[[
-------------------------------------------------------------------------------
ESSENTIAL FEATURES
-------------------------------------------------------------------------------
* after creating a background with the bg config dialog, we need to be able
to change its properties (stretch, tile, center, etc...)
* fm2 removable devices seem to be mounted as root, not user, thus no write
* fm2 theme needs to not suck
* fwin initial placement needs to be near icon that spawned the fwin
* fm2 custom icon view mode needs to have cleanup, align etc.
* fm2 custom icon view mode initial placement needs some fixing - better
placement, more efficient etc.
* fm2 fwin needs options for view mode
* fm2 needs a way to specify a multiplier, explicit size or "use original icon"
config per icon and per dir, as well as globally.
* fm2 should remember scroll pos per dir
* fwin should have option to display full path in window
* fm2 thumbnails - should display an icon while generating thumb
* fm2 needs to be able to handle signals from the fm fwin theme wallpaper and
overlay - to exec or do things (eg go to parent, close, refresh, top, bottom)
* fm2 on desktop needs option to turn off and select which dir on which zone
* fm2 needs to show icons again if drag was aborted
* fm2 needs to handle dnd of e apps too
* need a default desktop dir & file setup
* fm2 needs to auto-scroll if dnd hovers on edge of fm2 for a while
* fm2 needs spring-loaded folder opens
* fm2 needs to be able to specify dir customisations other than magic dot file
* fm2 needs rubber band select in icon mode
* 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 to drag other files in mult-drag to the right location
* fm2 needs a way of mapping a internal e actions to do based on mime or
extension (like add as wallpaper etc.)
* 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 re-sort/arrange - keep objects
around.
* fm2 needs a mime/extension/glob filter
* dnd needs to do xdnd properly.
* 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
* order / menu editing dialogs (e_int_config_apps.c) need to allow re-sorting the list of desktops
]]]
[[[
-------------------------------------------------------------------------------
"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)
]]]
[[[
-------------------------------------------------------------------------------
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
]]]