List of features to be implemented (not in any particular order)
----------------------------------------------------------------
-- hand tool bug: upon page change, keeps scrolling till end of document
+
+- collaborative editing (see discussion with Erik Demaine)
+- porting to MacOS; merge Nokia port
+- multiple-scenario undo history
+
+- collaborative: allow non-x86 endianness (for ints, for floats?)
+- collaborative: have an initial undo item = contents of the initial
+ xoj file + attachments for bitmap, pdf, and ps backgrounds
+
+- cleanup of undo history (keep track of refcounts, delete old undo)
+ save-and-clear-undo ?
+
+- RandR / recalibration awareness?
+ (e.g. if xinput events are far away from core events, re-query geometry?)
+ or see if removing the GTK bugfix would help? -- e.g. by recalling an
+ internal gtk init function?
+
+BUGS:
+** lingering issues with synaptics touchpads? (#2872667)
+ (DONE) - add patch 0.4.5-fix-synaptics-v1.patch (fix ButtonDown events)
+ (todo) - set device to Absolute mode at startup? (GDK doesn't expose API,
+ cf XSetDeviceMode() in /usr/include/X11/extensions/XInput.h)
+** color picker into canvas doesn't work in GTK+ 2.16 (should disable
+ xinput first?)
+** PDF export crashes in 64-bit due to wrong types (#2897699)
+ --- DONE --- patch by Robert Buchholz
+** export to PDF should see cropbox size if smaller, and map the
+ cropbox -- not the entire page -- to the page area! (2009-11-18 forum)
+
+WIN32:
+- test further
+- write an installer
+- bug: opening files with accents in name?
+- bug: cairo-scaled-font in printing? (2009-11-18 bug tracker)
+
+PATCHES TO INCORPORATE:
+** Italian translation (add_it_po.patch unless updated on tracker)
+ (by Marco Poletti)
+
+** patch: ortho/snap (revised Apr 13 2009)
+ xournal_ortho_snap_patch_4 (by Josef Pavlicek)
+
+** patch (Ian-Woo Kim): multicolumn mode + LASSO SELECTION
+ xournal_lasso_multipage_zoom_button_20090620.patch
+
+** autosave patch (Edward Yang) (should fix: optional only, w/ menu + cfgfile
+ entries; fix: should clean up autosave.xoj.bg* files too; config interval)
+ 0001-Implement-autosave-for-documents-revised.patch (2 seconds after
+ modification, vs original 5 seconds)
+ *** NEW VERSION: #2881919 (autosave for 0.4.5, w/ some changes)
+ NB: last modif should be triggered by prepare_new_undo() and undo/redo?
+
+** insert images patch (Victor Saase) #2890925
+
+- PDF bg memory usage throttling / delete oldest pdf backgrounds
+- replace ttsubset by something more modern? (eg. from cairo ?)
+- auto-hide patch from ~/prog/src/xournal-autohide/ ?
+ (check for cpu usage; handle BOTH edges
+ and only (un)hide stuff at the correct edge!)
+** UI update (Bob McElrath) -- eliminating status bar, compact layout,
+ "compact interface" by default; themes, with line in config file
+ to load pixmaps from pixmaps/$THEME/ (see Jan 9, 2009 emails)
+- horizontal mode instead of dual-view / multicolumn ?
+** "new page before/after" on a PDF bg page should ask: same page, other page of
+ PDF file, default paper
+- new recognizer icon (andruk on patches tracker)
+- recognizer: if variable-width, associate average width
+- recognizer should snap to existing recognized geometric shapes
+- patch to find text in PDF (dmg = Daniel German, Nov 13 2009)
+
+- improve recognizer: two passes for polygons (low tolerance, then higher)
+ to better detect elongated rectangles? (if low tolerance recognizer
+ doesn't get a rectangle, then use higher tolerance for everything else,
+ since otherwise there's too much risk of splitting a segment into 2)
+- snap-to-grid (also for ruler & recognizer vertices)
+ and maybe also snap-to-vertices (option for ruler and recognizer)?
+- config option: config save current tool options instead of default ones
+
+- bug in truetype subset generation w/ Adobe 9, see if gtk-print any better?
+
+- drag-and-drop, copy-paste text & images directly into xournal
+- proximity detection: eraser proximity switches mapping?
+ proximity out removes cursor until next motionnotify?
+
+- render page to bitmap: for export, preview, and copy-paste
+ (render using libart, see how gnomecanvas does it?)
+ NO: render using Cairo !!! then can switch to GtkPrint as well.
+ (copy-paste: config option to render only current layer or all below?)
+- cut-and-paste of selection into other apps (as bitmap; as SVG?)
+- navigation sidebar with bitmap page previews
+- bitmap preview for document icon in desktop environments?
+- "organizer" side panel (hierarchy of notes), cf. gjots
+- see iRex code for generic viewer + PDF plugin including caching,
+ throttling etc. (Marcel Hendrickx email of Sep 11 '09)
+
+- allow toolbar to go vertical
+- toolbar buttons should react to button 2/3 click to modify settings
+ for that tool!!
+
- paste text directly into xournal, from xournal?
(instead of starting a text item and pasting into/from it)
-- internationalization / translation of interface
-- fix: & in bgpdf file name must be quoted to & in save_journal()
-- integration into desktop environment (document icons/previews?
- mime type? click on xoj opens it? list app in start menu?)
+- insert links (to URLs; within document/to other xoj? hand mode navigates)
+- a command + keyboard shortcut to switch mappings (1<->2, 1<->3, 2<->3)
+ (A. Rechnitzer Sept 11, 2007)
+- modify encoding of TrueType font subsets or provide cmap so pdf text
+ can be extracted
+
+- smoothing of strokes (for users without tablets / with deficient drivers)
+- lasso tool
+- add config option to limit total memory usage for PDF bitmaps
+- ability to select entire page for copy-paste (as bitmap / reorder xournal)
+- copy/paste of an entire page (beware if PDF bg is not compatible!)
- rewrite printing using GtkPrint + Cairo as GnomePrint replacement
(keep GnomePrint option for compatibility with GTK+ <2.10)
+- insert images (screen capture or from file or from clipboard),
+ not as full-page backgrounds (new ITEM type)
+
+- convert to/from Jarnal format; to/from MS Journal format???
+- export as SVG, as bitmap (use Cairo for this)
+- improved PDF viewer features (search text, hyperlink, page borders...)
+ (using full poppler api ?)
+- search text: among PDF background (using poppler); among text annotations
+
+- use system paper size as default (/etc/papersize)
+- sticky notes (anchor visually text box to a bg location)
+- use relative paths for bg documents (e.g. annotated PDF)
+- flush display queue when drawing over a slow X server?
+- more paper customization (in particular, 1/2 inch graph paper)
+ (2 custom papers with settings in config file?
+ a folder with blank PDF or xoj papers and quick-access?)
+ (also: engineering paper; isometric paper -- Dan Ott Sep 4 '09)
+- option to map a button to a context menu (incl. tool selection, ...)
+- option to map a button to "undo"
- xournal_page-shadow.diff (Martin Kiefel Feb 5 2007)
-- "organizer" side panel (hierarchy of notes), cf. gjots
- xoj2pdf on command line
- 'insert blank page after' command (more useful in PDF annot !)
- load images as bg if given on command-line (as with PDF on commandline)
-- load PDF pages only on demand (create empty pixmaps at first if can
- parse PDF geometry ourselves, else try pdfinfo ??)
- (and config option to limit total memory usage for PDF bitmaps)
- --- switch to poppler lib instead of pdftoppm
- lasso selection tool (see shoffsta patch)
(http://shoffsta.afraid.org/Projects/Xournal/)
- flatten (incl undo/redo...) - enabled only if nlayers>1
-- resize selection
-- color chooser (papercolor, pen color); maybe more default colors
+- color chooser (papercolor, pen color); have default colors and a history
+ appear as palette in there!
- printing: print-options, save printer settings (throughout a session,
and on disk) (maybe a separate config file .xournal/gnome-print-settings)
- help index
-- pressure sensitivity
-- insert images (screen capture or from file or from clipboard),
- not as full-page backgrounds (new ITEM type)
+- option for highlighter to be always at bottom of its layer
- more pen/highlighter shapes (chisel)
-- convert to/from Jarnal format; to/from MS Journal format???
+- slanted tip pens (calligraphy)
+- toolbar buttons to access custom preset tools (e.g. text or pen with settings)
+- text boxes with opaque background
- recalibration upon screen resize / compensation for miscalibration
(use ConfigureNotify event and XInput? cf "Bugs" tracker 08/2007)
- find a better behavior for vertical space tool across page boundaries ?
- move only what doesn't fit (??? looks hard)
option for vert space tool to also move the background??
(PDF: cut-and-crop by running PDF code twice with 2 different clipboxes?)
-- copy/paste of an entire page (beware if PDF bg is not compatible!)
-- simple drawing tools: rectangles, ellipses
- option to save all annotated files within the .xoj
- non-antialiased version for handhelds
- customize autogenerated save file names
- layer dialog box to set visibility status of each layer regardless of
which layer is being edited
+- option to link layer creation and visibility status for all pages
+ (Eric Borghs 04/15/08)
- display corruption on scroll down when bottom of window is obscured??
(probably a gnomecanvas or X bug -- expose event generated for wrong
region, or not processed?)
-- bitmap preview for document icon in desktop environments?
- autosave at a regular interval in a given location
- keep only a few pages of a PDF file in memory at any given time; generate
pages by parsing pdf info rather than generating bitmaps for all of them.
- win32 port (Matteo Abrate)
- snap-to-grid tool? (Matteo Abrate)
-- option to auto-save preferences on exit (Michele Codutti)
- EPOS 7/24/07: Thumbnails pane
- EPOS: Connect to EPOS api which sends A4 mapped points
- EPOS: Cut and Paste into OpenOffice applications and the GIMP (as bitmap??)
- EPOS: Export pages to pictures in the Jpg and Png formats.
- EPOS: Rotate Ink in custom angle.
+- handwriting recognition???? (cellwriter?) unlikely. we don't have grids
+ see galileon comment on 2008-07-29 to tracker #1925309: word recognizer
+- handwritten stroke search in document (see cellwriter?)
+ (correlate inertia-normalized strokes in lift to unit cotangent bundle?)
- option: export to PDF with incremental pages for successive layers
(for presentations) (Daniel Brugarth 8/18/07)
-- render page to bitmap: for export, preview, and copy-paste
-- cut-and-paste of selection into other apps (as bitmap)
-- Lukasz Kaiser 8/15/07 shapes patch (approximate stroke by geometric shapes)
- (make it an optional mode of the pen, like the ruler)
- (rewrite without gsl dependency?)
- (config file should be in share/...)
- (disconnected shapes: add timestamps to strokes?)
- Samuel Hoffstaetter: lasso, gettext localization, sidebar thumbnails, ...
-- left-hand patch: Uwe Winter 8/27/07 (xournal-lefthand.patch)
+- YoYo Siska patch for desktop mode ??
+- Vivek Ayer: rotate paper wrt screen (for environments where display
+ rotation doesn't work): gnome_canvas_item_affine_relative(canvas->root, ...)
+ would rotate all but text items (still need to modify scroll bbox, and
+ adjust event coordinates by inverse rotation).
+- rotate PDF background pages (individually wrt each other, see #2099935)
+- switch to libglade, and allow customization of key shortcuts (accels)
+
+- command to copy a selected shape to a keybinding that will paste it
+ (so one can define symbols to insert into typed notes) (e.g. "be able
+ to bind Ctrl-B to draw a \beta" for class notes). (shape, binding) sets are
+ local to one session (different for different classes; but save them into
+ the xoj file maybe ?) [Felix Giannelia 09/29/2009]