From: Jeroen W. <je...@wi...> - 2006-08-24 10:09:46
|
Michel Ludwig wrote: > Hi all, > > here is, at last, a first version of Kile's own scripting functionality. It is not finished yet and some parts still need polish, but I send it already now to get some feedback. > > Hi, Thanks for the scripting patch! I have taken a quick look at it and it seems to work ok here. I do have some feedback that may help you to improve a few things. * The JavaScript API has a kile.currentView function. Although Kile has no multiple views per document, it is better to name that function kile.currentDocument, as all the functions change the document, not that way the document is presented. * The setCursor* functions do not work properly if you have tabs in the line. There are special KateDocument functions to get the real cursor position. Those work for lines with tabs as well. * There is no function to get the current selection, this is very handy because if you would have such a function one could create scripts that operate on a selection of text. > Scripts can be executed by typing (configurable) character sequences, for example ",m" or ",s". Being an advanced feature, scripting is initially disabled and completely invisible. After its activation (in the config > Personally I would like to see it on by default. Although creating scripts is an advanced task, using them should not be considered an advanced task. Hopefully someday users can use each others scripts! > dialog), scripts can be placed in the directory > $HOME/.kde/share/apps/kile/scripts/ > > They appear then in a new tab in the sidebar, where their corresponding character sequences can also be configured. > > That is ok for now. If there are many scripts this interface probably needs to be reworked (perhaps even with an uplink to KHotStuff (or whatever that class was called)). Also I think that eventually the scripting can replace the user tags in Kile. Also some day, it should be very easy to load and unload selections of scripts. Suppose you are working on a math article, then it should be easy to load a math-scripting library for Kile. Something like that. But for now a simple scripting manager will do. > A description of the currently implemented JavaScript objects is attached, as well as an example script. > > The parts that still need some work consist in the easy creation and editing of scripts in Kile itself. > Personally I think that the scripting would be a very cool feature for Kile 2.0. Especially if we can ship some helpful scripts along with Kile. The documentation would also have to be updated of course (that is pretty important actually). best, Jeroen |
From: Michel L. <mic...@kd...> - 2006-08-26 20:01:53
|
On Thu 24 Aug 2006 12:09, Jeroen Wijnhout wrote: > * The JavaScript API has a kile.currentView function. Although Kile has no > multiple views per document, it is better to name > that function kile.currentDocument, as all the functions change the > document, not that way the document is presented. Actually, it's a mixture of both a document and a view interface as it contains functions that modify the cursor and the text itself. I've renamed it now to "currentTextDocument" to allow the possible display of non-text documents in the main view as well. > * The setCursor* functions do not work properly if you have tabs in the > line. There are special KateDocument functions to get > the real cursor position. Those work for lines with tabs as well. Oh yes, thank you. > * There is no function to get the current selection, this is very handy > because if you would have such a function one could create > scripts that operate on a selection of text. This implies that one would probably need to assign real keyboard shortcuts to scripts. It could get a little bit complicated to create a configuration dialog for that (otherwise one would have to search for the scripts in the main shortcut configuration dialog). But I'll try to find out what's possible. Maybe one could raise the KDE version that's needed for Kile 2.0 ? Let's say 3.4 so that the KShortcutDialog dialog is available ? > That is ok for now. If there are many scripts this interface probably > needs to be reworked (perhaps even with an uplink > to KHotStuff (or whatever that class was called)). That's a good idea. > Personally I think that the scripting would be a very cool feature for > Kile 2.0. Especially if we can ship some helpful scripts along with Kile. At the moment I'm trying to preset a directory for newly created scripts, so that the saving-dialog opens straight away with the script directory, but so far without success. After that, I guess I can commit a first patch. > The documentation would also have to be updated of course (that is pretty > important actually). Of course, I'll also take care of this. Greetings, Michel |
From: Jeroen W. <je...@wi...> - 2006-08-27 13:25:53
|
Michel Ludwig wrote: >On Thu 24 Aug 2006 12:09, Jeroen Wijnhout wrote: > >>* The JavaScript API has a kile.currentView function. Although Kile has no >>multiple views per document, it is better to name >> that function kile.currentDocument, as all the functions change the >>document, not that way the document is presented. > > >Actually, it's a mixture of both a document and a view interface as it >contains functions that modify the cursor and the text itself. I've renamed > Yes, but strictly speaking a cursor has a model and a view part. It does make sense to talk about a cursor in the context of a document (it is the place where text will be inserted). >it now to "currentTextDocument" to allow the possible display of non-text >documents in the main view as well. > Ok, thanks! >>* There is no function to get the current selection, this is very handy >>because if you would have such a function one could create >> scripts that operate on a selection of text. > > >This implies that one would probably need to assign real keyboard shortcuts to >scripts. It could get a little bit complicated to create a configuration >dialog for that (otherwise one would have to search for the scripts in the >main shortcut configuration dialog). But I'll try to find out what's >possible. > If you add actions for each script then the shortcuts will be configurable through the common shortcut configuration dialog. I was wondering why you didn't use normal shortcuts for scripts. >Maybe one could raise the KDE version that's needed for Kile 2.0 ? Let's say >3.4 so that the KShortcutDialog dialog is available ? > Preferrably not, since many users are still stuck with KDE 3.2. >>Personally I think that the scripting would be a very cool feature for >>Kile 2.0. Especially if we can ship some helpful scripts along with Kile. > > >At the moment I'm trying to preset a directory for newly created scripts, so >that the saving-dialog opens straight away with the script directory, but so >far without success. > You can also take a different approach: When creating a new script let the user choose a name, say Script. When you have the name you can automatically save a file to $KDEHOME/share/apps/kile/scripts/Script.js. It is probably difficult to change the default directory of the save file dialog, because this is controlled by the KatePart. > >After that, I guess I can commit a first patch. > Yes, please! best, Jeroen |
From: Michel L. <mic...@kd...> - 2006-08-27 20:02:39
|
On Sun 27 Aug 2006 15:25, Jeroen Wijnhout wrote: > If you add actions for each script then the shortcuts will be configurable > through the common shortcut configuration dialog. I was > wondering why you didn't use normal shortcuts for scripts. The key sequence approach was a (local) user wish. For the configuration of how a specific script is called, I'll then use a dialog where the user can either enter a key sequence or a regular shortcut. The shortcut configuration will be less sophisticated than in KShortcutDialog though. (the user can still use the normal configuration dialog to have advanced configuration options) > You can also take a different approach: When creating a new script let the > user choose a name, say Script. When > you have the name you can automatically save a file to > $KDEHOME/share/apps/kile/scripts/Script.js. It is probably > difficult to change the default directory of the save file dialog, because > this is controlled by the KatePart. Oh, that would also have been a nice idea ! :-) But this morning, I found a different solution: one can bypass the katepart save function by reconnecting the save action to a different slot. So, it works now and I'll also do some cleanup of the functions that check whether the selected file name is valid. By the way, is the space character still problematic for LaTeX file names ? Otherwise that character could be removed from the containsInvalidCharacters method in kdocumentinfo.cpp. (in FC5, it works nicely with spaces in file names). Greetings, Michel |
From: Robert <rc...@fr...> - 2006-08-27 20:30:38
|
Michel ecrit : > By the way, is the space character still problematic for LaTeX file names ? > Otherwise that character could be removed from the containsInvalidCharacters > method in kdocumentinfo.cpp. (in FC5, it works nicely with spaces in file > names). > Yes it is. You could use \include{} instead of \input but they have different behaviours. Because of TeX's ability to make some characters active, I never put spaces nor any special character in my latex filenames. Robert |
From: Thomas B. <br...@ph...> - 2006-08-27 20:55:04
|
On Sunday 27 August 2006 22:31, Robert wrote: > Michel ecrit : > > By the way, is the space character still problematic for LaTeX file names > > ? Otherwise that character could be removed from the > > containsInvalidCharacters method in kdocumentinfo.cpp. (in FC5, it works > > nicely with spaces in file names). > > Yes it is. You could use \include{} instead of \input but they have > different behaviours. > Because of TeX's ability to make some characters active, I never put > spaces nor any special character in my latex filenames. > Yes and we also warn if a user wants to have a filename with a space (see Info::containsInvalidCharacters in kiledocumentinfo.cpp) Thomas |
From: Michel L. <mic...@kd...> - 2006-08-29 09:00:55
|
On Sun 27 Aug 2006 22:55, Thomas Braun wrote: > On Sunday 27 August 2006 22:31, Robert wrote: > > Michel ecrit : > > > By the way, is the space character still problematic for LaTeX file > > > names ? Otherwise that character could be removed from the > > > containsInvalidCharacters method in kdocumentinfo.cpp. (in FC5, it > > > works nicely with spaces in file names). > > > > Yes it is. You could use \include{} instead of \input but they have > > different behaviours. > > Because of TeX's ability to make some characters active, I never put > > spaces nor any special character in my latex filenames. > > Yes and we also warn if a user wants to have a filename with a space (see > Info::containsInvalidCharacters in kiledocumentinfo.cpp) > > Thomas OK, thanks. Then, I better leave it like it is now. Michel |