changed MapEditor::undo and saveState so that selection is saved, too (bugfix)
1 \documentclass{article}
3 \usepackage[latin1]{inputenc}
13 \hypersetup{bookmarks, bookmarksopen,
14 pdftitle={VYM - a tool for visual thinking },
15 pdfauthor={Uwe Drechsel},
17 pdfkeywords={map, tool},
18 pdfpagemode={UseOutlines},
19 bookmarksopenlevel={1},
26 \newcommand{\vym}{{\sc vym }}
27 \newcommand{\ra}{$\longrightarrow$}
28 \newcommand{\la}{$\longleftarrow$}
29 \newcommand{\ua}{$\uparrow$}
30 \newcommand{\da}{$\downarrow$}
31 \newcommand{\key}[1]{[#1]}
34 \title{VYM \\ -- \\View Your Mind}
35 \author{\textcopyright Uwe Drechsel }
43 \section{Introduction}
44 \subsection{What is a \vym map?}
45 A \vym map (in short words {\em map}) is a tree like structure:
47 \includegraphics[width=12cm]{example1.png}
49 Such maps can be drawn by hand on paper or a flip chart and help to
50 structure your thoughs. While a tree like structure like above can be
51 drawn by hand or any drawing software \vym offers
52 much more features to work with such maps. \vym is not another drawing
53 software, but a tool to store and modify information in an intuitive
54 way. For example you can reorder parts of the map by pressing a key or
55 add various information like a complete email by a simple mouse click.
57 \subsection{Why should I use maps? Time, Space and your Brain.}
58 \subsubsection*{Space}
59 A map can concentrate a very complex content on little space e.g. a
60 piece of paper. It helps to use both sides of your brain: the logical
61 side and also your creative side (e.g. by using pictures, colors and
62 keywords in a map, so called {\em anchors}). It is a technique to
63 organize the way you think: It can help you by developing, sorting and
64 memorizing your thoughts.
67 Because you just use keywords and drawings, it is much faster than good
68 old fashioned notes. Your brain memorizes things by associating them to
69 other things -- a map makes use of those connections and stimulates
73 \subsubsection*{Your Brain}
74 In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres
75 of the human brain have different tasks (of course both of them
76 basically {\em can} do the same):
78 \begin{tabular}{|p{5.5cm}|p{5.5cm}|} \hline
79 Left side & Right side \\ \hline
81 \item verbal speech and writing
83 \item logical thinking
84 \item analyzing and details
91 \item visual thinking, day dreams
92 \item intuition and emotion
93 \item overview of things
95 \item art, music, dancing
96 \item non-linear thinking, connecting things
97 \item spatial awareness
98 \end{itemize} \\ \hline
101 In our science oriented society we have learned to mainly rely on our
102 left side of the brain, the "rational" one. In other cultures,
103 especially like the native americans and other "old" cultures, the right
104 side is much more important. maps are just one way to stimulate the
105 other side and make use of additional ressources we all have.
108 \subsection{Where could I use a map?}
109 Here are some examples, how you can use those maps
111 \item to prepare articles, papers, books, talks, \ldots
112 \item to sort complex data
113 \item to memorize facts, persons, vocabulary, \ldots
114 \item to sort emails, files and bookmarks on your computer
115 \item to moderate conferences
118 \subsection{What you shouldn't do with a map...}
119 A map drawn by somebody shows the way the author thinks. There is
120 no right or wrong in the way it is drawn, so there is no way to critize
121 it. "It is, what it is" ({\sc F.~Lehmann}).
126 \subsection{Internet Ressources}
127 A good starting point to learn more about maps in general is Wikipedia:
130 \href{http://en.wikipedia.org/wiki/Mind_map}{http://en.wikipedia.org/wiki/Mind\_map}
132 \href{http://de.wikipedia.org/wiki/Mindmap}{http://de.wikipedia.org/wiki/Mindmap}
135 \subsection{Concept of \vym}
137 %TODO may add a general introduction here...
139 \vym uses two windows: an editor for the map itself and another one for
140 notes, which are part of the map. Let's call them {\em mapeditor} and
143 \includegraphics[width=8cm]{windows.png}
145 Usually you will work in the {\em mapeditor} by just adding new
146 branches, moving around and reordering them. The various ways to do this
147 will be explained in \ref{mapeditor}. You can store additional
148 information e.g. the content of a email easily in a {\em branch}: Just
149 type or copy\&paste it into the {\em noteeditor}. Working with notes is
150 explained in \ref{noteeditor}
152 The map itself has always a {\em mapcenter}. The
153 mapcenter has {\em branches} just like the trunk of a tree. Each branch
154 in turn may have branches again.
156 \includegraphics[width=10cm]{branches.png}
158 We will call a branch directly connected to the mapcenter a {\em
159 mainbranch}, because it determines the position of all its child
162 The mapcenter and the branches all have a {\em heading}. This is the
163 text you see in the mapeditor. Usually it should just be one or a few
164 words, so that one can easily keep track of the whole map.
167 In the toolbar above the mapeditor you see various symbols.
169 \includegraphics[width=8cm]{default-flags.png}
171 These are called {\em flags} and can be used to mark branches in the
172 map, e.g. if something is important or questionable.
173 There are also more flags set by \vym automatically to show additional
174 information, e.g. when a exists for a particular branch.
176 By default some of these flags are set exclusively e.g. when the \lq
177 thumb-up\rq flag is set, then the \lq thumb down\rq is unset and vice
178 versa. You can change this default behaviour in the settings menu.
180 \section{Mapeditor} \label {mapeditor}
181 \subsection{Start a new map}
182 After \vym is started two windows will open: the mapeditor and the
183 noteditor. Usually you will work in both windows, but at the moment we
184 will just need the mapeditor.
186 Select the mapcenter "New map" in the middle of the mapeditor by
187 left-clicking with the mouse. It will turn yellow to show that is
188 selected. There are several ways to add a new branch to the center:
190 \item Using the mouse: Open the context meny by clicking with the
191 right mouse button (CTRL-Click on Mac) onto the
192 mapcenter and choose Add \ra Add as child
193 \item Press \key{Ins} or \key{A}
195 A new branch will appear and you will be able to type the heading of the
196 branch. Finish adding the new branch by pressing \key{Enter}.
198 Sometimes it comes handy to add a new branch above or below the current
199 one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also
200 possible to add a branch in such a way, that the current selection
201 becomes the child of the new branch, which is like inserting it {\em
202 before} the selection. This can be done using the context menu.
204 \subsection{Navigate through a map}
205 \subsubsection*{Select branches}
206 To select branches you can use the left button of your mouse or also the
207 arrow keys. Depending on the {\em orientation} of a branch type
208 \key{\la} or \key{\ra} to get nearer to the mapcenter or deeper
209 down into the branches. Within a set of branches, let's call them a
210 {\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can
211 also use \key{Pos1} and \key{End} to select the first and last branch.
214 \subsubsection*{Zoom a map}
215 While adding more and more branches the size of the map may become
216 bigger than the mapeditor window. You can use the scrollbars on the
217 right and the bottom of your mapeditor window to scroll, but it is
218 easier to just scroll using the left mouse button: Click onto the {\em
219 canvas} itself, the empty space somewhere between the branches. The
220 mouse pointer will change from an arrow to a hand, now move the visible
221 part of the map to show the desired part.
223 If you select branches using the arrow keys, the map will scroll
224 to ensure that the selected branch is always visible.
226 Working with huge maps, the {\em zoom}-function comes in handy: You can
229 \item from the menu View \ra Zoom
230 \item the toolbar buttons
232 \includegraphics[width=3cm]{zoom-buttons.png}
235 The crossed magnifying lens resets the zoomed view to its original size.
238 \subsubsection*{Find Function} \label{findwindow}
239 With huge maps there is the need to have a
240 find function. Choose Edit \ra Find to open the Find Window:
242 \includegraphics[width=6cm]{find-window.png}
244 The text you enter here will be searched in all the headings and also in
245 notes. Everytime you press the "Find"-button it will look for the next
246 occurence, which then will be selected automatically. If the search
247 fails, there will appear a short message "Nothing found" or a few
248 seconds in the {\em statusbar} on the bottom of the mapeditor.
250 \subsubsection*{Scroll a part of the map}
251 A very big subtree of a map e.g. a branch with hundreds of childs makes
252 it very hard to keep an overview over the whole map. You can hide all
253 the childs of a branch by {\em scrolling} it -- this function is also
254 often called {\em folding}. Think of the whole subtree as painted onto a
255 big newspaper. You can scroll the paper to a small roll, leaving just
256 the headline readable.
258 To scroll or unscroll a branch and its childs, press the
260 \item \key{Scroll} key or \key{S}
261 \item press the middle-mouse button or
262 \item choose the little scroll from the toolbar.
264 If you select parts of a scrolled branch e.g. using the find function or
265 by using the arrow-keys, it will unscroll temporary. This is shown as a
266 scroll with a little hour glass. If the temporary unscrolled part is not
267 longer needed, it will be hidden again automatically. It is also
268 possible to unscroll all branches using "Edit\ra Unscroll all scrolled
273 \subsection{Modify and move branches}
274 \subsubsection*{Modify the heading of a branch}
275 You can edit the heading by selecting the branch and then
277 \item pressing \key{Enter}
278 \item double-clicking with left mouse.
280 Just type the new heading (or edit the old one) and press \key{Enter}.
282 \subsubsection*{Move a branch}
283 The easiest way to move a branch is to select it with left-mouse and
284 drag it to the destination while keeping the mouse button pressed.
285 Depending on the branch it will be
287 \item moved to the destination or
288 \item {\em linked} to a new {\em parent} (mapcenter or branch)
290 If you drag the branch over another one or over the mapcenter, you will
291 notice that the link connecting it to the old parent will be changed to
292 lead to the new parent which is now under your mousepointer.
293 If you release the button now, the branch will be relinked.
295 If you release the button in the middle of nowhere, the result will
296 depend on the type of branch you are releasing:
298 \item A mainbranch is directly connected to the mapcenter.
299 It will stay on its new position.
300 \item An ordinary branch will "jump" back to its original position.
302 Thus you can easily rearrange the layout of the mainbranches to avoid
303 overlapping of their subtrees.
304 There is another convenient way to move branches, especially if you want
305 to {\em reorder} a subtree: You can move a branch up or down in a
308 \item pressing \key{\ua} and \key {\da}
309 \item selecting Edit \ra Move branch
310 \item clicking on the toolbar buttons:
312 \includegraphics[width=1.5cm]{move-buttons.png}
316 There is yet another way to move branches: If you press \key{Shift} or
317 \key{Ctrl} while moving with the mouse, the branch will be added above
318 or below the one the mouse pointer is over. This helps also to reorder a
321 \subsection{The right side of your brain - colors and images}
322 \subsubsection*{Change color of a heading}
323 You can also use colors to put more information into a map, e.g. use
324 red, green and more colors to prioritize tasks. Again you can
326 \item use the menu and choose e.g Format \rq Set Color
327 \item use the toolbar
329 \includegraphics[width=3cm]{color-buttons.png}
332 The first button (black in the graphic above) shows the actual color.
333 Clicking on it let's you choose another color. You can also "pick"
334 another color by selecting a branch with the desired color and using the
335 "pick color" button. Both of the buttons showing a bucket actually put
336 the current color to the selected branch. While the first one just
337 colors the heading of the selection, the last one also colors all the
338 childs of the selected branch.
341 A very useful function is the "copy color" using the mouse: Select the
342 branch which should get the new color, then press \key{Ctrl} and
343 simultanously click with left-mouse on another branch to copy its color
344 to the first one. Here the childs of the selection also will get the new
345 color, if you just want to color the selection itself, additionally
348 \subsubsection*{Use flags}
349 \vym provides various flags. You see them in the toolbar on top of the
350 mapeditor window. (Note: Like all toolbars you can also move them to the
351 left or the right side of the window or even detach them. Just grab the
352 very left "dotted" part of the toolbar with your left-mouse button.)
354 \includegraphics[width=8cm]{default-flags.png}
356 If you have a branch selected, you can set any number of flags by
357 clicking them in the toolbar. The toolbar buttons change their state and
358 always reflect the flags set in the selected branch.
360 Presently \vym uses two kinds of flags: {\em System Flags} and {\em
361 Standard Flags}. The standard flags are those shown in the toolbar.
362 System flags are set by \vym to indicate e.g. that there is additional
363 information in a note (more on this in \ref{noteeditor}). Later versions
364 of \vym may have another kind of flags, which may be edited by the user.
366 \subsubsection*{Images}
367 The easiest way to add an image to a branch is by dragging it e.g. from a
368 webbrowser to the mapeditor while a branch is selected there.
370 You can also add a image to a branch by opening the context menu of the
371 branch choose "Add Image". A
372 dialog window lets you choose the image to load.
373 \footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may
374 also support JPEG, MNG and GIF, if specially configured during
375 compilation (as done when \vym is part of SUSE LINUX).}
376 While an image is selected in the dialog, you can see a preview of the
379 You can position the image anywhere you want, just drag it with left
380 mouse. To relink it to another branch, press \key{Shift} while moving
381 it. To delete it, press \key{Del}.
383 If you right-click onto an image, a context menu will open which let's
384 you first choose one of several image formats. Then a file dialog opens
385 to save the image. Hint: This is used to "export" the image, it will be
386 saved anyway in the map itself! You can also cut and
387 copy images, but it is not possible to add objects to an image\footnote{
388 Images are regarded as "extra feature". It would make working with
389 the map much more complex if e.g. images could be linked to images.}
391 The option \lq{\bf Use for export} \rq controls the output of exports
392 e.g. to HTML: If set to no, the image won't appear in the {\em text}
393 part of the output. This is useful for large images or if images are
394 used as a kind of frame e.g. the famous cloud symbol around a part of
395 the map. Those shouldn't appear in the middle of the text.
397 At the moment image support is preliminary: Images will be saved
398 together with all the other data of a map in the {\tt .vym}-file.
399 Later versions will include more functionality like resizing the images,
400 changing its z-value (put it into background) etc.
402 \subsubsection*{Frames}
403 A frame can be added to a branch by clicking with the
404 right-mouse button. A context menu will open, where you can choose the
405 frame. At the moment just a rectangle resp. "No Frame" will be offered,
406 nevertheless you can use images as frames. Have a look at the demo map
407 {\tt todo.vym} as an example, where the mapcenter is a cloud. You can
408 use an external drawing program like {\tt gimp} to create an image,
409 preferable with an transparency channel, so that you can design frames
410 which don't use a rectangular borderline, just like the cloud.
413 \subsection{Background design}
414 The design of the background of a map and also of the links connecting
415 various parts of the map can be changed by
417 \item Selecting Format from the menu
418 \item Right clicking onto the canvas, which will open a context menu
421 \subsubsection*{Background color}
422 The color is set (and also displayed) as "Set background color".
424 \subsubsection*{Link color}
425 Links connecting branches can be colored in one of the following ways:
427 \item use the color of the heading of the branch the links is
428 \item use {\em one} color for all links. The default color is blue.
431 The latter can be set with "Set link color". Check or uncheck the "Use
432 color of heading for link" option to choose one of the two designs for
435 \subsubsection*{Link style}
436 \vym offers four different styles for the appearences of links:
443 The "thick" styles only draw links starting at mapcenter thick, the rest
444 of the map is always painted "thin".
447 \subsection{Link to other documents}
448 Presently \vym supports two kind of links:
450 \item Document, which will be opened in an external webbrowser
451 \item \vym map, which will be opened in \vym itself
454 \subsubsection*{Webbrowser}
455 Modern Webbrowsers like {\tt konqueror} are able to display various
456 types of files, both local or in the internet. To enter the URL of
457 any document, right-click onto a branch or use the Edit Menu
458 and choose "Edit URL". Enter the path to your document (or copy and
459 paste it from your browser). Examples for valid paths are:
461 http://www.insilmaril.de/vym/index.html
462 file:/usr/share/doc/packages/vym/doc/vym.pdf
464 If an URL was entered, a little globe will appear in the branch. By
465 clicking on the globe in the toolbar or the context menu an external
467 The browser can be changed in the Settings Menu.}
470 \includegraphics[width=0.5cm]{flag-url.png}
472 If you want to keep bookmarks in a map, select a branch where you want
473 to add the bookmark, then simply drag the URL from your browser to the
474 map. Also you could use an existing heading as URL: Right click onto the
475 branch and select "Use heading for URL".
477 \subsubsection*{\vym map}
478 To link to to another map right click on a branch or choose "Edit \ra
479 Enter \vym link". A file dialog opens where you can choose the map. A
480 branch with a link is marked with
482 \includegraphics[width=0.5cm]{flag-vymlink.png}
484 Clicking this flag in the toolbar or in the context menu of a branch
485 will open the map in another tab (see \ref{tabs} for working with
486 multiple maps). To delete an existing link, just press the "Cancel"
489 Technical note: Internally \vym uses absolute paths, to avoid opening
490 several tabs containing the same map. When a map is saved, this path is
491 converted to a relative one (e.g. {\tt /home/user/vym.map} might become
492 {\tt ./vym.map}. This makes it fairly easy to use multiple maps on
493 different computers or export them to HTML in future.
495 \subsection{Multiple maps} \label{tabs}
496 You can work on multiple maps at the same time. Each new map is opened
497 in another {\em tab}. The available tabs are shown just above the
498 mapeditor. You can use the normal cut/copy/paste functions to
499 copy data from one map to another.
504 %\subsubsection{Menus}
505 %\subsubsection{Keyboard shortcuts}
510 % Working with tabs (multiple maps)
514 \section{Noteeditor} \label {noteeditor}
515 If you want to save more text in a branch e.g. a complete email, a
516 cooking recipe, or the whole source code of a software project, you can
520 Before you can type or paste text into it, you have
521 to select a branch in the mapeditor. Note that the background color
522 of the noteeditor indicates its state:
524 \item black: no branch selected
525 \item grey: no text entered yet
526 \item white: text is already available
528 To show you in the mapeditor itself that there is a note with more
529 information for a particular branch, a little note flag will appear next
530 to the heading of the branch. See the lower branch on the right side:
532 \includegraphics[width=8cm]{branches-flags.png}
535 \subsection{Import and export notes}
536 The note is always saved automatically within the \vym file itself.
537 Nevertheless sometimes it is nice to import a note from an external file
538 or write it. Use "File\ra~Import" and "File\ra~Export" to do so.
540 \subsection{Edit and print note}
541 Editing works like in any simple texteditor, including undo and redo
542 functions. You can delete the complete note by clicking the
543 trashcan. Only the note itself is printed by clicking the printer icon.
545 When pasting into the editor using the X11 copy\&paste mechanism, the
546 editor will create a paragraph for each new line. Usually this is not
547 wanted, so there you can convert all paragraphs into linebreaks by using
548 Edit~\ra~Remove~Paragraphs or \key{ALT-X}.
551 The noteeditor is ment to be used for simple notes, not really as full
552 featured text editor. Because of many requests \vym supports now
553 formatted text in the noteeditor\footnote{
554 \vym uses the QRichtText format, which is basically a subset of the
555 formatting provided in HTML.}
556 Two default fonts are supported which can be set in the Settings menu.
557 One is a fixed width font, the other has variable width. The fixed font
558 is usually used for emails, source code etc.\ while the variable font is
559 used for simple notes, where one doesn't need fixed character widths.
560 Both fonts can easily switched using the following symbol from the
563 \includegraphics[width=0.5cm]{formatfixedfont.png}
565 In the Settings menu both fonts can be set and also which font should be
568 Additionally to the default fonts any font installed on your system can
569 be used. Please note, that the chosen font also will be used for HTML
570 exports, so you should only use fonts which are available generally.
572 \subsection{Colors and formatted text}
573 \vym supports formatted text (QT Rich Text) in the noteeditor since
574 version 1.4.7. Colors and text attributes (e.g. italic, bold) can be
575 set with the buttons above the text. The text itself is divided in
576 paragraphs. For each paragraph the format can be set (e.g. centered,
577 right). A paragraph is ended when a \key{Return} is entered. If you just
578 want to begin a new line, press \key{CTRL-Return}.
580 \subsection{Finding text}
581 The noteeditor itself has no Find function, use Find in the mapeditor,
582 which will also search all notes (see \ref{findwindow}).
584 \subsection{Pasting text into note editor}
585 Often you will paste text into the editor from another application e.g.
586 an email. Normally \vym will generate a new paragraph for each new line.
587 This usually is not what you want, so you can choose from the menu
589 \subsection{Advanced actions}
590 \subsubsection{Edit \ra Convert subsubsections:}
591 This turns subsubsections in selected text (or all text, if nothing is
592 selected) into linebreaks. This is especially useful for snippets of
595 \subsubsection{Edit \ra Join Lines:}
596 Tries to format text, so that empty lines are used to delimit
597 paragraphs. This is done for selected text (or all text, if nothing is
598 selected). Especially useful for text like emails, meeting minutes etc.
600 \section{Hello world}
601 \vym can export its maps in various formats and can import data from
602 outside (though import is still limited at the moment).
603 Also parts of a map can be exported.
606 The format in which the map will be exported can be chosen with
608 \item File \ra Export \ra {\em format}
610 \vym offers both HTML and ASCII export.
612 \subsubsection*{Image}
613 \vym supports all image formats which are natively supported by the
615 BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
616 For use in websites and for sending images by email PNG is a good
617 recommodation regarding quality and size of the image. \vym uses QTs
618 default options for compressing the images.
620 \subsubsection*{ASCII}
621 Exporting an image as text is somewhat experimental at the moment. Later
622 this will probably done using stylesheets. So the output may change in
623 future versions of \vym.
625 \subsubsection*{HTML}
626 Before a map is exported as HTML, it will be first written as XML into a
627 directory (see \ref{xmlexport}). Then the external program {\tt
628 xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by
630 will be called to process the XML file and generate HTML code.
631 %A script then will transform the XML
633 A dialog allows to set various options:
635 \item {\bf Include image:} If set, \vym will creat an image map at
636 the top of the HTML output. Clicking on a branch in the map will
637 jump to the corresponding section in the output.
639 \item {\bf Colored headings:}
640 If set to yes, \vym will color the headings in the text part with the
641 same colors like in the map.
642 \item {\bf Show Warnings:}
643 If set to yes, \vym will ask before overwriting data.
644 \item {\bf Show output:}
645 This is useful mainly for debugging. It will show how the processing of
646 the XML file works by calling the external {\tt xsltproc}.
648 Additionally the paths to the CSS and XSL stylesheets can be set. By
649 default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}.
651 %\paragraph{WIKI style:} This is very useful for easy design of webpages.
652 %Here is a short overview:
655 % + Big headlines start with the '+' character.
656 % - Small headlines start with the '-' character.
657 % Normal text doesn't have any starting notation.
658 % ! Notes start with an exclamation.
659 % . Indented text starts with a dot.
660 % ? Questions start with a question-mark, and
661 % = Answers starts with the equal-sign.
662 % * Points for a item-list
666 % use '{...}' or '{(vym homepage) http://www.insilmaril.de/vym/}'
667 % for external links.
670 % |This is bold| text, while
671 % |/this text is italic|,
672 % |*this is pre-formatted|, and
676 %\paragraph{Show output:} This is used for debugging. \vym uses an
677 %the external script {\tt vym2html.sh} to preprocess the XML-data. Then
678 %\vym calls {\tt xsltproc} to generate the HTML page by using various
679 %{\tt .xsl} stylesheets and {\tt wireframe.css}. If you run into problems
680 %here, changing paths in {\tt $\sim$/.qt/vymrc} might help.
682 \subsubsection*{XML} \label{xmlexport}
683 The map is written into a directory both as an image and as XML. The
684 directory is set in a file dialog. If the directory is not empty, you
685 will be questioned if you risk to overwrite its contents.
687 It is possible to export different maps into the same directory. Each
688 file generated will have the map's name as prefix, e.g. {\tt todo.vym}
689 becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
690 on. This is useful if e.g. for a website several combined maps have to
691 be stored in the same directory.
693 \subsubsection*{Export a part of a map}
694 Select a branch you want to export together with its childs, then open
695 the context menu and choose {\em Save Selection}. This will create a
696 file with the postfix {\tt .vyp}, which is an abbreviation for \lq vym
700 At the moment \vym can read a directory structure. This is mainly for
701 testing \vym e.g. to easily create huge maps used for benchmarks (yes,
702 there is still room to optimize \vym ;-)
704 Many other applications meanwhile can export their data using XML, so
705 volunteers to write import filters are welcome.
707 Also parts of a vym map ({\tt .vyp}) can be imported.
709 \subsection{File format}
710 \vym maps usually have the postfix "{\tt .vym}" and represent a
711 compressed archive of data. If you want to have a
712 closer look into the data structure, just uncompress the map manually
717 A directory named {\tt vymfile} will be created containing further
718 directories both for {\tt images} and {\tt flags}. In the {\tt vymfile}
719 directory you will find the map itself, usually named {\tt vymfile.xml}.
721 This file can be loaded directly into \vym, it does not have to be
722 compressed. If you want to compress all the data yourself, use
728 \subsubsection*{Importa part of a map}
729 Select a branch where you want to add a previously save part of a map
730 ({\tt .vyp}), then open
731 the context menu and choose {\em Add \ra Import}. For the import you can
732 choose between {\em Import Add} and {\em Import Replace}: The imported
733 data will be added after the selection resp. replace the selection.
736 \section{Advanced Editing}
737 \vym offers a few shortcuts to let you work more quickly and literally
738 to connect any branches directly.
739 \subsection{Modifier Modes}
740 Modifiers are for example the \key{Shift}- or the \key{Alt}-keys. When
741 pressed while doing actions with the mouse, they will cause \vym to use
742 a "modified" action. E.g. you can move branches with mouse. If
743 \key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be
744 added above/below the target, not as child of the target.
746 Without a modifier pressed, the first click on a branch just selects
747 it. For the behaviour of the \key{Ctrl} modifier there are several
748 options, which can be set from the modifier toolbar:
750 \includegraphics[width=3cm]{modmodes.png}
752 The default is to copy the color from the clicked branch to the already
753 selected branch. In the toolbar shown above the default modifier is
754 selected, namely to copy the color of a branch. The second modifier
755 let's you easily copy a whole branch with a single click. The third
756 modifier lets you create {\em xLinks}, which will be explained in the
760 So far all the data in the \vym map has been treelike. Using xLinks you
761 can link one branch to any other, just like attaching a rope between two
762 branches in a real tree. This is especially useful in complex maps,
763 where you want to have crossreferences which don't fit on the same
764 visible area, which fits on your screen. The following example, which is
765 part of the \vym package, still fits on one screen, but shows how data
766 can be crosslinked. In the graphics there is a link from a task (prepare
767 a presentation) to general information:
769 \includegraphics[width=12cm]{xlink.png}
771 Note that a xLink which points to a branch that is not visible (because
772 it is scrolled), is just show as a little horizontal arrow. In the
773 screenshot above have a look at the \lq Tuesday\rq\ branch.
775 \subsubsection{Create a xLink}
776 Choose the link mode from the modifier toolbar (by clicking or pressing
777 \key{L}). Select the branch, where the xLink should start. Press the
778 modifier key \key{Ctr} and simultanously click on the branch where the
779 link should end. (The link is already drawn before you release the mouse
780 key). If you release the mouse over a branch the xLink becomes
783 \subsubsection{Modify or delete a xLink}
784 Open the context menu of a branch and select \lq Edit xLink\rq. A
785 submenu contains all the xLinks of the branch (if there are any). They
786 are named like the branches, where they end. Choose one and
787 the xLink dialogue opens, where you can set color, width and also delete
790 \subsubsection{Follow a xLink}
791 In a complext \vym map it sometimes comes handy to jump to the other end
792 of a xLink. You can do this by opening the context menu of the branch
793 and clicking on \lq Goto xLink\rq and selecting the xLink you want to
798 \subsection{Adding and removing links}
799 The context menu of a branch shows some more ways to add and delete data
800 e.g. you can delete a branch while keeping its childs. The childs become
801 linked to the parent of the previously removed branch.
802 Similar branches can be inserted into existing maps. For keyboard
803 shortcuts also have a look at the context menu.
806 \section{\vym on Mac OS X}
807 \subsection{Overview}
808 Basically there are two ways to run \vym on Macs:
809 \subsubsection{QT Mac Edition:}
810 \vym here provides the well known Mac look and feel. \vym is
811 available as zipped Mac OS X application. It has been compiled and
812 tested in Mac~OS~10.3, but should also work on Tiger. It is using
813 the Mac version of Trolltechs QT library.
815 \vym can also be run using the Linux version, but then menus and
816 handling will also be those of the Linux version e.g. The menu bar
819 \subsection {Contextmenu and special keys}
820 Most Macs unfortunatly just have a single mouse button. In order to show
821 the context menu which usually would be opened with the right mouse
822 button, you can click while pressing the \key{kommand}-key.
824 Especially on Laptops some of the keys usually used on PC keyboards seem
825 to be missing. The QT-Mac Edition of \vym has its own keyboard
826 shortcuts. To find the shortcuts just have a look at all the menu
827 entries, the shortcut is visible next to an entry. Toolbar buttons also
828 may have shortcuts, just position the mouse pointer over a button and
829 wait for the little help window to appear.
831 \subsection {Viewing external links}
832 \vym on Mac uses the system call {\tt /usr/bin/open} to view links.
833 Mac~OS determines automatically if the link is a pdf or www page and
834 opens the right browser.
836 \subsection{Compiling \vym on Macs}
837 Please refer to the documentation available on the internet:
839 \href{http://www.InSilmaril.de/vym/faq.html}{http://www.InSilmaril.de/vym/faq.html}
843 \section{History of \vym}
845 There are lots of features which might find their way into \vym.
846 Together with \vym you should have received a directory with example
847 maps e.g. on SUSE~LINUX this is
849 {\tt /usr/share/doc/packages/vym/demos}
851 where you find the map {\tt todo.vym}. It lists quite a lot of things to
852 be done in future. If you have more ideas, contact the author at
853 {\tt vym@insilmaril.de}.
856 \input{vym.changelog}
858 \begin{longtable}{|lcp{8cm}l|} \hline
859 Version & & Comment & Date \\ \hline \hline \endhead
861 1.6.8 & - & Dramatic speedup in some operations
862 (e.g. move branch up/down) due to extended
863 undo engine & 2005-06-07 \\
864 1.6.7 & - & Changed default pdf-reader for Mac OSX & 2005-05-27 \\
865 & - & Bugfix: xLinks stopped working in 1.6.6 &\\
866 & - & Bugfix: drawing error when using modModeCopy &\\
867 & - & Bugfix: replaced lrint by qRound for BSD ports &\\
868 1.6.6 & - & Exclusive standard flags & 2005-05-23 \\
869 1.6.5 & - & removing a branch and keeping its childs & 2005-05-19 \\
870 & - & removing childs of a branch & \\
871 & - & insert branch and make selection its child& \\
872 & - & restructured branch context menu
873 in a basic version (straight line) & 2005-04-15\\
874 & - & New shortcuts for use on Mac OS X & \\
875 & - & Importing directories generates vymlinks now & \\
876 & - & Bugfix: Changing linkstyle now automatically redraws all
878 & - & Bugfix: Paste icon is disabled if clipboard is empty &\\
879 1.6.4 & - & xLinks (arbitrary connection between 2 branches) works
880 in a basic version (straight line) & 2005-04-15\\
881 1.6.3 & - & Bugfix: Saving of selection to a vym part (.vyp) &2005-03-30\\
882 & - & Bugfix: Closing the noteeditor by closing its window now
883 also toggles the responding toolbar button. &\\
884 1.6.2 & - & Introduced Modifier modes: color, link, copy &2005-03-24\\
885 & - & Linking branches is basically possible, though it can't
886 be edited/saved yet &\\
887 1.6.1 & - & Optimized moving of branches: much faster especially
888 with huge subtrees &2005-01-30\\
889 & - & Bugfix: Segfault when loading vym part &\\
890 & - & Bugfix: ugly unitialized lines, when
891 temporary drawn link was moved from a
892 temporary parent back to canvas & \\
893 1.6.0 & - & Added saving of xhtml settings in map& 2004-12-14 \\
894 1.5.2 & - & Added Import of maps with two modes:
895 add/replace & 2004-12-13 \\
896 & - & Added export of part of maps & \\
897 & - & Added joining of paragraphs in text editor & \\
898 & - & Optimized undo: Only relevant parts are saved, which
899 dramatically improves e.g. moving branches up/down
901 & - & Bugfix: QTextEdit generates invalid XML code, which
902 could lead to a parse error, if font name contains a \& & \\
903 & - & Bugfix: Wrong order of mainbranches in Export & \\
904 & - & Bugfix: zip archive was not deleted before save, which
905 could lead to much bigger files, e.g.
906 when working on older \vym maps or deleted images& \\
907 & - & Bugfix: Printing in Texteditor & \\
908 & - & Bugfix: Wrong URLs in xhtml output & \\
909 & - & Bugfix: Segfault fixed at Cursor left/right in empty map& \\
910 1.5.1 & - & More options in xhtml export: external scripts & 2004-10-01 \\
911 1.5.0 & - & Public release of all changes since 1.4.1 & 2004-09-26 \\
912 & - & New function to replace paragraphs in note editor
913 by linebreaks, this makes pasted text much nicer& \\
914 & - & New option to toggle exporting of of floatimages& \\
915 & - & z-plane of floatimages can be set (manually only)& \\
916 & - & Bugfix: Wrong ordering of branches, if mainbranch is
917 exactly left of center& \\
918 1.4.7 & - & New Export to XHTML by Thomas Schraitle. & 2004-09-24 \\
919 & - & Bugfix: vymLink& \\
920 & - & Bugfix: spaces and dots in filenames & \\
921 & - & Bugfix: Error message if xsltproc is not installed& \\
922 1.4.6 & - & New file format: notes are saved as part of the .xml file
924 & - & Note Editor supports Rich Text now.&\\
925 & - & Parser now also nows {\tt standardflag} (all letters
927 1.4.5 & - & Correct handling of font size in Heading & 2004-08-23 \\
928 1.4.4 & - & Selecting with cursor now works between subtrees & 2004-07-29 \\
929 & - & Bugfix: vymLink was set to temporary dir in 1.4.3 & \\
931 1.4.3 & - & Optimisation: Reduced canvas objects by only
932 creating objects for used flags & 2004-07-19 \\
933 & - & Better visualization of moving branch above/below target&\\
934 & - & Find Window informs with dialog, if the search failed&\\
935 & - & System Flags are clickable now &\\
936 & - & Reworked CSS and XST stylsheets (comments, indent, browser
938 & - & vymLinks are shown in statusbar &\\
939 & - & current directory is save &\\
940 & - & Rewritten load/save to improve multimap handling and
942 & - & Bugfix: vymLinks don't get deleted
943 when Cancel is pressed &\\
944 & - & Bugfix: Fixed a bunch of bugs in XSL for HTML export& \\
945 & - & Bugfix: More toolbar buttons disabled, if action not
947 & - & Bugfix: Renaming .vymfile now works&\\
948 & - & Bugfix: mapChanged set when toggling flags&\\
949 & - & Bugfix: CTRL-N was used twice &\\
950 & - & Bugfix: Del didn't work on floatimage &\\
951 1.4.2 & - & Bugfix: Float image could not be deleted& \\
952 1.4.1 & - & Bugfix: Color of branch not saved & 2004-05-25 \\
953 & - & Bugfix: wrong path at HTML export & \\
954 & - & Bugfix: map is not save with special characters in path& \\
955 1.4.0 & - & Ask for confirmation before opening
956 a map in multiple editors & 2004-05-17 \\
957 & - & Save state of note editor (visible/minimized)& \\
958 & - & Export to HTML & \\
959 & - & Author and Comment is saved in map & \\
960 & - & Stats are shown in Edit MapInfo & \\
961 & - & Changes for OS X port (QCursor, QContextMenuEvent) & \\
962 & - & Bugfix: Fonts from note editor are save now &\\
963 & - & Bugfix: invisible image when parent is scrolled &\\
964 & - & Bugfix: Segfault pressing "enter" for floatimage &\\
965 & - & Bugfix: Images can't be outside of exported area
967 & - & Bugfix: Filenames with blanks & \\
968 & - & Bugfix: Old maplink is shown when editing maplink& \\
969 & - & Bugfix: always show cursor while editing heading & \\
970 1.3.5 & - & Export map to dir & 2004-04-16 \\
971 & - & Export to any of QTs image formats & \\
972 & - & Also right side of selection is always visible now.& \\
973 1.3.4 & - & Load last maps in file menu & 2004-04-07 \\
974 & - & save last image path for loading & \\
975 & - & Also export standard flags to dir. & \\
976 1.3.3 & - & Enabled <br> in headings as manual linebreak & 2004-03-26 \\
977 & - & Heading can be copied to URL &\\
978 & - & Bugfix: GIFs are automatically converted to PNG now&\\
979 1.3.2 & - & Add and move branches above/below selection, Texteditor copy all,& 2004-03-26 \\
980 1.3.1 & - & Export to directory, changed naming in .vym& 2004-03-25 \\
981 1.3.0 & - & Bugfix: Check if map can be saved at all& 2004-03-23 \\
982 1.2.12 & - & Select image format before saving image & 2004-03-22 \\
983 1.2.11 & - & Selecting mainbranches by up/down & 2004-03-18 \\
984 & - & Export ASCII (experimental) & \\
985 & - & Each map can be saved individually at quit & \\
986 & - & Bugfix: Opening VymLink crashes QT & \\
987 & - & Bugfix: 50\% less objects on canvas & \\
988 & - & Bugfix: Ignoring LANG, now always written as UTF8&\\
989 1.2.10 & - & Sort Mainbranches by angle to y-axis& 2004-03-16 \\
990 & - & Import directory structure & \\
991 & - & Fix: Set FrameType of MapCenter while loading map &\\
992 1.2.9 & - & Jump to another vym map & 2004-03-12 \\
993 & - & Mainbranches are alwas ordered clockwise & \\
994 1.2.8 & - & Change frame types in context menu & 2004-03-03 \\
995 1.2.7 & - & Copy / Paste and save Floatimages & 2004-02-25 \\
996 1.2.6 & - & Closing vym in KDE now asks for save, too & 2004-02-24 \\
997 & - & Context menu for branches & \\
998 & - & Selection is saved in .vym file & \\
999 1.2.5 & - & URLs to external links can be added & 2004-02-18 \\
1000 & - & All actions are deactived if not possible & \\
1001 1.2.4 & - & Images: Can be loaded, saved, relinked to other parents
1003 1.2.3 & - & Zoom: Reset and finer steps shrinking/enlarging & 2004-01-27 \\
1004 1.2.2 & - & Editing of links (style and color) & 2004-01-27 \\
1005 1.2.1 & - & Bugfix: LineEdit when adding branch has correct position
1006 again. & 2004-01-27 \\
1007 1.2.0 & - & Scrolled parts are automatically unscrolled when
1008 selected and scrolled again later. & 2004-01-23 \\
1009 & - & Bugfix: Save flag is updated when multiple maps are opened& \\
1010 & - & Bugfix: Moving of branches is faster and more accurat
1011 when adding to mapcenter& \\
1012 1.1.7 & - & Bugfix: Remember filename of note in noteeditor & 2003-12-04 \\
1013 1.1.6 & - & Find Text also in Notes. & 2003-12-02 \\
1014 1.1.5 & - & Bugfix: Correct setting and positioning when relinking branches & 2003-11-07 \\
1015 1.1.4 & - & Scroll mode added (folding of subtrees). & 2003-11-03 \\
1016 & - & Bugfix: Wrong position of linedit in zoomed view& \\
1017 1.1.3 & - & Added clear button in find window, bugfixes & 2003-10-09 \\
1018 1.1.2 & - & Links can be colored with color of heading & 2003-10-07 \\
1019 1.1.1 & - & Improved visualization of linking to new branch& 2003-09-26 \\
1020 1.1.0 & - & Find Function & 2003-09-25 \\
1021 & - & Selection always stays in view & \\ \hline
1022 1.0.1 & - & Find function scrolls to result now & 2003-09-18\\
1023 & - & Bugfix: Adding branch with midmouse & \\
1024 & - & Bugfix: multiple repositioning of map,
1025 when noteeditor was changed (speedup) & \\
1026 & - & New Linestyles (still hardcoded) & \\ \hline
1027 1.0.0 & - & First public stable release & 2003-09-16 \\ \hline
1028 0.9.0 & - & added quick color picker (CTRL + Left Mouse) & ? \\ \hline
1029 0.8.0 & - & added automatic canvas resizer, removed manual resizing of
1032 & - & added settings option to paste text into new branch & \\
1033 & - & simplified code & \\
1034 & - & Added heart flag & \\
1035 & - & Choose and switch between fixed and variable width fonts& \\
1036 & - & note editor & \\
1037 & - & Fixed segfault caused by undo and a call of updateNoteFlag of
1039 & - & Added settings menu to configure autoselect \& autoedit mode & \\
1040 & - & autoedit \& autoselect mode & \\
1041 & - & Fixed ugly display problem with QT Palette (Klaas Freitag)& \\
1042 & - & Reduced temporary directories from 4 to 1 & \\
1043 & - & Added wordwrap in printing of notes & \\
1044 & - & New toolbar buttons in texteditor & \\
1045 & - & Set background color & \\
1046 & - & Fixed bug: Flags in toolbar not updated when selecting map center & \\ \hline
1047 0.7.0 & - & No more segfault, when an object is deleted while being edited & \\
1048 & - & Keep focus constant when zooming in/out & \\
1049 & - & Export as png graphic & \\
1050 & - & Keep Center of map where it is while zooming & \\
1051 & - & Added Standard Flags (Smiley, Hook, Stopsign, ...) & \\
1052 & - & MDI: Multi Document Interface enables working on several
1053 maps simultanously & \\
1054 & - & Enabled creating a new map via argument on commandline & \\
1055 & - & Changed file extension from .mmap to .vym & \\
1056 & - & noteeditor changes color, if empty or nothing is selected & \\
1057 & - & Changes in NoteEditor window are recognized by main window,
1058 too, thus preventing loosing data when quitting the program. & \\ \hline
1059 0.6.0 & - & New rendering engine: Faster, no flickering & \\ \hline
1060 0.5.0 & - & Changed printing to use maximum space on paper& \\
1061 & - & Note editor is hidden, too, when mapeditor is minimized& \\
1062 & - & New (compressed) file format& \\ \hline
1063 0.4.0 & - & Size of map is saved& \\
1064 & - & Multi Line Headings & \\
1065 & - & Reworked Rendering Engine: Much faster now.& \\
1066 & - & Reworked Undo: Much faster now.& \\
1067 & - & Enabled moving of map center& \\
1068 & - & Multi-line headings & \\ \hline
1069 0.3.0 & - & Introduced Undo& \\
1070 & - & Fixed some bugs & \\ \hline
1071 0.2.0 & - & Moving view of map improved:& \\
1072 & - & New handling (acrobat reader style)& \\
1073 & - & New mousepointer& \\
1074 & - & Several tools to color a map& \\ \hline
1075 0.1.0 & - & Inital version, basic map layout & \\
1076 & - & Data is stored in XML& \\
1081 %\subsubsection{Menus}
1082 %\subsubsection{Keyboard shortcuts}
1083 %Where does vym save its settings? -> ~/.qt/vymrc