You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
10 KiB
206 lines
10 KiB
<<< |
|
Some of the things (in very short form) that need to be done to E17... |
|
(These are in no particular order) |
|
>>> |
|
|
|
[[[ |
|
------------------------------------------------------------------------------- |
|
BUGS / FIXES |
|
------------------------------------------------------------------------------- |
|
|
|
* 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: on font apply borders need to be adjusted for size changes |
|
* BUG: font apply doesnt seem to keep working (edje problem?) unless you |
|
restart |
|
* BUG: if i downclock my machine to like 400mhz (make it sloooow) or load it |
|
down with lots of load and then hold down ctrl+alt+right for a while |
|
windows on desktops vanish... there must be a race condition with a |
|
map/unmap event and something else... they still are around in x- just e |
|
hides them and never shows them again |
|
fullscreen. is this correct? |
|
* BUG: sometimes the mouse gets locked to a window with a mouse grab of some |
|
sort in x (it gets the down event and not the up?) so e thinks its down but |
|
it isn't - happens a lot in click to focus. |
|
* BUG: maximised apps when e restarts are not recognised as maximised |
|
* BUG: client windows list somehow doesn't unref its list of borders in the |
|
free callback set on it. why? is this callback never called? or is the |
|
data pointer on the menu object null for some reason? |
|
* 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 |
|
* BUG?: pager problems. Seems to loose or mess up windows sometimes. |
|
* BUG?: xine's ui window/panel is under its video window when u go fullscreen |
|
]]] |
|
|
|
[[[ |
|
------------------------------------------------------------------------------- |
|
ESSENTIAL FEATURES |
|
------------------------------------------------------------------------------- |
|
|
|
* add fullscreen support (e16 xvidmode or xrandr style) |
|
* implement thses 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 |
|
* implement a better dialog for things like "do you want to do X - yes or no?" |
|
* dialogs for generic contents too |
|
* netwm window types and states need addressing (do special/appropriate things) |
|
for each of them. |
|
* netwm frame extents request (_e_manager_cb_frame_extents_request) needs |
|
to properly choose the border based on client window properties. |
|
* do something with the icccm urgency field hint |
|
* different borders for non-resizable windows, shaped windows etc. |
|
* break out ipc to set names for desktops (and get names/list them) |
|
* some sort of gui display of a desktop name (in the pager?) |
|
* window icons should be able to be chosen if e eapp icon overrides netwm |
|
icon or the other way around. |
|
* transients should have option to always follow parent |
|
(move/resize/raise/lower) |
|
* 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. |
|
* gadman gadget menu needs icons :) |
|
* gadman edit mode for simple gadgets activate with a button bind (eg |
|
alt+click on module like windows) or a pure key binding |
|
* 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 |
|
* make the cursors an edje buffer canvas for changing cursor depending on |
|
context |
|
* 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 |
|
* ibar need to handle drop from other places (xdnd, drop from window etc.) |
|
* 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 <rephorm AT rephorm DOT com> |
|
* 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 |
|
* add really nice "about" box with theme, authors credits list etc etc. |
|
* "immortal" windows (e will not allow that window to be closed or will |
|
refuse to exit as long as the immortal flags is set until it is unset to |
|
stop users from doing silly things like logging out while important stuff |
|
is happening in that window -a menu option for this woudl be nice) |
|
* need to be able to remember client positons/etc. |
|
* with remember need to be able lock in attributes so the app (or user or both) |
|
cannot change them (eg this window is a fixed size and location - app cannot |
|
ask for a new size or location) |
|
* 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 executables with proper widgets (sliders, check boxes, |
|
radio etc. not massive menus) |
|
* remove module config menus (make them part of the module control panel and |
|
as separate executables) |
|
]]] |
|
|
|
[[[ |
|
------------------------------------------------------------------------------- |
|
CLEANUPS |
|
------------------------------------------------------------------------------- |
|
|
|
* 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 |
|
pwer 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 |
|
* make e17 re-locatable (ie use e_prefix.c stuff instead of #defined paths) |
|
* 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 |
|
------------------------------------------------------------------------------- |
|
|
|
* 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 |
|
* icons should be able to be overidden from the theme (eapp and menu stuff |
|
etc.) |
|
* 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) |
|
* start module needs to have a way to alert users to "click here" and back |
|
off alerting users as they learn what it is (over time) |
|
* 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 |
|
------------------------------------------------------------------------------- |
|
|
|
* could speedup dropshadow's gaussian blurr with mmx and sse by doign 2 or 4 |
|
rows at once |
|
* optimize clock theme (speed/cpu) (rotation in edje??? or evas???) |
|
]]] |
|
|
|
|