]> git.donarmstrong.com Git - xournal.git/blob - src/TODO
Add internationalization support.
[xournal.git] / src / TODO
1 List of features to be implemented (not in any particular order)
2 ----------------------------------------------------------------
3
4 - collaborative editing (see discussion with Erik Demaine)
5 - porting to Win32 and MacOS; merge Nokia port
6 - multiple-scenario undo history
7
8 - collaborative: allow non-x86 endianness (for ints, for floats?)
9 - collaborative: have an initial undo item = contents of the initial
10   xoj file + attachments for bitmap, pdf, and ps backgrounds
11
12 - cleanup of undo history (keep track of refcounts, delete old undo)
13   save-and-clear-undo ?
14
15 - RandR / recalibration awareness?
16   (e.g. if xinput events are far away from core events, re-query geometry?)
17    or see if removing the GTK bugfix would help? -- e.g. by recalling an
18    internal gtk init function?
19
20 DONE: fix GTK+ 2.16/2.17 XInput issues with scrollbars and menus
21 DONE: fix bug 2826845 (shape recognizer accel doesn't work in fullscreen mode)
22 DONE: bug affecting resize zone in statusbar
23 DONE: page spinbutton wide enough for 3 digits; avoid "deprecated" warning
24 DONE: edit->paste command should refresh toolbar to unselect color/thickness
25       (so can repaint sel)
26 DONE: cursor doesn't reset properly after selection operation if primary
27       tool is select mode (stays with arrow cursor instead of pointer)
28 DONE: device with "eraser" at the end of its name is of type ERASER
29       (Edward Yang)
30 DONE: fix_xinput_coords() replaces buggy xinput events by core pointer 
31       coordinates
32 DONE: use poppler to render PDF backgrounds (after patches contributed
33       by Mike Ter Louw and Bob McElrath)
34 DONE: gettext internationalization (contributed by David Planella)
35 DONE: Catalan translation (by David Planella); French translation
36
37 ****** URGENT: gtkprint; new release by November end for Debian!
38   nb: libgnomeprint produces many warnings (spinbutton; gpa assertions)
39
40 - prerelease: update help file (remove references to pdftoppm/libgnomeprint
41   to poppler/gtkprint
42 - remove "antialias bg" flag, useless... see McElrath
43 - PDF bg memory usage throttling / delete oldest pdf backgrounds
44 - fix fix_xinput_coords so it works ok without ENABLE_XINPUT_BUGFIX ?
45    (with both old and new GTK+)
46   (need to shift by (sx,sy), + shift between canvas->window vs canvas in 2.17)
47 - Esc should leave text box if editing; and fullscreen if fullscreen?
48 - color chooser button (patch tracker?)
49 ** auto-hide patch from ~/prog/src/xournal-autohide/ ?
50      (check for cpu usage, add flag if need be; handle BOTH edges
51       and only (un)hide stuff at the correct edge!)
52 ** if bg pdf not found in absolute path, look in path of xoj file before
53    prompting user.
54 ** patch to fix focus + allow up/dn in single page mode (Bob McElrath)
55    also comment out contents of reset_focus() ? (tracker patch #2494022)
56 ** patch to fix underscores in MRU filename display (McElrath) (tracker)
57    (fix memory leak)
58 ** UI update (Bob McElrath) -- eliminating status bar, compact layout,
59    "compact interface" by default; themes, with line in config file
60    to load pixmaps from pixmaps/$THEME/ (see Jan 9, 2009 emails)
61 ** antialias BG pixmaps doesn't do anything anymore? 
62 ** autosave patch (Edward Yang) (fix: optional only, w/ menu + cfgfile
63    entries; fix: should clean up autosave.xoj.bg* files too; config interval)
64 - patch (ikim@physics.wisc.edu): multicolumn mode + LASSO SELECTION
65 - patch: ortho/snap (revised Apr 13 2009)
66 ** FIXME: get_pressure_multiplier() should access correct members
67    of event struct, like xinput_coords()
68 ** FIX RECOGNIZER BUG: for single-segment strokes (e.g. single click),
69    I_xx and I_yy = 0, sometimes -0 -> Rad = nan (should I_xx = abs(...) ?)
70    also Det = division by 0, should return 0 if ixx + iyy = 0.
71    (MAYBE: fix inertia calc: integrate dm over each segment rather than  dm.pt[i])
72 - new recognizer icon (andruk on patches tracker)
73 - recognizer: if variable-width, associate average width
74 - recognizer should snap to existing recognized geometric shapes
75
76 - improve recognizer: two passes for polygons (low tolerance, then higher)
77   to better detect elongated rectangles? (if low tolerance recognizer
78   doesn't get a rectangle, then use higher tolerance for everything else,
79   since otherwise there's too much risk of splitting a segment into 2)
80 - snap-to-grid (also for ruler & recognizer vertices)
81   and maybe also snap-to-vertices (option for ruler and recognizer)?
82 - config option: config save current tool options instead of default ones
83
84 - "new page before/after" on a PDF bg page should ask: same page, other page of
85   PDF file, default paper
86 - bug in truetype subset generation w/ Adobe 9, see if gtk-print any better?
87
88 - render page to bitmap: for export, preview, and copy-paste
89     (render using libart, see how gnomecanvas does it?)
90     NO: render using Cairo !!! then can switch to GtkPrint as well.
91     (copy-paste: config option to render only current layer or all below?)
92 - cut-and-paste of selection into other apps (as bitmap; as SVG?)
93 - navigation sidebar with bitmap page previews
94 - bitmap preview for document icon in desktop environments?
95 - "organizer" side panel (hierarchy of notes), cf. gjots
96
97 - allow toolbar to go vertical
98 - toolbar buttons should react to button 2/3 click to modify settings
99   for that tool?
100
101 - paste text directly into xournal, from xournal?
102     (instead of starting a text item and pasting into/from it)
103 - insert links (to URLs; within document/to other xoj? hand mode navigates)
104 - increase width of spinPageNo to fit 3 digits
105 - should escape '_' to '__' in MRU menu entries (else become mnemonics)
106 - a command + keyboard shortcut to switch mappings (1<->2, 1<->3, 2<->3)
107      (A. Rechnitzer Sept 11, 2007)
108 - modify encoding of TrueType font subsets or provide cmap so pdf text
109   can be extracted
110
111 - smoothing of strokes (for users without tablets / with deficient drivers)
112 - lasso tool
113 - load PDF pages only on demand (create empty pixmaps at first if can
114    parse PDF geometry ourselves, else try pdfinfo ??)
115    (and config option to limit total memory usage for PDF bitmaps)
116 - ability to select entire page for copy-paste (as bitmap / reorder xournal)
117 - copy/paste of an entire page (beware if PDF bg is not compatible!)
118 - rewrite printing using GtkPrint + Cairo as GnomePrint replacement
119    (keep GnomePrint option for compatibility with GTK+ <2.10)
120 - insert images (screen capture or from file or from clipboard), 
121   not as full-page backgrounds (new ITEM type)
122
123 - convert to/from Jarnal format; to/from MS Journal format???
124 - export as SVG, as bitmap (use Cairo for this)
125 - improved PDF viewer features (search text, hyperlink, page borders...)
126    (using full poppler api ?)
127
128 - use system paper size as default (/etc/papersize)
129 - autoload *.pdf.xoj if present when opening *.pdf ???
130 - sticky notes (anchor visually text box to a bg location)
131 - use relative paths for bg documents (e.g. annotated PDF)
132 - flush display queue when drawing over a slow X server?
133 - more paper customization (in particular, 1/2 inch graph paper)
134     (2 custom papers with settings in config file? 
135      a folder with blank PDF or xoj papers and quick-access?)
136 - option to map a button to a context menu (incl. tool selection, ...)
137 - option to map a button to "undo"
138 - xournal_page-shadow.diff (Martin Kiefel Feb 5 2007)
139 - xoj2pdf on command line
140 - 'insert blank page after' command (more useful in PDF annot !)
141 - load images as bg if given on command-line (as with PDF on commandline)
142 - lasso selection tool (see shoffsta patch)
143      (http://shoffsta.afraid.org/Projects/Xournal/)
144 - flatten (incl undo/redo...) - enabled only if nlayers>1
145 - color chooser (papercolor, pen color); maybe more default colors
146   cf. ojb patch #2083103 adds paper color chooser
147 - printing: print-options, save printer settings (throughout a session,
148    and on disk) (maybe a separate config file .xournal/gnome-print-settings)
149 - help index
150 - option for highlighter to be always at bottom of its layer
151 - more pen/highlighter shapes (chisel)
152 - slanted tip pens (calligraphy)
153 - toolbar buttons to access custom preset tools (e.g. text or pen with settings)
154 - text boxes with opaque background
155 - recalibration upon screen resize / compensation for miscalibration
156     (use ConfigureNotify event and XInput? cf "Bugs" tracker 08/2007)
157 - find a better behavior for vertical space tool across page boundaries ?
158    config options? 1) when there's not enough space at bottom of page:
159                        - resize the page
160                        - move stuff to next page
161                        - move stuff to a new page
162                    2) when moving to another page:
163                        - move everything
164                        - move only what doesn't fit (??? looks hard)
165    option for vert space tool to also move the background??
166    (PDF: cut-and-crop by running PDF code twice with 2 different clipboxes?)
167 - option to save all annotated files within the .xoj
168 - non-antialiased version for handhelds
169 - customize autogenerated save file names 
170 - layer dialog box to set visibility status of each layer regardless of
171   which layer is being edited
172 - option to link layer creation and visibility status for all pages
173   (Eric Borghs 04/15/08)
174 - display corruption on scroll down when bottom of window is obscured??
175   (probably a gnomecanvas or X bug -- expose event generated for wrong
176   region, or not processed?)
177 - autosave at a regular interval in a given location
178 - keep only a few pages of a PDF file in memory at any given time; generate
179   pages by parsing pdf info rather than generating bitmaps for all of them.
180 - win32 port (Matteo Abrate)
181 - snap-to-grid tool? (Matteo Abrate)
182 - EPOS 7/24/07: Thumbnails pane
183 - EPOS: Connect to EPOS api which sends A4 mapped points
184 - EPOS: Cut and Paste into OpenOffice applications and the GIMP (as bitmap??)
185 - EPOS: Export pages to pictures in the Jpg and Png formats.
186 - EPOS: Rotate Ink in custom angle.
187 - handwriting recognition???? (cellwriter?) unlikely. we don't have grids
188   see galileon comment on 2008-07-29 to tracker #1925309: word recognizer
189 - handwritten stroke search in document (see cellwriter?)
190   (correlate inertia-normalized strokes in lift to unit cotangent bundle?)
191 - option: export to PDF with incremental pages for successive layers
192     (for presentations) (Daniel Brugarth 8/18/07)
193 - Samuel Hoffstaetter: lasso, gettext localization, sidebar thumbnails, ...
194 - YoYo Siska patch for desktop mode ??
195 - Vivek Ayer: rotate paper wrt screen (for environments where display
196   rotation doesn't work): gnome_canvas_item_affine_relative(canvas->root, ...)
197   would rotate all but text items (still need to modify scroll bbox, and
198   adjust event coordinates by inverse rotation).
199 - rotate PDF background pages (individually wrt each other, see #2099935)
200 - switch to libglade, and allow customization of key shortcuts (accels)