|
|
|
MINI FREEZE:
|
|
|
|
|
|
|
|
Status: OFF
|
|
|
|
|
|
|
|
What is this:
|
|
|
|
|
|
|
|
We will have lots more of these during e17 devel for serveral reasons. A mini
|
|
|
|
freeze is a call to STOP adding new features and funkiness. It means people
|
|
|
|
need to stop and go BACK over their code and fix FIXME's. All those bits of
|
|
|
|
code where things are string together with sticky tape and chewing gum need
|
|
|
|
to be fixed PROPERLY. This may mean pooling code into a common subsystem
|
|
|
|
(this is not a new feature. it is fixing loose ends with design). This may
|
|
|
|
mean adding api calls to make implementation cleaner or remove hacks. it may
|
|
|
|
mean more debugging tools in things like e_object and more checks for sanity.
|
|
|
|
|
|
|
|
This means testing stuff so it doesnt crash. or make things unusable or leak
|
|
|
|
memory. check leaks (use valgrind or whatever tools) to check for leaks, and
|
|
|
|
for stability issues. double check you return the correct values from
|
|
|
|
functions or use return values. Check callbacks. Compile with -W -Wall to
|
|
|
|
help find obvious bugs waiting to happen. Modules need to clean up on
|
|
|
|
shutdown. Code needs to use the appropriate subsystem that is available for
|
|
|
|
what it wants OR a subsystem needs writing if it will be a shared/common
|
|
|
|
feature.
|
|
|
|
|
|
|
|
This issues list must be brought to 0 size before E17 features can move
|
|
|
|
further.
|
|
|
|
|
|
|
|
Current freeze issues are:
|
|
|
|
|
|
|
|
ISSUES:
|
|
|
|
|
|
|
|
<EMPTY>
|
|
|
|
<add more issues as they are found>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FIXME: group these TODO items into:
|
|
|
|
|
|
|
|
1. essential features
|
|
|
|
2. fixes
|
|
|
|
3. cleanups
|
|
|
|
4. optimisations
|
|
|
|
5. nice to have features
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Some of the things (in very short form) that need to be done to E17...
|
|
|
|
|
|
|
|
Also look at all the .c files - they have their own localized TODO lists
|
|
|
|
|
|
|
|
These are in no particular order:
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
* 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...
|
|
|
|
* mplayer fullscreen screws up (reparenting issues) and focus
|
|
|
|
* check window max size. if < size of zone (or maximisation area) disallow
|
|
|
|
maximising and tell border edje object (via signals) to somehow disable the
|
|
|
|
maximise buttons :) (and remove from the menu)
|
|
|
|
* drag and drop subsystem (just handling dragging with some icon being dragged
|
|
|
|
around and then a drop somewhere)
|
|
|
|
* drag window icon (top-left) uses drag and drop to be able to drop on pager
|
|
|
|
module and maybe ibar (to add the app to it?)
|
|
|
|
* 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
|
|
|
|
* gadman gadget menu needs icons :)
|
|
|
|
* module api needs to move label and icon to data file, not api
|
|
|
|
* gadman edit mode for simple gadgets activate with a key combo (eg alt+click
|
|
|
|
on module)
|
|
|
|
* edit mode keybindings :)
|
|
|
|
* "start button" module to pop up the e menu (left mouse right now)
|
|
|
|
* click to focus
|
|
|
|
* make e17 re-locatable (ues environment var, or find out by hunting path
|
|
|
|
argv[0] if its not a full path or munge the full path to the exe in argv[0])
|
|
|
|
* java apps seem to have a hard time if we dont pretend to be kwin
|
|
|
|
(see e_hints.c) - get this stuff upstream to sun and get things fixed in
|
|
|
|
java.
|
|
|
|
* gadget containers (shelves?)
|
|
|
|
* track mouse location on a border/desktop level
|
|
|
|
* add key input focus control for desktop modules
|
|
|
|
* finish off icccm support
|
|
|
|
* optimize clock theme (speed/cpu) (rotation in edje???)
|
|
|
|
* add "icon box"
|
|
|
|
* add netwm support
|
|
|
|
* different cursors for different parts of the screen
|
|
|
|
* alt+tab popup list of windows
|
|
|
|
* add a "taskbar" module
|
|
|
|
* add cpu load module
|
|
|
|
* make root menus configurable (what mouse/key brings up what)
|
|
|
|
* add a way to access all apps
|
|
|
|
* optimise client manage: list window properties then only fetch the ones
|
|
|
|
that exist on window map
|
|
|
|
* non opaque move/resize
|
|
|
|
* ibar need to support label pop-ups
|
|
|
|
* ibar should support subdirs with pop-up icons...
|
|
|
|
* support dnd for ibar etc.
|
|
|
|
* borders need to be able to change border theme on the fly
|
|
|
|
* add window glueing
|
|
|
|
* add window tabs (multiple clients in 1 border)
|
|
|
|
* add setup/install wizard to seed eapp files etc. etc.
|
|
|
|
* make ipc try open on other ports numbers if current is taken
|
|
|
|
* make ipc try re-open if connection dies
|
|
|
|
* add clientinfo pane/popdown for borders
|
|
|
|
* add a button area expansion for borders
|
|
|
|
* add template button for expanded buttons
|
|
|
|
* add a status area expansion for borders
|
|
|
|
* add a status module template for borders
|
|
|
|
* support text and color classes
|
|
|
|
* add tooltips
|
|
|
|
* add fullscreen support (e16 xvidmode or xrandr style)
|
|
|
|
* add screen rotation info to managers (from xrandr)
|
|
|
|
* make xrandr support get rotation
|
|
|
|
* add rotation to containers
|
|
|
|
* fix multihead support (executing with DISPLAY=:0.1 on screen 1 for example)
|
|
|
|
* maybe add systray module/support?
|
|
|
|
* allow object paranoia to be a runtime option too
|
|
|
|
* add sliders, radio and check buttons for clientinfo pane
|
|
|
|
* add separate app menu bars at top of screen support
|
|
|
|
* add "osd" subsystem for things like volume controls on keybboards, etc.
|
|
|
|
that overlay the screen
|
|
|
|
* add really nice "about" box with theme, authors credits list etc etc.
|
|
|
|
* init splash needs te be able to be signalled "end of init" and it can
|
|
|
|
respond with a "splash end" signal
|
|
|
|
* "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)
|
|
|
|
* ibar lamp needs short timer on mouse out for hide before hiding (and del
|
|
|
|
the time on mouse in)
|
|
|
|
* need to be able to remember client positons/etc.
|
|
|
|
* file icons on the desktop (people ask for it) - xdnd for these
|
|
|
|
* gui config tools for bg's, keybndingins, etc. etc. etc.
|
|
|
|
* go through e16 features we dont have and implement the most useful ones (or
|
|
|
|
re-design and implement)
|
|
|
|
* libehack from old e17 wrapper for executing apps
|
|
|
|
* use libehack stuff to track launches of apps etc.
|
|
|
|
* make it possible to disable border buttons/actions (tell theme what is
|
|
|
|
disabled)
|
|
|
|
* make status modules (like cpu meter per window) use ehack to get pid to
|
|
|
|
monitor it's cpu load
|
|
|
|
* modules need config executables with proper widgets (sliders, check boxes,
|
|
|
|
radio etc. not massive menus)
|
|
|
|
* module control panel app
|
|
|
|
* remove module config menus (make them part of the module control panel and
|
|
|
|
as separate executables)
|
|
|
|
* ipc needs to be massively useful and give all sorts of info and control
|
|
|
|
* tip/hint/suggestion dialog app (textblock etc.)
|
|
|
|
* segv/restart handler like e16.
|