]> git.donarmstrong.com Git - xournal.git/blob - src/TODO
4840f447d826d88a1fd30f197d5162268c7fcb07
[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 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 BUGS:
21 ** lingering issues with synaptics touchpads? (#2872667)
22  (todo) - set device to Absolute mode at startup? (GDK doesn't expose API,
23           cf XSetDeviceMode() in /usr/include/X11/extensions/XInput.h)
24 ** color picker into canvas doesn't work in GTK+ 2.16 (should disable
25    xinput first?)
26 ** export to PDF should see cropbox size if smaller, and map the
27    cropbox -- not the entire page -- to the page area! (2009-11-18 forum)
28
29 WIN32:
30 - test further
31 - write an installer
32 - bug: opening files with accents in name?
33 - bug: cairo-scaled-font in printing? (2009-11-18 bug tracker)
34
35 PATCHES TO INCORPORATE:
36 ** patch: ortho/snap (revised Apr 13 2009)
37    xournal_ortho_snap_patch_4 (by Josef Pavlicek)
38
39 ** patch (Ian-Woo Kim): multicolumn mode + LASSO SELECTION
40    xournal_lasso_multipage_zoom_button_20090620.patch
41
42 ** autosave patch (Edward Yang) (should fix: optional only, w/ menu + cfgfile
43    entries; fix: should clean up autosave.xoj.bg* files too; config interval)
44    0001-Implement-autosave-for-documents-revised.patch (2 seconds after
45    modification, vs original 5 seconds)
46    *** NEW VERSION: #2881919 (autosave for 0.4.5, w/ some changes)
47    NB: last modif should be triggered by prepare_new_undo() and undo/redo?
48    *** NEW VERSION: with threading, by Man, e-mail 12/10/2009 10:51pm
49
50 ** insert images patch (Victor Saase) #2890925
51 ** customize paper ruling (Gautam Iyer e-mail Nov 30 2009 / SF tracker)
52
53 - option to map device named "touch" to hand tool? (like "Eraser tip")
54
55 - make line spacing in text objects customizable: to a fixed scaling factor,
56   a fixed number of units, or the paper ruling (esp. the latter!!)
57
58 - PDF bg memory usage throttling / delete oldest pdf backgrounds
59 - replace ttsubset by something more modern? (eg. from cairo ?)
60 - auto-hide patch from ~/prog/src/xournal-autohide/ ?
61      (check for cpu usage; handle BOTH edges
62       and only (un)hide stuff at the correct edge!)
63 ** UI update (Bob McElrath) -- eliminating status bar, compact layout,
64    "compact interface" by default; themes, with line in config file
65    to load pixmaps from pixmaps/$THEME/ (see Jan 9, 2009 emails)
66 - horizontal mode instead of dual-view / multicolumn ?
67 ** "new page before/after" on a PDF bg page should ask: same page, other page of
68   PDF file, default paper
69 - new recognizer icon (andruk on patches tracker)
70 - recognizer: if variable-width, associate average width
71 - recognizer should snap to existing recognized geometric shapes
72 - patch to find text in PDF (dmg = Daniel German, Nov 13 2009)
73
74 - improve recognizer: two passes for polygons (low tolerance, then higher)
75   to better detect elongated rectangles? (if low tolerance recognizer
76   doesn't get a rectangle, then use higher tolerance for everything else,
77   since otherwise there's too much risk of splitting a segment into 2)
78 - snap-to-grid (also for ruler & recognizer vertices)
79   and maybe also snap-to-vertices (option for ruler and recognizer)?
80 - config option: config save current tool options instead of default ones
81
82 - bug in truetype subset generation w/ Adobe 9, see if gtk-print any better?
83
84 - drag-and-drop, copy-paste text & images directly into xournal
85 - proximity detection: eraser proximity switches mapping? 
86   proximity out removes cursor until next motionnotify?
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
94 - navigation sidebar with bitmap page previews
95 - bitmap preview for document icon in desktop environments?
96 - "organizer" side panel (hierarchy of notes), cf. gjots
97 - maintain e-library: table of md5sums of pdfs with associations
98   to the corresponding xoj's absolute paths (cf. forum topic
99   "Use MD5..." of Dec 2009)
100
101 - see iRex code for generic viewer + PDF plugin including caching,
102   throttling etc. (Marcel Hendrickx email of Sep 11 '09) 
103
104 - allow toolbar to go vertical
105 - toolbar buttons should react to button 2/3 click to modify settings
106   for that tool!!
107
108 - paste text directly into xournal, from xournal?
109     (instead of starting a text item and pasting into/from it)
110 - insert links (to URLs; within document/to other xoj? hand mode navigates)
111 - a command + keyboard shortcut to switch mappings (1<->2, 1<->3, 2<->3)
112      (A. Rechnitzer Sept 11, 2007)
113 - modify encoding of TrueType font subsets or provide cmap so pdf text
114   can be extracted
115
116 - smoothing of strokes (for users without tablets / with deficient drivers)
117 - lasso tool
118 - add config option to limit total memory usage for PDF bitmaps
119 - ability to select entire page for copy-paste (as bitmap / reorder xournal)
120 - copy/paste of an entire page (beware if PDF bg is not compatible!)
121 - rewrite printing using GtkPrint + Cairo as GnomePrint replacement
122    (keep GnomePrint option for compatibility with GTK+ <2.10)
123 - insert images (screen capture or from file or from clipboard), 
124   not as full-page backgrounds (new ITEM type)
125
126 - convert to/from Jarnal format; to/from MS Journal format???
127 - export as SVG, as bitmap (use Cairo for this)
128 - improved PDF viewer features (search text, hyperlink, page borders...)
129    (using full poppler api ?)
130 - search text: among PDF background (using poppler); among text annotations
131
132 - use system paper size as default (/etc/papersize)
133 - sticky notes (anchor visually text box to a bg location)
134 - use relative paths for bg documents (e.g. annotated PDF)
135 - flush display queue when drawing over a slow X server?
136 - more paper customization (in particular, 1/2 inch graph paper)
137     (2 custom papers with settings in config file? 
138      a folder with blank PDF or xoj papers and quick-access?)
139     (also: engineering paper; isometric paper -- Dan Ott  Sep 4 '09)
140 - option to map a button to a context menu (incl. tool selection, ...)
141 - option to map a button to "undo"
142 - xournal_page-shadow.diff (Martin Kiefel Feb 5 2007)
143 - xoj2pdf on command line
144 - 'insert blank page after' command (more useful in PDF annot !)
145 - load images as bg if given on command-line (as with PDF on commandline)
146 - lasso selection tool (see shoffsta patch)
147      (http://shoffsta.afraid.org/Projects/Xournal/)
148 - flatten (incl undo/redo...) - enabled only if nlayers>1
149 - color chooser (papercolor, pen color); have default colors and a history
150   appear as palette in there!
151 - printing: print-options, save printer settings (throughout a session,
152    and on disk) (maybe a separate config file .xournal/gnome-print-settings)
153 - help index
154 - option for highlighter to be always at bottom of its layer
155 - more pen/highlighter shapes (chisel)
156 - slanted tip pens (calligraphy)
157 - toolbar buttons to access custom preset tools (e.g. text or pen with settings)
158 - text boxes with opaque background
159 - recalibration upon screen resize / compensation for miscalibration
160     (use ConfigureNotify event and XInput? cf "Bugs" tracker 08/2007)
161 - find a better behavior for vertical space tool across page boundaries ?
162    config options? 1) when there's not enough space at bottom of page:
163                        - resize the page
164                        - move stuff to next page
165                        - move stuff to a new page
166                    2) when moving to another page:
167                        - move everything
168                        - move only what doesn't fit (??? looks hard)
169    option for vert space tool to also move the background??
170    (PDF: cut-and-crop by running PDF code twice with 2 different clipboxes?)
171 - option to save all annotated files within the .xoj
172 - non-antialiased version for handhelds
173 - customize autogenerated save file names 
174 - layer dialog box to set visibility status of each layer regardless of
175   which layer is being edited
176 - option to link layer creation and visibility status for all pages
177   (Eric Borghs 04/15/08)
178 - display corruption on scroll down when bottom of window is obscured??
179   (probably a gnomecanvas or X bug -- expose event generated for wrong
180   region, or not processed?)
181 - autosave at a regular interval in a given location
182 - keep only a few pages of a PDF file in memory at any given time; generate
183   pages by parsing pdf info rather than generating bitmaps for all of them.
184 - win32 port (Matteo Abrate)
185 - snap-to-grid tool? (Matteo Abrate)
186 - EPOS 7/24/07: Thumbnails pane
187 - EPOS: Connect to EPOS api which sends A4 mapped points
188 - EPOS: Cut and Paste into OpenOffice applications and the GIMP (as bitmap??)
189 - EPOS: Export pages to pictures in the Jpg and Png formats.
190 - EPOS: Rotate Ink in custom angle.
191 - handwriting recognition???? (cellwriter?) unlikely. we don't have grids
192   see galileon comment on 2008-07-29 to tracker #1925309: word recognizer
193 - handwritten stroke search in document (see cellwriter?)
194   (correlate inertia-normalized strokes in lift to unit cotangent bundle?)
195 - option: export to PDF with incremental pages for successive layers
196     (for presentations) (Daniel Brugarth 8/18/07)
197 - Samuel Hoffstaetter: lasso, gettext localization, sidebar thumbnails, ...
198 - YoYo Siska patch for desktop mode ??
199 - Vivek Ayer: rotate paper wrt screen (for environments where display
200   rotation doesn't work): gnome_canvas_item_affine_relative(canvas->root, ...)
201   would rotate all but text items (still need to modify scroll bbox, and
202   adjust event coordinates by inverse rotation).
203 - rotate PDF background pages (individually wrt each other, see #2099935)
204 - switch to libglade, and allow customization of key shortcuts (accels)
205
206 - command to copy a selected shape to a keybinding that will paste it
207   (so one can define symbols to insert into typed notes)  (e.g. "be able
208   to bind Ctrl-B to draw a \beta" for class notes). (shape, binding) sets are
209   local to one session (different for different classes; but save them into
210   the xoj file maybe ?) [Felix Giannelia 09/29/2009]