File: TODO

package info (click to toggle)
gnotepad+ 1.0.2-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 756 kB
  • ctags: 832
  • sloc: ansic: 9,141; sh: 329; makefile: 156
file content (86 lines) | stat: -rw-r--r-- 3,591 bytes parent folder | download
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
this document contains these sections:

	- knownbugs
	- todo
	- maybe
	- goals


knownbugs
-------------------------------------------------------------------------------
- with gtk-1.1.x, the app initialization box (shown when gnotepad+ is given
  files to open on the command line) does not have the text labels centered
  correctly.  however, this works fine with gtk-1.0.x.

- actual features for text editing is limited by GTK's text widget.  if you
  really want more text editing features (e.g., syntax highlighting), more work
  on the text widget is needed as opposed to more work on gnotepad+ itself.

- if you have document tabs visible and you open a lot of files (e.g., 100+),
  opening a file, closing a file, and even changing to a different file, will
  feel rather slow.  this is because the notebook widget is poorly implemented;
  it does a lot of linear traversals of its children starting from the
  beginning of the child list.  you can turn OFF document tabs and this will
  speed things up considerably.


todo
-------------------------------------------------------------------------------
- make an rpm package.  please email me if you'd like to help.

- runtime loading of pixmaps.

- add more print file preferences.  allow user to specify choice of commands:
  lpr, lp, or custom.  for lpr and lp, allow user to specify default print
  options to use.  store everything in the preferences file.

- add user-configurable toolbar.  allow user to specify the exact toolbar
  wanted, including icon name, and even what to execute (basically, not limit
  the user to what's already available).  store settings in preferences.

- add user-configurable menus.

- add configurable location for toolbar (e.g., top, bottom, left right).  store
  settings in preferences.

- add ispell interface.


maybe
-------------------------------------------------------------------------------
- Gnome support.  personally, i don't use Gnome, but am not against it.  so if
  people want it, i'll probably add it in.

- integrate hex-edit to/and/or have hex editing capabilities

- as an optimization, if preferences are set to not show the toolbar, then
  don't create the toolbar on initialization until needed.  same reasoning
  applies with loading the toolbar pixmaps...  (currently, the toolbar is
  always created and the pixmaps are always loaded, but just not shown.  i
  don't feel much of a slowdown, but on slower machines, it's possible.)

- another optimization might be to set a flag to enable/disable adding
  documents to the recent list.  this might speed things up when opening a lot
  of files from the command line (e.g., gnp *.[ch]) since every time a document
  is opened, it is added to the recent list, and the menu is updated as well.


goals
-------------------------------------------------------------------------------
- minimize code bloat.  this often happens from not reusing code as much as
  possible.  see the other GTK based editors/ide's as an example of bloat.

- minimize the number of global variables.

- always stay compatible with latest *stable* version of GTK.

- always have the cleanest code possible.  e.g., if using gcc, the code must
  compile cleanly using '-Wall -Wmissing-prototypes' and as cleanly as possible
  with '-ansi -pedantic'.

- frequent "stable" releases every 2-4 weeks (at least once a month).

- cross-platform portability.  i always test the program both on my Linux box
  at home, and my Digital Unix box at work.  too many people get stuck on one
  platform and start making bad assumptions when developing...