enlightenment/TODO

149 lines
7.3 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 app asks for borderless in properties - borderless toggle in menu
doesn't have any effect.
* BUG: menu for gadgets while up and if it changes apearance will segv because
its reference to the gcc is wrong as the gcc was destroyed and re-created
* BUG: if mouse is already grabbed when exebuf or winlist are activated - all
shit hits the fan after that (box can't be dismissed, keyboard grab fails
etc. etc.)
* BUG: set any specific border type and when you maximize the border changes
to default (unless its borderless)
* BUG: change exe name in basic mode in eap editor and icon vanishes (don't
extract existing icon and write out to tmp .png while rebuilding).
* BUG: resolution (xrandr) changes seem to screw the shelf up a bit.
* BUG: openoffice2's impress presentation fullscreen has sizing and
configuration issues.
* BUG: ghost windows happen if windows close when on another desktop or if
windows are very short-lived
* BUG: k3b has minimization issues when burning cds (it tries to unminimize
its window and this doesn't work)
* BUG: openoffice 2 when displaying a presentation with xinerama (multiple
zones) weird things happen (the presentation doesnt display - it seemingly
attaches to the 2nd zone, not the first), crashes have been reported too.
* BUG: modules need to destroy config dialogs on shutdown (otherwise - segv!)
* BUG: xdaliclock -transparent doesnt use shaped border (not handling shape
change later)
* BUG: if a user selects a border the border should not just change based on
properties. if user selects a border in border selector, then lock border
* BUG: if you iconify a window and while iconified the window unmaps
(rhythmbox does this a lot apparently) e doesnt realize and still thinks
it's iconified.
* BUG: in general fullscreen needs work, cleaning and testing. dont allow
desktop switches for the desk a fullscreened window is on, nor allow windows
to be raised above the fs win etc. ie the app must seem to be entirely fs for
that zone.
* BUG: if you have 2 zones and you fill up zone 2 (right) mostly and then run
a big xev (xev -g 1280x1024) that won't fit it gets placed offscreen to the
right of zone 2
* BUG: Hiding the label of e_widget_slider causes the slider line to disappear
* BUG: Window locks should be honored by the pager (e.g. Lock me from
changing position)
]]]
[[[
-------------------------------------------------------------------------------
ESSENTIAL FEATURES
-------------------------------------------------------------------------------
* if we want to do icons on the desktop - and as part of efm, i am thinking
that we have little choice but to implement a .desktop file loader. this
is not to hard - it's the xml jungle of the system menus that is sucky. the
real problems are where to find the icons for the .desktop files.
* middle mouse on gadgets as a quick move/resize thing?
* on xrandr screen res change e moves and resizes windows to fit in the new
resolution. this is good and bad. if some other app temporarily changes
res this means everything gets squeezed. we need a "temporary resize due to
res change" geometry state for apps where they get resized to a new pos/size
and the old size/pos stored. on a move or resize etc. by a user this old
geom is freed, but on a res change, e takes the old geom, if there, and
tries to use it (then limiting geom to the new screen res as it cuurently
does) otherwise it creates a new saved geom for the cur geom before
limiting it. maximized windows are reset to their old size/pos then
re-maximized too. old szie from unmaximize needs to have this check too
on unmaximize as do fullscreen windows. NB: what if app moves/resizes
itself during this - i assume for now all bets are off with prior geometry
then.
* 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 a way to access "all" apps app dir (and dnd from it into ibar etc.)
* add setup/install wizard to seed eap files etc. etc.
* support color classes (gui config etc. etc.)
* add clientinfo pane/popdown for borders
* gui config dialogs for all config
* make it possible to disable border buttons/actions (tell theme what is
disabled)
* Window Border Icon > "Create Icon" needs to copy the ARGB icon data (into a
temp file?) and use that as the default icon.
* Dragging a non-eap 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
-------------------------------------------------------------------------------
* need to do a massive theme spec overhaul. need to namespace signals, special
named parts that are needed, specific what is NEEDED froma theme, what is
optional (in terms of parts, groups and signals). etc.
* when adding some gadgets like pager, ibox, ibar - they default to "plain"
instead of inset. there should be a way for a gagdet to hint a default
preferred look.
* default config for shelf is screwy and needs fixing - related to gadcon
layout algorithm though.
* ipc is a mess. overgrown. hard to work with. what to do? remove?
* EAP cache files can be hit and miss and have problems. move things to be
explicit reloads.
* 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
]]]
[[[
-------------------------------------------------------------------------------
"NICE TO HAVE" FEATURES
-------------------------------------------------------------------------------
* winlist and exebuf can let the mouse select items
* 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
* non opaque move/resize
* 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
* improve drag/resize of gadget items
* pager should be able to be configured to control more than the current zone
(select which zone they control)
]]]
[[[
-------------------------------------------------------------------------------
OPTIMISATIONS
-------------------------------------------------------------------------------
* optimize clock theme (speed/cpu) (rotation in edje??? or evas???)
]]]