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