Activity for lilive

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, Are you looking for hierarchical level styles ? Read the menu Help > Documentation (or F1 key): 6 Formatting & styling > 6.2 Styles > Hierarchical level styles

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Alexandre, Interesting, I can use this sometimes, thank you. There is a plainText() in the API, but the links are lost. I just made this, using JSoup (put the lib jar in the freeplane home_dir/lib folder to make it work): // @ExecutionModes({on_selected_node="/menu_bar/format/menu_coreFormat"}) import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.select.Elements import org.jsoup.safety.Cleaner import org.jsoup.safety.Whitelist // tags to convert to <p> tags toParagraph = [ "h1",...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Alexandre, Interesting, I can use this sometimes, thank you. There is a plainText() in the API, but the links are lost. I just made this, using JSoup (put the lib jar in the freeplane home_dir/lib folder to make it work): // @ExecutionModes({on_selected_node="/menu_bar/format/menu_coreFormat"}) import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.select.Elements import org.jsoup.safety.Cleaner import org.jsoup.safety.Whitelist // tags to convert to <p> tags toParagraph = [ "h1",...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Alexandre, Interesting, I can use this sometimes, thank you. There is a plainText() in the API, but the links are lost. I just made this, using JSoup (put the lib jar in the freeplane home_dir/lib folder to make it work): // @ExecutionModes({on_selected_node="/menu_bar/format/menu_coreFormat"}) import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.select.Elements import org.jsoup.safety.Cleaner import org.jsoup.safety.Whitelist // tags to convert to <p> tags toParagraph = [ "h1",...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Alexandre, Interesting, I can use this sometimes, thank you. There is a plainText() in the API, but the links are lost. I just made this, using JSoup (put the lib jar in the freeplane home_dir/lib folder to make it work): // @ExecutionModes({on_selected_node}) import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.select.Elements import org.jsoup.safety.Cleaner import org.jsoup.safety.Whitelist // tags to convert to <p> tags toParagraph = [ "h1", "h2", "h3", "h4", "h5", "h6" ]...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Alexandre, Interesting. There is a plainText() in the API, but the links are lost. I just made this, using JSoup (put the lib jar in the freeplane home_dir/lib folder to make it work): // @ExecutionModes({on_selected_node}) import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.select.Elements import org.jsoup.safety.Cleaner import org.jsoup.safety.Whitelist // tags to convert to <p> tags toParagraph = [ "h1", "h2", "h3", "h4", "h5", "h6" ] // tags to keep toKeep = [ "br", "p",...

  • lilive lilive posted a comment on discussion Open Discussion

    it doesn't work properly if the selected nodes don't share the same parent node Indeed. Thank you Jochen. Maybe I prefer to handle the situation with an error message, the same as the "Move node (Parents sibling)" command : // @ExecutionModes({on_single_node="/main_menu/edit/menu_moveNode"}) parent = node.parent nodes = c.getSortedSelection( true ) if( nodes.find{ it.parent != parent } ){ ui.informationMessage( ui.frame, "All nodes must have the same parent to use this fonction.", "Freeplane", javax.swing.JOptionPane.ERROR_MESSAGE...

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, The bubble shape may be what you're looking for. Menu Format > Node core > Node shape > Bubble or within the Tool panel

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Jochen, But thank you for the node.moveTo(node.getParent(),-1) You teach me the use of -1 to put the node at the last position. My scripts take care of preserving the order of the nodes when multiple nodes are moved at the same time, regardless of the order they have been selected. That's why they are not simple one line scripts. Your solution is perfect for one node at a time moving.

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, From time to time, I need to move a node to make it the first or last child of its parent. I just wrote a couple of scripts that do it, and they seems to work. Once installed, they add 2 menu entries in the menu Edit > Move & sort (as usual, you can bind them to any keyboard shortcut). They work for a single node or for a multiple selection.

  • lilive lilive posted a comment on ticket #2562

    Thank you. I think that, if possible, this kind of guideline should appear when a user click "Create ticket". It is clear and helpful.

  • lilive lilive posted a comment on ticket #2562

    I've realized afterward that my previous post may be confusing, so let me clarify that I'm another Freeplane user that share his workaround at the same time I vote for your request.

  • lilive lilive posted a comment on ticket #2562

    This feature request makes me realize that I also miss this feature from time to time. But (or: in the meantime) you can use this pair of scripts. Not heavily tested, I just wrote them, but they seem to work. Once installed, they add 2 menu entries in the menu Edit > Move & sort (as usual, you can bind them to any keyboard shortcut).

  • lilive lilive posted a comment on ticket #2922

    Jeroen confirmed that it works. Thank you Dimitry. This seems to be a lot of work to maintain such a multi-platform software.

  • lilive lilive posted a comment on ticket #2922

    Please try the same script on your computer without any changes. I sent you the exact script that me and Jeroen have ran. This script run with no error on my computer. It triggers the error on Jeroen's mac computer.

  • lilive lilive posted a comment on discussion Open Discussion

    Having bug reports makes my life so much easier you can not believe it. :-D So, I'm happy to contribute: https://sourceforge.net/p/freeplane/bugs/2922/

  • lilive lilive modified ticket #2922

    [Groovy] Problem to call an inherited method

  • lilive lilive created ticket #2922

    [Groovy] Problem to call an inherited method

  • lilive lilive modified a comment on discussion Open Discussion

    Hello, Strange error in a groovy class: import javax.swing.DefaultListModel class Candidates extends DefaultListModel<String>{ void foo(){ fireIntervalAdded( this, 0, 1 ) } } test = new Candidates() test.foo() The error is: No signature of method: Candidates.firelntervalAdded() is applicable for argument types: (Candidates, Integer, Integer) values: [[], 0, 1] The class Candidates should inherit the method firelntervalAdded from DefaultListModel which inherit it from AbstractListModel I have tried...

  • lilive lilive posted a comment on discussion Open Discussion

    We have made progress about the error that appear in Jumper when used with Freeplane 1.9 Jumper works fine for me, but not for Jeroen. May it be a java/groovy problem in Freeplane for MacOS ? Not sure. @dpolivaev, you can read the problem here. If you think this deserves a bug report just tell me. Very nice to have this new Freeplane version and so many changes :)

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, Strange error in a groovy class: import javax.swing.DefaultListModel class Candidates extends DefaultListModel<String>{ void foo(){ fireIntervalAdded( this, 0, 1 ) } } test = new Candidates() test.foo() The error is: No signature of method: Candidates.firelntervalAdded() is applicable for argument types: (Candidates, Integer, Integer) values: [[], 0, 1] The class Candidates should inherit the method firelntervalAdded from DefaultListModel which inherit it from AbstractListModel I have tried...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Peter. Thanks for sharing. This sound interesting. But is Quicker translated in English or something? I can't find any language selector in the website.

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Peter. Thanks for sharing. This sound interesting. But is Quicker translated in English or something ? I can't find any language selector in the website.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Peter. Thanks for sharing. This sound interesting. But is Quicker translated in English or something ? I can find any language selector in the website.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Simon, I think the features you're looking for are too different from the Jumper purpose. I do not see how I can add them seamlessly, neither at the code level nor at the user interface level. Have you noticed that if you create a "tag" attributes, you have a drop down list, for the value field, that contains the unique list of the other tags in this map ? So I guess that the only thing that really miss you is to have a similar feature when you type # during a node text edition, isn't it ? I guess...

  • lilive lilive posted a comment on discussion Open Discussion

    Thanks @eu, this was easy to change.

  • lilive lilive modified a comment on discussion Open Discussion

    Hello, If you work with multiple Freeplane windows, possibly across multiple screens, this new version may help: the dialog boxes now follow the active Freeplane window. This is the only change.

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, If you work with multiple Freeplane windows, possibly across multiple screens, this new version may help: the dialog boxes now follow the active Freeplane window. This is the only change.

  • lilive lilive posted a comment on discussion Open Discussion

    Hello sfpcom :) Here is a new version, slightly different to make it easier to customize. There are comments in the file that may help you. It contains examples to do what you are asking for. I have found the options to pass to acrobat reader to make it open a pdf at a specific page. But this doesn't work if the same pdf is already opened in acrobat. This is why I have added the /N option, to force a new instance of acrobat. I'm not sure that Adobe care so much about the command line usage of its...

  • lilive lilive posted a comment on discussion Open Discussion

    Thank you for your replies. We now have 2 more use cases for this feature. So I've started to write the feature request. But in doing so, I've got additional thoughts. I was searching the forum to find some other good examples for the need of this features, and some threads mention the Freeplane aliases feature. This stopped me because I do not use aliases. They were added to Freeplane at the same time I was working on my bookmarks add-on. Because my work was already advanced I have choose to ignore...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Is there a way to add to the script of the button that the map view regains the focus? or the new node? or the previously selected one? I don't know. But I have just made some tries: ui.focusOn( ui.frame ) // error because frame is not a JComponent ui.focusOn( ui.frame.rootPane ) // do not works ui.focusOn( ui.frame.currentRootComponent ) // do not works Then I've made some other tries with the java.awt.Component.requestFocus() method, with some variations, including making the dialog a frame...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi, I have tried and found something. The API documentation say that find() can be use with a NodeCondition. How to create a class the implement this java interface ? The wiki speaks about a JSS 223 adapter. What the hell ? I've found this Oracle doc chapter. It explains how to implement interfaces. In the end, I was really surprised to succeed ! var condition = new org.freeplane.api.NodeCondition() { check: function( node ) { return node.text.length()>3 } }; var nodes = c.find( condition ); node.text...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, I have tried and found something. The API documentation say that find() can be use with a NodeCondition. How to create a class the implement this java interface ? The wiki speaks about a JSS 223 adapter. What the hell ? I've found this Oracle doc chapter. It explains how to implement interfaces. In the end, I was really surprised to succeed ! var condition = new org.freeplane.api.NodeCondition() { check: function( node ) { return node.text.length()>3 } }; var nodes = c.find( condition ); node.text...

  • lilive lilive modified a comment on discussion Open Discussion

    Hello, Reading a pdf I was taking notes with Freeplane... I share this little script I've made, it help to create a link that open a pdf at a chosen page. Only tested with Windows, and created to use SumatraPDF. I think you can make it works for another pdf reader with some minor modifications (I just saw that adobe reader and evince also have command line option to choose the opening page). The script open a dialog that let you enter the pdf location and the page, then it create the link in the...

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, Reading a pdf I was taking notes with Freeplane... I share this little script I've made, it help to create a link that open a pdf at a chosen page. Only tested with Windows, and created to use SumatraPDF. I think you can make it works for another pdf reader with some minor modifications (I just saw that adobe reader and evince also have command line option to choose the opening page). The script open a dialog that let you enter the pdf location and the page, then it create the link in the...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Edo, thanks for sharing. I had hard times with SwingBuilder for my add-ons. I may be great for someone already familiar with Swing and groovy builders, I don't know, but for someone like me who knows little about Swing and nothing about groovy builders, it was difficult (long). I haven't found so much learning or documentation resources. In addition of the link you quoted, there is: Building Rich Swing Applications with Groovy - ÜberConf And old Alphabetical Widgets List I have seen an old edition...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Edo, thanks for sharing. I had hard times with SwingBuilder for my add-ons. I may be great for someone already familiar with Swing and groovy builders, I don't know, but for someone like me who knows little about Swing and nothing about groovy builders, it was difficult (long). I haven't found so much learning or documentation resources. In addition of the link you quoted, there is: Building Rich Swing Applications with Groovy - ÜberConf And old Alphabetical Widgets List I have seen an old edition...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Edo, thanks for sharing. I had hard times with SwingBuilder for my add-ons. I may be great for someone already familiar with Swing and groovy builders, I don't know, but for someone like me who knows little about Swing and nothing about groovy builders, it was difficult (long). I haven't found so much learning or documentation resources. In addition of the link you quoted, there is: Building Rich Swing Applications with Groovy - ÜberConf And old Alphabetical Widgets List I have seen an old edition...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, thanks for sharing. I had hard times with SwingBuilder for my add-ons. I may be great for someone already familiar with Swing and groovy builders, I don't know, but for someone like me who knows little about Swing and nothing about groovy builders, it was difficult (long). I haven't found so much learning or documentation resources. In addition of the link you quoted, there is: Building Rich Swing Applications with Groovy - ÜberConf And old Alphabetical Widgets List I have seen an old edition...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Christophe, Thank you for this positive feedback. This idea to use a modeless dialog is interesting. The details you give are helping. Actual performances when working with large maps make the add-on almost unusable. It takes me some times, but I'm working on a multithreaded version. I hope this will improve the performances. And because the search process will be split in many subprocesses for large maps, the result list will be progressively updated. I guess this will contribute to give a better...

  • lilive lilive posted a comment on discussion Open Discussion

    Hello eveybody, Freeplane already has the "link anchor" feature (menu Insert > Link). It allows to "mark" a node, to "memorize" it, then to use it for link creation, in a convenient way. But there are other situations that require to have such a special node, so I'm considering to create a feature request. This feature may be interesting for scripts and add-on, so perhaps we can discuss it a little bit before I write the feature request. This is the purpose of this thread, . I can at least see 2...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Christophe, Thank you for this positive feedback. This idea to use a modeless dialog is interesting. The details you give are helping. Actual performances when working with large maps make the add-on almost unusable. It takes me some times, but I'm working on a multithreaded version. I hope this will improve the performances. And because the search process will be split in many subprocesses for large maps, the result list will be progressively updated. I guess this will contribute to give a better...

  • lilive lilive posted a comment on ticket #2544

    Hi, I already can see 2 ways to do that : Put the cursor after the coma press Shift+Enter to insert a line break press Enter to confirm and close the edition Use menu Edit > Node core > Split node Or Edit the node with the dialog : menu Edit > Node core > Edit node core in dialog Put the cursor after the coma Use the split button at the bottom of the dialog

  • lilive lilive posted a comment on discussion Open Discussion

    Yes, so far, this code sample is a good summary of the solutions we've found about how to modify a node within a listener, using the API and avoiding the event recursion. Also, note that there is another way to get a Proxy.Node (Joken last post): Proxy.Node node = new NodeProxy( event.source, FormulaThreadLocalStacks.INSTANCE.getCurrentContext() ) //possibly more "stable" variant in the sense of no non-api stuff needed: //def c=ScriptUtils.c() //def node=c.find{it.getId()==event.getNode().getID()}[0]...

  • lilive lilive posted a comment on discussion Open Discussion

    Possible solution : https://sourceforge.net/p/freeplane/discussion/758437/thread/f0609892d4/?limit=25

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, sorry for the cross posting, I took too much time to write my own answer and I missed your post.

  • lilive lilive posted a comment on discussion Open Discussion

    Changing data directly on internal data structures like NodeModel is not a good idea because this assignment is not propagated to map view, undo handler and is very likely to create inconsistent data state. Thanks Dimitry, this is nice to know. Therefore the idea to wrap the node into node proxy seems to be the best you can do. I was curious about this (because I have a change listener in an add-on), so I've made a test: class MyNodeChangeListener implements INodeChangeListener { public void nodeChanged(...

  • lilive lilive modified a comment on discussion Open Discussion

    Just another idea: perhaps you can put a boolean flag in the listener object to break the recursive calls ? Something like class MyNodeChangeListener implements INodeChangeListener { boolean busy = false public void nodeChanged(NodeChangeEvent event) { if( busy ) return busy = true // modify some nodes here busy = false } } Or remove the listener before the nodes changes, and add it again afterward ?

  • lilive lilive posted a comment on discussion Open Discussion

    Just another idea: perhaps you can put a boolean flag in the listener object to break the recursive calls ? Something like class MyNodeChangeListener implements INodeChangeListener { boolean busy = false public void nodeChanged(NodeChangeEvent event) { if( busy ) return busy = true // modify the nodes busy = false } } Or remove the listener before the nodes changes, and add it again afterward ?

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Mike, Thanks for sharing. If you want to use Freeplane to manage your bookmarks instead of Firefox, and not only export the Firefox bookmarks, I just shared my solution here (Windows only).

  • lilive lilive posted a comment on discussion Open Discussion

    Reviving this thread to share my trick. This is only for windows, because it rely on AutoHotkey (AHK). To bookmark in a Freeplane map the page I'm reading in Firefox, I use an AHK script. This script do the following actions : - it activate the firefox window - it copy the current URL with Ctrl+L Ctrl+C and keep it for later - it give the focus back to the page with F6 - it call a python script that load the page, parse it to get its title, and copy it to the clipboard - it activate Freeplane - it...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Jochen, Freeplane scripts usually use the API. But there is no way to handle events in the API. This event handling code works, but it use classes that belong to the Freeplane code. That's why you have problems with event.getNode(). Look at the class org.freeplane.features.map.NodeChangeEvent: event.getNode() is not the usual org.freeplane.plugin.script.proxy.Proxy.Node from the API, but the org.freeplane.features.map.NodeModel from the Freeplane sources. This class has no setDetails() method....

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Jochen, Freeplane scripts usually use the API. But there is no way to handle events in the API. This event handling code works, but it use classes that belong to the Freeplane code. That's why you have problems with event.getNode(). Look at the class org.freeplane.features.map.NodeChangeEvent: event.getNode() is not the usual org.freeplane.plugin.script.proxy.Proxy.Node from the API, but the org.freeplane.features.map.NodeModel from the Freeplane sources. This class has no setDetails() method....

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Jochen, Freeplane scripts usually use the API. But there is no way to handle events in the API. This event handling code works, but it use classes that belong to the Freeplane code. That's why you have problems with event.getNode(). Look at the class org.freeplane.features.map.NodeChangeEvent: event.getNode() is not the usual org.freeplane.plugin.script.proxy.Proxy.Node from the API, but the org.freeplane.features.map.NodeModel from the Freeplane sources. This class has no setDetails() method....

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, Volker: If you want to add handlers to Freeplane you have to study the Freeplane source code and look for the various Listener classes and their use. echo21: "no, currently Groovy scripts generally cannot handle any freeplane events". Please correct me if I've got you wrong. Yes you can. Event listeners are not part of the scripting API, but you can use them. They are not part of the API, so in theory their implentation might change someday... Edo: and look this thread: https://sourceforge.net/p/freeplane/discussion/758437/thread/748f90ad/...

  • lilive lilive posted a comment on discussion Open Discussion

    No problem, but I have nothing to say about your other question (there is an answer now)

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, For the table, use Menu Edit>Node core>Edit node core in dialog You can create tables in this dialog window. For the equations you can use Latex https://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane

  • lilive lilive posted a comment on discussion Open Discussion

    Related topics : https://sourceforge.net/p/freeplane/discussion/758437/thread/179edfc260/?limit=100 https://sourceforge.net/p/freeplane/discussion/758437/thread/822d5a17ab/?limit=100

  • lilive lilive modified a comment on ticket #2542

    Hello, Do you know that you can use Menu Insert>Link>Add hyperlink to executing an OS command ? It works to run programs with command lines arguments (at least with Windows).

  • lilive lilive posted a comment on ticket #2542

    Hello, Do you know that you can use Menu Insert>Link>Add hyperlink to executing an OS command ?

  • lilive lilive posted a comment on discussion Open Discussion

    Hi sfpcom, I have done this sometimes during addons development, and I haven't see any problems. These directories are automatically re-created. To be sure you can just rename them and see if everything is ok.

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, Not tested, but you can try to remove these lines from the script : m.each{ key, value -> if (key != "children") { child[key] = value } } Why ? Because examples in this page from the Freeplane scripting API teach us that the code to create an attribute is aNode["an attribute name"]="the attribute value"

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, you can select the nodes and use Menu > Copy > Copy node ID. This create a comma separated list of the nodes id.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Esben, and thank you for the feedback :) Your idea makes perfect sense, but I'm not sure about it. May I ask to other users what they think about this idea? Add the bookmarks-menu to the context-menu (right-click menu) for the node, for easy access. I feel that the context menu already contains a lot of items, and I doubt I should add other ones, because it will become even more difficult to browse. Besides, the context menu is so big that the distance to travel with the mouse to go from the node...

  • lilive lilive posted a comment on discussion Open Discussion

    Done :) https://github.com/lilive/Freeplane-Bookmarks-add-on/releases/tag/v0.7.1

  • lilive lilive posted a comment on discussion Open Discussion

    There's a virtual beverage of you own choosing attached. :) Haha ! Thanks for the feedback. The last version has been downloaded 188 times. This is not huge, but this is a good sign. But I don't know how much people really use it, so comments, like yours, give me the desire to continue to improve and maintain it.

  • lilive lilive posted a comment on discussion Open Discussion

    Thank you ! Groovy really has a lot of features.

  • lilive lilive posted a comment on discussion Open Discussion

    Thanks for the use case. 1) I thought more about this. My conclusion is that Jumper is not suitable to set a Freeplane buit-in filter. And highlight nodes is not part of the scripting API, so I can't ask Jumper to highlight the results. 2) Do you know that you can use Jumper to retrieve related nodes with this workflow: - Menu Edit > Copy > Copy node (single), or copy a part of the text node - Start Jumper, paste in the search field - Possibly edit the search string to delete unnecessary words -...

  • lilive lilive posted a comment on discussion Open Discussion

    Thank you for the feedback. About your idea, it may be interesting, but I do not see how to implement it smoothly. For the filter, one idea could be to modify the map. If Jumper write some marker in all the matching nodes (an icon, or some special attribute like "Jumper result: true"), it could run the builtin Freeplane filter to filter them. But it will also have to provide a "delete last result markers" function. It doesn't look very convenient to me. For the highlight, I don't think a script or...

  • lilive lilive posted a comment on discussion Open Discussion

    I'd be interested in your view of when maps get too big performance wise. I do not really know. I've got a map with 12000 nodes, where is use clones, and I haven't noticed speed annoyances. I've installed Jumper and I like it a lot - especially how it allows you to search across a branch. Nice to read this.

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, I agree that the old logo may be improved a lot, especially if the goal is to give a more modern, polished and professional feeling. This is really nice that someone took time to make this new logo. That's why I'm confused to say that I'm not so convinced. For me, there is still something that looks a little bit old and perhaps... amateurish ? (the round corners with the bevel ? the central gradient ?) I agree that the branches in this new logo make sense. I do not see why there is a bee in...

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, Perhaps @quickfold have got some more insight now :) https://sourceforge.net/p/freeplane/discussion/758437/thread/8ea365816c/?limit=100#8d04

  • lilive lilive modified a comment on discussion Open Discussion

    Most of the times I do something like you: I comment the script and continue working. The day I need it back I just uncomment it. I know it's not the way it has to work if its an AddOn, so I'm open to hear how it would this be better. I see many solutions, but which one would be the best? To comment the code is already one of them. You're right, it works, and this is not a painfull task for a user accustomed to find and edit add-on files. You just have to remember the lines to comment ! To go farther,...

  • lilive lilive modified a comment on discussion Open Discussion

    Most of the times I do something like you: I comment the script and continue working. The day I need it back I just uncomment it. I know it's not the way it has to work if its an AddOn, so I'm open to hear how it would this be better. I see many solutions, but which one would be the best? To comment the code is already one of them. You're right, it works, and this is not a painfull task for a user accustomed to find and edit add-on files. You just have to remember the lines to comment ! To go farther,...

  • lilive lilive modified a comment on discussion Open Discussion

    Most of the times I do something like you: I comment the script and continue working. The day I need it back I just uncomment it. I know it's not the way it has to work if its an AddOn, so I'm open to hear how it would this be better. I see many solutions, but which one would be the best? To comment the code is already one of them. You're right, it works, and this is not a painfull task for a user accustomed to find and edit add-on files. You just have to remember the lines to comment ! To go farther,...

  • lilive lilive posted a comment on discussion Open Discussion

    Most of the times I do something like you: I comment the script and continue working. The day I need it back I just uncomment it. I know it's not the way it has to work if its an AddOn, so I'm open to hear how it would this be better. I see many solutions, but which one would be the best? To comment the code is already one of them. You're right, it works, and this is not a painfull task for a user accustomed to find and edit add-on files. You just have to remember the lines to comment ! To go farther,...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Henk, A search for the "CacheScriptContent" string in the sources fail. A search in the git history bring this commit: "remove option cacheContent for scripts since we cache compiled scripts instead of the script text" I guess this option is obsolete.

  • lilive lilive modified a comment on discussion Open Discussion

    Hi, When I'm taking notes and want to link some other node to the node I'm editing (say it's node A), I'm doing 3 operations : 1 - Find the node to link 2 - Go back to A 3 - Create a link in A, or a connector with A, or a clone as A child (also my prefered way) 1 If I have a collection of similar references that I often link, like your "people" example, I put a bookmark in the "people" node. I use my bookmark add-on to do that, it allows me to bookmark the node with the letter "p" (for people) and...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Edo, Instructive and convenient ! I was today in a situation where your add-on is perfect to improve datas readability and save map edition time. I have only used the simple swap. It works well. I have 2 observations: About sorting Sometimes we don't want to sort. Look at the screenshots: In sort 1.png you can see that the nodes are sorted by hand (and flagged with an icon) to group the friends that have all their records filled, meaning a complete profile. sort 2.png shows the hierarchy swap...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Instructive and convenient ! I was today in a situation where your add-on is perfect to improve datas readability and save map edition time. I have only used the simple swap. It works well. 2 observations: Sometimes we don't want to sort. Look at the screenshots: In sort 1.png you can see that the nodes are sorted by hand (and flagged with an icon) to group the friends that have all their records filled, meaning a complete profile. sort 2.png shows the hierarchy swap result. The friends with...

  • lilive lilive modified a comment on discussion Open Discussion

    Hi, When I'm taking notes and want to link some other node to the node I'm editing (say it's node A), I'm doing 3 operations : 1 - Find the node to link 2 - Go back to A 3 - Create a link in A, or a connector with A, or a clone as A child (also my prefered way) 1 If I have a collection of similar references that I often link, like your "people" example, I put a bookmark in the "people" node. I use my bookmark add-on to do that, it allows me to bookmark the node with the letter "p" (for people) and...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, When I'm taking notes and want to link some other node to the node I'm editing (say it's node A), I'm doing 3 operations : 1 - Find the node to link 2 - Go back to A 3 - Create a link in A, or a connector with A, or a clone as A child (also my prefered way) 1 If I have a collection of similar references that I often link, like your "people" example, I put a bookmark in the "people" node. I use my bookmark add-on to do that, it allows me to bookmark the node with the letter "p" (for people) and...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Quickly: perhaps you may find something usefull in these 3 scripts here Can you tell me the name of the syntax nodos*.delegate*.getViewers().first (the asterix) or a link to understand it please ? I'm curious.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Thank you. I'm working on it !

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Thank you ! I've got the same problem with git. I'll try your script.

  • lilive lilive posted a comment on discussion Open Discussion

    I can update the wiki in a few days if nobody come here to contradict me in the meantime. Done here https://www.freeplane.org/wiki/index.php/Your_own_utility_script_library#Define_constants This is a little bit audacious for me to write such thinks, it would be reassuring if someone more experimented can confirm that I have not using bad practises ! Perhaps @boercher, @dpolivaev or @nnako ?

  • lilive lilive posted a comment on discussion Open Discussion

    It works for me too, no problems with add-ons so far. Thank you !

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, I just packaged the add-on from the sources, but I still have the problems I've wrote about in my last post. I don't know if these problems come from the code or a bad packaging. Here's what I've done: - downloaded the sources - changed the paths in build.gradle to point to my freeplane installation folder - ran command line: gradle build - jar is compiled without errors - packaged the add-on with devtools

  • lilive lilive posted a comment on discussion Open Discussion

    Thank you Dimitry.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, This is a nice idea, thank you for sharing. I will probably use it the next time I have to record a Freeplane demo. The script works fine for me. It create the freeplane.yml file as expected, and also create a new node in the current map, which was unexpected ! The next move was to find where to copy the file. Carnac do not store its settings in C:\Users\xxx\AppData\Roaming, but in C:\Users\xxx\AppData\Local\carnac After this, the labels of the shortcuts commands are nicely displayed. Little...

  • lilive lilive posted a comment on discussion Open Discussion

    I just made a quick test, it seems that the icons filenames are also the script names. I'm going to add this tip to the scripting page.

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, Perhaps you can try this https://sourceforge.net/p/freeplane/discussion/758437/thread/d476f80d2b/?limit=25#5004

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Edo, Sorry, I have no opinion about your idea ! I'm just passing by to point this page I've edited some times ago that also may help, but I'm not sure that the icons filenames are the same than their scripting names. Do you know it?

  • lilive lilive posted a comment on discussion Open Discussion

    Thanks Dimitri. I'm using it since you posted it. Works fine. I haven't noticed performances improvements because Freeplane was already fast enough with my maps. Windows 7.

  • lilive lilive modified a comment on discussion Open Discussion

    Hi Marcus, Perhaps the approach can be evolved or modified to work in my use case, but right now I have abandoned it for the stated reasons. OK, but I was still interested in this topic, so I've made some more researches :) running node to create a large number of nodes becomes alot slower if run from another thread - since what happens is that the UI gets update messages and updates the displayed mindmap continuosly You're right ! But it seems that if you create the nodes in the EDT with invokeLater(),...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi Marcus, Perhaps the approach can be evolved or modified to work in my use case, but right now I have abandoned it for the stated reasons. OK, but I was still interested in this topic, so I've made some more researches :) running node to create a large number of nodes becomes alot slower if run from another thread - since what happens is that the UI gets update messages and updates the displayed mindmap continuosly You're right ! But it seems that if you create the nodes in the EDT with invokeLater(),...

  • lilive lilive posted a comment on discussion Open Discussion

    Hello, Dumb question: are you sure the parent node actually has a background color? Because background color may be undefined.

  • lilive lilive posted a comment on ticket #2530

    Hi, It seems that relative links are only for files. Insert > Link > Add hyperlink (file) create an absolute or relative path, depending on the preference option Insert > Link > Add hyperlink (URL) then paste a file path in the dialog always create an absolute link in the form of "file:/etc" I use "Add hyperlink (file)" to make portable maps.

  • lilive lilive posted a comment on discussion Open Discussion

    I do not know everythink about this topic, but here's some hints. The Freeplane window is a java Swing component. I guess (not 100% sure) that a script invocation occur within the Event Dispatch Thread (EDT). This assumption explains that the FP user interface hang until the script is done. You can try to run the long task in its own thread: c.setStatusInfo( "standard", "In progress...", "messagebox_warning" ) // Create a new thread that run the long task new Thread(new Runnable() { public void run()...

  • lilive lilive posted a comment on discussion Open Discussion

    Hi, I have not been able to find API docs for the org.freeplane.features.map.NodeChangeEvent and relatives. In this situation I download the Freeplane sources and dig. I've made some tests, here's the code. I did not found the perfect recipe to be sure that a new connector is created. The event is triggered when the node connectors change, this can be a new connector added, a connector removed, or a connector edition. I do not see how to make the difference between them. Depending of what you want...

1 >