X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FTODO;h=3472890466166dee474c20dd9fa9651fcac9236c;hb=55606436ae30328c0f8230004dccd483b9e50c19;hp=c41a6a4e483faf551cfae6dd631e8f8115e0fc18;hpb=0c9075b0b48fb9d2c36327bc70eb95dcc0942e3c;p=xournal.git diff --git a/src/TODO b/src/TODO index c41a6a4..3472890 100644 --- a/src/TODO +++ b/src/TODO @@ -1,23 +1,228 @@ List of features to be implemented (not in any particular order) ---------------------------------------------------------------- -- de-map space key from button bar -- lasso selection tool -- prefs file, save prefs +THINGS DONE IN THIS RELEASE: + +DONE: fix GTK+ 2.16/2.17 XInput issues with scrollbars and menus +DONE: fix bug 2826845 (shape recognizer accel doesn't work in fullscreen mode) +DONE: bug affecting resize zone in statusbar +DONE: page spinbutton wide enough for 3 digits; avoid "deprecated" warning +DONE: edit->paste command should refresh toolbar to unselect color/thickness + (so can repaint sel) +DONE: cursor doesn't reset properly after selection operation if primary + tool is select mode (stays with arrow cursor instead of pointer) +DONE: device with "eraser" at the end of its name is of type ERASER + (Edward Yang) +DONE: fix_xinput_coords() replaces buggy xinput events by core pointer + coordinates +DONE: use poppler to render PDF backgrounds (after patches contributed + by Mike Ter Louw and Bob McElrath) +DONE: gettext internationalization (contributed by David Planella) +DONE: Catalan translation (by David Planella); French translation +DONE: fix unresponsiveness to button events in text edition box (GTK+ 2.17) + and segfaults when dragging text or using Layers combobox (GTK+ 2.17) +DONE: Esc leaves text box if editing; and leaves fullscreen mode +DONE: package our own copy of the ttsubset library (to remove a dependency + on libgnomeprint), and create TT subfonts in memory +DONE: use gtk-print instead of libgnomeprint +DONE: remove deprecated "antialias bg" option +DONE: fix fix_xinput_coords so it works ok without ENABLE_XINPUT_BUGFIX ? +DONE: disable ctrl-left/right accelerators during text edition +DONE: custom color chooser button (after a patch contributed by Alex Ray) +DONE: remember last used directory (after a patch contributed by Lu Zhihe) +DONE: discard Alt-click and Control-click events +DONE: option to have buttons *toggle* the tool rather than act as tool + (ie button 2 causes button 1 to map to tool 2) [Dylan Thurston] +DONE: patch to fix focus + allow up/dn in single page mode (Bob McElrath) +DONE: patch to fix underscores in MRU filename display (Bob McElrath) +DONE: patch to avoid tiny file dialogs (Bob McElrath) +DONE: further fixes for focus; can Esc out of page selection box +DONE: further fixes for xinput under GTK+ 2.17 +DONE: option to auto-load *.pdf.xoj instead of *.pdf (Bob McElrath) +DONE: look for PDF backgrounds in path of xoj file before prompting user +DONE: paper color chooser (after a patch by ojb) +DONE: remove "Discard core events" from options menu +DONE: get_pressure_multiplier() accesses correct members of event union +DONE: address recognizer bug on single-segment strokes (division by 0) +DONE: remove binary installer (poppler is binary incompatible across versions) + but provide configure script + +REMAINING THINGS TO DO: + +- collaborative editing (see discussion with Erik Demaine) +- porting to Win32 and 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? + + +** 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) (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) + +- 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 + +- 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) +- insert links (to URLs; within document/to other xoj? hand mode navigates) +- increase width of spinPageNo to fit 3 digits +- should escape '_' to '__' in MRU menu entries (else become mnemonics) +- 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 ?) + +- use system paper size as default (/etc/papersize) +- autoload *.pdf.xoj if present when opening *.pdf ??? +- 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) +- 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) +- lasso selection tool (see shoffsta patch) + (http://shoffsta.afraid.org/Projects/Xournal/) - flatten (incl undo/redo...) - enabled only if nlayers>1 -- resize selection -- text tool, font chooser, default font - color chooser (papercolor, pen color); maybe more default colors + cf. ojb patch #2083103 adds paper color chooser - 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 ? -- key mappings (pgup/dn for full page, up/dn for scroll) -- zoom increments more flexible (1% instead of 5% ?) -- copy/paste of an entire page (beware if PDF bg is not compatible!) + config options? 1) when there's not enough space at bottom of page: + - resize the page + - move stuff to next page + - move stuff to a new page + 2) when moving to another page: + - move everything + - 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?) +- 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?) +- 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) +- 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) +- Samuel Hoffstaetter: lasso, gettext localization, sidebar thumbnails, ... +- 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]