summaryrefslogtreecommitdiff
path: root/TODO
blob: f8a1446278a56ee47f25113a3c6fbf66f64ee939 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<<<
Some of the things (in very short form) that need to be done to E17...
(These are in no particular order)
>>>

[[[
-------------------------------------------------------------------------------
  BUGS / FIXES
-------------------------------------------------------------------------------

* BUG: performance dialg - edje cache is not MB but items. also not enough
  detail to set 512k (0.5mb) cache for fonts (default) - fix ranges etc.
* BUG: bg settings dialog has no advanced section (to set for this desktop only
  or all desktops or just as the default etc.)
* BUG: bg settings dialog doesnt clip/get miniature view right the first time
* BUG: general settings is too... general
* BUG: desktop settings is missing preview
* BUG: modules need to destroy config dialogs on shutdown (otherwise - segv!)
* BUG: IBAR follower speed and autoscroll speed are not pixels / sec (they are
  recursive multiplication values). should invert gui valus and display as a
  factor, not px/sec
* BUG: changing border from shaped to not shaped produces shadow bugs
* BUG: xdaliclock -transparent doesnt use shaped border (not handling shape
  change later)
* BUG: if a user selects a border the border should not just shange 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 realise and still thinks
  its iconified.
* BUG: dnd to ibar is broken if u did an icon that isn't IN the ibar yet
  (from a window border) to either the very start or end of the ibar.
* BUG: dnd from konqueror on zone 0 to another konq on zone 1 with xinerama (2
  zones) causes segv
* 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
* BUG: Hiding the label of e_widget_slider causes the slider line to disappear
]]]

[[[
-------------------------------------------------------------------------------
  ESSENTIAL FEATURES
-------------------------------------------------------------------------------

* 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
* 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
* 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.
* gadget containers (shelves?) using popups as well as in-line in a canvas
* 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
* 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...
* add setup/install wizard to seed eap files etc. etc.
* support text and color classes
* add clientinfo pane/popdown for borders
* make xrandr support get rotation and store it
* gui config dialogs for all config
* make it possible to disable border buttons/actions (tell theme what is
  disabled)
]]]

[[[
-------------------------------------------------------------------------------
  CLEANUPS
-------------------------------------------------------------------------------

* EAP cache files can be hit and miss and have problems. move things to be
  explicit reloads.
* need to match EAPI on all fn's as well as thier prototypes
* 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
* gadman needs some changes to virtualise the canvas/container the gadget
  ends up in (eg in popups or border)
* 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
-------------------------------------------------------------------------------

* option to NOT raise on focus in click to focus
* switch to desktop of a new window if it opens on another desktop than the
  current one
* add key input focus control for desktop modules
* emit signal to submenu entries if they have a submenu shown for them or not
* screensaver/lock module
* tip/hint/suggestion dialog
* 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
* setup configs for gnome and kde (as options) if they are installed (eg
  run gnome-settings-daemon).
* check evas has eet support early on.
* check engine can work on a given screen before using it
* pagers should be able to be configured to control more than the current zone
  (select which zone they control)
* non opaque move/resize
* 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???)
]]]