forked from enlightenment/enlightenment
171 lines
8.1 KiB
Plaintext
171 lines
8.1 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: race condition on winlist activate via keypress and the key grab thus
|
|
missing the alt key raise sometimes.
|
|
* BUG: dnd from konqueror on zone 0 to another konq on zone 1 with xinerama (2
|
|
zones) causes segv
|
|
* BUG: e often forgets what window is focused so ctrl+alt+x for example doesnt
|
|
close the current focused window... hmmmm
|
|
* 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 wont fit it gets placed offscreen to the
|
|
right of zone 2
|
|
]]]
|
|
|
|
[[[
|
|
-------------------------------------------------------------------------------
|
|
ESSENTIAL FEATURES
|
|
-------------------------------------------------------------------------------
|
|
|
|
* emit signal to submenu entries if they have a submenu shown for them or not
|
|
* add fullscreen support (e16 xvidmode or xrandr style)
|
|
* implement thees maximise/fullscreen modes:
|
|
Which of these should be different modes, and which should be options for
|
|
a mode? i think they all should be distinct actions of their own bound
|
|
to a key, button etc. which one of these the maximize button on a window
|
|
will execute should be a configuration value though :)
|
|
1. fullscreen (no border - resizes to default screen res). window is locked,
|
|
no mouse bindings work. any focus change out of thsi window will go out of
|
|
fullscreen mode
|
|
2. zoom (changes screen res to match window, or closest res thats bigger
|
|
than the window, centers it - no borders/title etc). window is locked, no
|
|
mouse bindings work. any focus change out of thsi window will go out of
|
|
zoom mode
|
|
3. maximise (only title is displayed - program fills the rest of the screen)
|
|
disable resize, shade, move etc. in this mode. iconify is ok.
|
|
4. maximise2 (maximise window up to the edge of panels, gadgets etc. -
|
|
disable all resizing and moving just like 1, 2 nd 3 (maybe make border
|
|
thinner to indicate this). disable stuff like 3.
|
|
5. expand (just resize window to fill the same space as 4. - but it still can
|
|
be shaded, resized, moved etc.)
|
|
6. fill (expand to the nearest window edge or screen edge)
|
|
for 5 and 6 u want to able to do this independently for width and height as
|
|
well as for both at once. for 1. & 2. if window max size (or aspect
|
|
adjusted size) is smaller that screen max size, fill in space in between
|
|
with black. for 3. we want to fill the inbewteen space with some theme
|
|
defined image data
|
|
* dialogs for generic contents too
|
|
* netwm window types and states need addressing (do special/appropriate things)
|
|
for each of them.
|
|
* do something with the icccm urgency field hint
|
|
* different borders for non-resizable windows, shaped windows etc.
|
|
* window icons should be able to be chosen if e eapp icon overrides netwm
|
|
icon or the other way around (and remember this).
|
|
* actions to make current zone different (warp mouse to there)
|
|
* actions to make the current container different
|
|
* titlebar/border expansion/gadget panel for modules to put window widgets in
|
|
* break out desks x/y size config so you can have a different desktop size
|
|
per zone - right now there is a signle global (use this later as the default
|
|
for new/unconfigured zones)
|
|
* 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.
|
|
* all menus need icons if they dont have them yet:)
|
|
* gadget containers (shelves?) using popups as well as in-line in a canvas
|
|
* add key input focus control for desktop modules
|
|
* finish off icccm support
|
|
* finish complete netwm support
|
|
* different cursors for different parts of the screen
|
|
* add a "taskbar" module
|
|
* add cpu load module
|
|
* add a way to access "all" apps app dir
|
|
* dnd from pager to other pagers/ to desktop/ibox etc.
|
|
* ibar should enable user to select different dirs to view per bar and allow
|
|
new bars to be created or bars to be deleted
|
|
* ibar need to support label pop-ups
|
|
* ibar should support subdirs with pop-up icons...
|
|
* borders need to be able to change border theme on the fly by menu or app
|
|
properties
|
|
* add window glueing
|
|
* add setup/install wizard to seed eap files etc. etc.
|
|
* support text and color classes
|
|
* add clientinfo pane/popdown for borders
|
|
* add sliders, radio and check buttons for clientinfo pane
|
|
* make xrandr support get rotation and store it
|
|
* add separate app menu bars at top of screen support
|
|
* gui config tools for bg's, keybindings, etc. etc. etc.
|
|
* "control panel" app to launch the gui config tools
|
|
* make it possible to disable border buttons/actions (tell theme what is
|
|
disabled)
|
|
* modules need config dialogs instead of long winded menus
|
|
* remove module config menus (make them part of the module control panel etc.)
|
|
]]]
|
|
|
|
[[[
|
|
-------------------------------------------------------------------------------
|
|
CLEANUPS
|
|
-------------------------------------------------------------------------------
|
|
|
|
* move all modules in e to use new e_dialog not error dialogs.
|
|
* find all other instances of using e_error dialogs and use them only with low
|
|
level errors than need attention no matter what.
|
|
* cannot load module error - make that a "shall i unload this module" dialog
|
|
* winlist should support place for window "screenshot" in list as well as
|
|
app icon
|
|
* winlist should in theory allow horizontal list layout not just vertical (set
|
|
by the theme)
|
|
* 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
|
|
* gadman needs some changes to virtualise the canvas/container the gadget
|
|
ends up in (eg in popups or border)
|
|
* perhaps we should split focus and "selected" windows. selected window is
|
|
what ocused is now and focus is something only affectinbg keyboard input. if
|
|
the focus window becoems another managed window it becoems the selected
|
|
window - otherwise click to focus or pointer focus will chose the selected
|
|
window that may get the focus if it allows it...
|
|
* module api needs to move label and icon to data file (.eap file?), not api
|
|
* ibar lamp needs short timer on mouse out for hide before hiding (and del
|
|
the time on mouse in)
|
|
* allow object paranoia to be a runtime option too
|
|
]]]
|
|
|
|
[[[
|
|
-------------------------------------------------------------------------------
|
|
"NICE TO HAVE" FEATURES
|
|
-------------------------------------------------------------------------------
|
|
|
|
* screensaver/lock module
|
|
* tip/hint/suggestion dialog app (textblock etc.)
|
|
* add tooltips
|
|
* add locale and encoding fields to eapp files (to launch eapp in that
|
|
locale+encoding)
|
|
* add input method selector stuff to eapp - same as locale
|
|
* "run command" typebuffer thing
|
|
* setup configs for gnome and kde (as options) if they are installed (eg
|
|
run gnome-settings-daemon).
|
|
* check evas has eet support early on.
|
|
* pagers should be able to be configured to control more than the current zone
|
|
(select which zone they control)
|
|
* non opaque move/resize
|
|
* add window tabs (multiple clients in 1 border)
|
|
* add a button area expansion for borders ???
|
|
* add template button for expanded buttons ???
|
|
* maybe add systray module/support?
|
|
* 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
|
|
]]]
|
|
|
|
[[[
|
|
-------------------------------------------------------------------------------
|
|
OPTIMISATIONS
|
|
-------------------------------------------------------------------------------
|
|
|
|
* optimize clock theme (speed/cpu) (rotation in edje??? or evas???)
|
|
]]]
|
|
|