Hi! Sorry for this late reply.. I have discussed this with Paolo on IRC, please look at the attached log. In the attachment is also an updated version of tools.glade, comments are welcome! I think its finished, well.. maybe the keyboard shortcuts need some work. :) Regards, Rui Lopes On Ter, 2003-09-23 at 17:12, Paolo Maggi wrote: > > I want to create a "Tools" plugin for gedit, but first I want to discuss > > this with you, read the following "spec" and tell me what you think. > > > > > > > > <<<<< start > > > > Tools Plugin > > ------------ > > > > - Provide a mechanism to call external programs from a > > menuitem/shortcut-key. > > > > - Capture and parse the output of an external program to show a > > error/warning list. > > > > - We can also have filter tools, this ones are feed with some document > > text and return/replace the selection or create a new document. > > > > - Group several tools in a group, so we can have a fast access to the > > tools needed for a specific task, say, a simple tool chain for coding > > C programs. > > How will the group selected? Using the document MIME-type? > > > These tools will be automatically associated with Ctrl+<N> shortcuts. > > OTOH if a tool is not associated with a specific group it will be > > always available. > > > > > > > > Each tool > > --------- > > > > - The tool name and a icon that appears on menus. > > > > - Command line (to be passed to user shell) > > with expansions format: $() and escape $$. > > - filename > > - basename > > - uri > > - line > > - column > > - selection (selected text) > > - totallines (?) > > > I'm not so sure about totallines. > We also need a way to set the working directory and to pass it and the > home dir as command line argument. > We also need a way to display an input box for the user to enter input > that will be added to the parameter string. > > > > > - stdin to pass to command line > > - current selection > > - all document > > - a string > > - none > > > > pass as a locale or utf8 encoded text. > > > > > > - Capture output to: > > - replace current selection > > - replace all document > > - a new document > > - insert at cursor position > > - insert in a new line above/bellow current line > > - append to document > > - output window > > - output window with error/warning parsing, this needs a list with > > output filters to apply > > - each output filter is applied in order, this iteration ends when > > one of them matches a filename:linum pair. > > > > > hmm... I think that for the moment all the output could go to the output > window. The user can copy text from the output window and paste it in > the document if needed. > > > - A flag that says if we should: save all files, save the current > > file, or not save at all. > > > > > > - Working directory. > > > > > > - Environment for the command? (or the user can use the env command) > > > > > > > > NOTE: While the tool is running no other tool can run, neither the user > > can modify the document. This only applies to a tool that uses > > output window or modifies the document. > > > > > > > > > > Output Filters > > -------------- > > - operate at line basis. > > - each filter has a type: warning or error. > Are warning and error the only two types we need? > > > - each return: > > - filename > > - line > > - column (optional) > > NOTE: a regex lib that can name groups is needed. pcre can > > do this with, (?P<filename>.+) (?P<linenum>[0-9]+). > > (Python syntax). > > Or, we can simulate this using gnuregex by counting `()'. > > - a unique name. > > - a description. (humm, really?) > > > > > > > > > > Changes to gedit > > ---------------- > > > > I need a way of connecting mouse double-click and space/enter key > > signals; needed to open the file:line with the error/warning. > > How about a "action" signal? > > > > > > I also need a output-cleared and destroyed signal in output window; > > needed for releasing resources allocated by the tool. > > > > > > <<<<< end > > > > > > > > You will find a GUI mockup of all this in the attachment, the most > > "crude" one is the tool-editor-advanced dialog. > > Your mockups look good. My only doubt is: do we really need such a > complicate GUI, i.e. all these dialogs? > Please, change your dialog to follow the HIG more closely. For example, > you have to set the right border size, the HELP button (do we really > need it in all the dialogs?) should be on the left side of the action > area, there must be space among buttons and so on. > > Great work! > > Thanks, > Paolo
Set 23 17:13:15 <debugger> hey paolo! Set 23 17:13:30 <debugger> paolo: I'm checking your reply now Set 23 17:14:11 <paolo> hi Set 23 17:14:54 --- Taeko gives voice to debugger Set 23 17:18:56 <debugger> paolo: about that Help button. I was using GtkWindow and not GtkDialog, in GtkDialog the Help button is placed on the left. (its odd, because in GtkWindow the GtkHButtonBox widget has a different layout..) Set 23 17:19:40 <paolo> you need to use a GtkDialog them Set 23 17:20:11 <irotas> paolo: btw, remember the problem i was having with the spell checker plugin causing gedit to crash on close? its gone now, since upgrading to GNOME/gedit 2.4 Set 23 17:20:23 <paolo> irotas: nice Set 23 17:20:24 <irotas> must have been a compatibility issue with GNOME 2.2 Set 23 17:20:55 <paolo> yep Set 23 17:21:10 <irotas> (as we all expected it to be) Set 23 17:21:21 <paolo> irotas: have you seen the Ruis (aka debugger) proposal about the tools plugin? Set 23 17:21:26 <paolo> irotas: what do you think? Set 23 17:22:04 <irotas> i skimmed it yesterday, but i haven't reviewed it thoroughly Set 23 17:22:07 <paolo> ops... Rui not Ruis (sorry) Set 23 17:22:42 <irotas> i do agree about your HIG comment Set 23 17:23:07 <irotas> thats really my only concern Set 23 17:23:21 <paolo> ok Set 23 17:23:42 <debugger> yes, I will setup those HIG things, like border widths, spaces and all. Set 23 17:23:48 <paolo> !seen wulf Set 23 17:23:49 <Taeko> wulf (~wulf host-66-81-176-58 rev o1 com) was last seen quitting from #gedit 3 days, 8 hours, 16 minutes ago stating (Ping timeout: 600 seconds). Set 23 17:24:00 <debugger> but about the "simple" comment, I really think its simple :/ Set 23 17:24:24 <debugger> at start you get a dialog with a list of configured tools. Set 23 17:24:35 <paolo> well, there are a lots of dialogs Set 23 17:24:51 <debugger> then you click edit, and get a simple dialog alike the launcher dialog. Set 23 17:25:14 <debugger> after that, you only have the advanced dialog and the regexs one. :/ Set 23 17:25:31 <debugger> I don't see other "simple" way to present it :// Set 23 17:25:41 <paolo> ok. Set 23 17:26:06 <paolo> I think we should also set some env variable, so that tools can use them Set 23 17:26:26 <paolo> so you can write scripts like the nautilus scripts Set 23 17:26:44 <paolo> and use them as tools Set 23 17:27:56 <debugger> I think the only dialog that needs to have the things "organized" is the advanced one. Set 23 17:28:25 <debugger> the other seem reasonable. offcourse I'm open to suggestions =)) Set 23 17:28:30 * paolo is opening the glade file Set 23 17:28:33 <debugger> s/other/others Set 23 17:29:40 <paolo> ok, let us start with the tool manager Set 23 17:29:58 <paolo> I don't think you need to use bold for tools Set 23 17:30:17 <paolo> it is not a category, dialog must not have a single category Set 23 17:30:28 <debugger> ah ok =) Set 23 17:30:33 <paolo> you can use a normal dialog using _T as accelerator Set 23 17:30:40 <debugger> you only place bold in categories? Set 23 17:30:42 <paolo> s/dialog/label Set 23 17:30:49 <paolo> debugger: yep Set 23 17:30:59 <paolo> and you can remove the indentation Set 23 17:31:01 <debugger> ok. changed :) Set 23 17:31:10 * irotas will bbl, need to go get some boxes to start packing .. yay Set 23 17:31:23 <debugger> yeah, I only placed it there because the bold thing. hehe Set 23 17:31:56 <paolo> Well, it is needed to improve key navigation Set 23 17:32:28 <paolo> You need to add some space among the buttons and change their order Set 23 17:32:31 <paolo> Add.. Set 23 17:32:38 <paolo> Add as Copy... Set 23 17:32:41 <paolo> Remove Set 23 17:32:45 <paolo> <more space> Set 23 17:32:48 <paolo> Edit... Set 23 17:32:51 <paolo> <more space> Set 23 17:32:53 <paolo> Up Set 23 17:32:56 <paolo> Down Set 23 17:32:56 <-- Rupert has kicked paolo from #gedit (flood) Set 23 17:33:03 <debugger> AHAHAH Set 23 17:33:07 --> paolo (~paolo host26-104 pool80104 interbusiness it) has joined #gedit Set 23 17:33:07 --- Taeko gives channel operator status to paolo Set 23 17:33:07 --- Rupert gives channel operator status to paolo Set 23 17:33:11 <debugger> heheh Set 23 17:33:20 <paolo> stupid Rupert Set 23 17:33:41 <paolo> which was my last line? Set 23 17:33:51 <debugger> well, my intention was that. but I don't known how to add it to a GtkVButtonBox Set 23 17:34:03 <debugger> <paolo> Edit... Set 23 17:34:03 <debugger> <paolo> <more space> Set 23 17:34:03 <debugger> <paolo> Up Set 23 17:34:03 <debugger> <paolo> Down Set 23 17:34:03 <debugger> <-- Rupert has kicked paolo from #gedit (flood) Set 23 17:34:17 <paolo> ok Set 23 17:34:28 <paolo> to add space use and empty label Set 23 17:34:44 <debugger> but that widget can only have BtkButtons Set 23 17:35:21 <paolo> hmmm... you can also use a GtkVBox with 3 GtkVButtonBox Set 23 17:35:35 <debugger> ah ok. that will do it! hheheh Set 23 17:36:12 <debugger> there should be a "space" thing on GtkVButtonBox hehe Set 23 17:36:41 <paolo> Edit, Remove, Up and Down must be sensitive only if a tool is selected Set 23 17:37:25 <paolo> Up and Down are tricky to implement, you should find a possible implementation in gedit 2.2 (in the preferences dialog code) Set 23 17:37:42 <debugger> paolo: don't worry about implementation =) Set 23 17:38:10 <debugger> and yes, Edit, Remove, Up and Down are only be sensitive in the right time. Set 23 17:38:13 <paolo> ok... let me comment on the Tool Editor Set 23 17:38:24 <debugger> I can't do that in glade. Set 23 17:38:41 <paolo> what? Set 23 17:39:04 <debugger> tell the buttons the be sensitive or not when I select something in the treeview. hehe Set 23 17:39:21 <debugger> that was to be done at runtime. like you known hehe Set 23 17:39:29 <paolo> ah, yep Set 23 17:39:37 <paolo> about the tool editor: Set 23 17:39:59 <paolo> how can I add a new Group and how can I associate it to a MIME-type to automatically select it? Set 23 17:40:51 <paolo> Icon should go in the advanced dialog Set 23 17:41:02 <paolo> or better you don't need an advanced dialog Set 23 17:41:12 <debugger> you add Groups simple by changing the name of the group. Set 23 17:41:33 <debugger> and the combo box will show existing groups. Set 23 17:41:36 <paolo> you can use a widget to shod or not the advanced options Set 23 17:41:56 <debugger> something like a collapsible thing? Set 23 17:41:56 <paolo> s/shod or not/show or hide Set 23 17:42:03 <paolo> yep Set 23 17:42:09 <debugger> say, I click that button and the dialog box expands? Set 23 17:42:35 <debugger> ok. I can do that. but maybe the dialog will be to tall what I do that. Set 23 17:42:43 <debugger> s/what/when Set 23 17:43:05 <paolo> well, we could try Set 23 17:43:13 <debugger> ok. I will. Set 23 17:43:21 <paolo> there should be a widget in gtk+ 2.4 to do this operation Set 23 17:44:03 <debugger> but first we need to decide what goes in the advanced "part" Set 23 17:44:09 <paolo> yep Set 23 17:44:26 <debugger> I like the way to select the stdin/stdout. Set 23 17:44:37 <debugger> using some menus. Set 23 17:44:43 <debugger> well, like it is now. =) Set 23 17:45:05 <paolo> well, you should add a way to have: Set 23 17:45:10 <paolo> Standard input: None Set 23 17:45:14 <paolo> as default Set 23 17:45:22 <debugger> the None is an empty string. Set 23 17:45:34 <debugger> I did that on purpose. Set 23 17:45:36 <paolo> hmmm... it is not so intuitive Set 23 17:46:12 <debugger> humm. ok. that way I didn't need to add another option to the menu, but I will add the none. Set 23 17:46:14 <paolo> also you may want to not capture the output Set 23 17:46:55 <debugger> that will be sensitive depending on "run detached" check box. Set 23 17:46:55 <paolo> and what about the Standard Error? Set 23 17:47:15 <paolo> Run detached? What do you mean with it? Set 23 17:47:20 <debugger> so no need to add a "not" capture output. Set 23 17:47:50 <debugger> I want to say, when you use this tool, simple run it like you do in a launcher. Set 23 17:48:05 <paolo> Probably "Capture the output" is better Set 23 17:48:32 <debugger> humm, run detached also mean, dont "capture" input. Set 23 17:48:45 <debugger> (like in launchers) Set 23 17:48:46 <paolo> It is not good to have Run detached, etc in the same line, for i18n reasons Set 23 17:48:53 <paolo> ok Set 23 17:49:14 <debugger> you agree on that "run detached" ? Set 23 17:49:17 <paolo> what about if you want to capture the input but not the output? Set 23 17:49:57 <debugger> hummm, does that make sense? Set 23 17:50:09 <paolo> why not? Set 23 17:50:22 <debugger> never had to do that =) Set 23 17:50:46 <debugger> so, I capture the input, and where the output goes? Set 23 17:50:55 <debugger> /dev/null ? Set 23 17:50:57 <paolo> you may want to send a mail with the selected text Set 23 17:50:59 <paolo> yep Set 23 17:51:43 <debugger> hummm, the email program does not output any output? Set 23 17:52:06 <debugger> say, on errors? or it just changes the returned value? Set 23 17:52:36 <paolo> don't know... it is only the first example in my mind Set 23 17:53:14 <paolo> you may want to append the selected text to a file Set 23 17:53:23 <debugger> ok. what goes into the stdoutput menu then? "/dev/null" ? Set 23 17:53:31 <debugger> "Ignore" ? Set 23 17:53:41 <paolo> yep, Ignore is good Set 23 17:54:38 <paolo> please, add the accelerators where they are missing Set 23 17:54:55 <debugger> yes yes I will =) Set 23 17:55:00 <debugger> its a mockup =) Set 23 17:55:04 <debugger> hehe Set 23 17:55:04 <paolo> IMHO, Icon should be in the advanced part too Set 23 17:55:12 <debugger> why? Set 23 17:55:26 <paolo> normally you will not add an Icon to the tool Set 23 17:55:52 <debugger> hummm, ok. Set 23 17:56:18 <debugger> and about stdin? Set 23 17:56:28 * debugger scrolls back Set 23 17:56:37 <paolo> it is good Set 23 17:56:51 <paolo> probably you should use Current Selection and Current Document Set 23 17:57:24 <paolo> and as I already said: Set 23 17:57:32 <paolo> It is not good to have Run detached, etc in the same line, for i18n reasons Set 23 17:58:03 <debugger> ok. I will use a line for each of the checkboxes. Set 23 17:58:17 <paolo> I think the whole dialog (basic + advanced) should be modal Set 23 17:58:31 <paolo> so you need three buttons: Help Cancel OK Set 23 17:58:48 <debugger> the stdin as "none" means, run tool with stdin closed, right? Set 23 17:58:55 <paolo> yep Set 23 17:59:11 <debugger> humm, no "Revert" ? Set 23 17:59:24 <paolo> no Set 23 17:59:58 <debugger> when you decide to use "Revert" and "Close" ? Set 23 18:00:03 <debugger> s/and/or Set 23 18:00:19 <paolo> About working dir and command you should use a "standard" gnome file entry or better the gtk+ equivalent if any Set 23 18:00:31 <paolo> when the dialog are not modal Set 23 18:00:38 <paolo> s/are/is Set 23 18:00:57 <debugger> so, when modal I use cancel? Set 23 18:01:04 <paolo> yep Set 23 18:01:28 <debugger> hummm, so every "Revert" I have should be "Cancel" hehe Set 23 18:01:34 <paolo> other questions or doubts on the tool editor? Set 23 18:01:36 <paolo> probably Set 23 18:02:26 <debugger> I don't think using "standard" gnome dialogs is good for working dir or command. Set 23 18:02:37 <paolo> why? Set 23 18:02:48 <debugger> because in this case I only want to change the first "parameter" of the, say, command line. Set 23 18:03:12 <debugger> suppose I have already their, /bin/sh $(username) Set 23 18:03:23 <debugger> I only want to change the "/bin/sh" part. Set 23 18:03:53 <paolo> well, I think we could start with a the standard gnome widget, then we could improve it Set 23 18:04:15 <paolo> this is only a detail we could improve later Set 23 18:04:25 <debugger> improve what? the gnome widget? Set 23 18:05:03 <paolo> no, we could use the gnome widget now and then eventually implement the behaviour you want to implement Set 23 18:05:10 <paolo> in a second iteration Set 23 18:05:21 <debugger> ah, ok. =) Set 23 18:05:36 <paolo> can we pass to another dialog? Set 23 18:06:03 <debugger> humm, what will be the order of the advanced part? Set 23 18:06:06 <debugger> like it is? Set 23 18:06:11 <paolo> yep Set 23 18:06:55 <debugger> I don't known if you noticed, but when you change the, say, stdout, the things in the right of it change too. Set 23 18:06:56 <paolo> oh, for the Save menu... probably it is better to use "No files" and set it as default Set 23 18:07:06 <paolo> yep Set 23 18:08:26 <debugger> paolo: its All files because I don't known how to change the default menuitem. (besides moving it to the first entry of menu) Set 23 18:08:49 <paolo> ok, you can change it in the code. Set 23 18:09:01 <paolo> for the Output Filters the same comment as the Tools Dialogs applies Set 23 18:09:25 <debugger> yep, my comment still applies to those =) Set 23 18:09:44 <paolo> which comment? Set 23 18:10:17 <debugger> the one saying I don't known how to use glade do select another default menuitem. Set 23 18:10:32 <debugger> ok. another dialog =) Set 23 18:11:00 <paolo> ok Set 23 18:11:45 <paolo> For the Edit Filter dialog... Set 23 18:11:53 <paolo> what do you want to put in Test? Set 23 18:12:14 <paolo> Please, don't use frames they are HIG compliant Set 23 18:12:34 <debugger> the current value of the macro. Set 23 18:12:49 <debugger> paolo: frames? where I used that? Set 23 18:12:56 <paolo> in Test Set 23 18:13:20 <paolo> Put Type on the new line Set 23 18:13:28 <paolo> s/the new/a new Set 23 18:14:59 <debugger> humm, there are HIG compliant? or the aren't? Set 23 18:15:05 <debugger> s/the/they Set 23 18:15:12 <paolo> aren't Set 23 18:15:16 <paolo> sorry Set 23 18:15:38 <debugger> yes, that was not finished :/ Set 23 18:15:59 <debugger> I just want to put their a Text Entry widget. Set 23 18:16:09 <paolo> ok. Set 23 18:16:18 <paolo> About the macros dialog... what is the preview list Set 23 18:16:31 <debugger> but what it to be separated from the top dialog :/ Set 23 18:17:07 <debugger> may I put Test in bold? and the test textentry below it? Set 23 18:17:32 <paolo> yep, read the HIG, it explains how to implement it Set 23 18:18:01 <debugger> HIG is so boring! hehehe Set 23 18:18:41 <debugger> what other types of errors you want to detected? Set 23 18:18:47 <debugger> notices? Set 23 18:19:03 <debugger> oh .. w8.. Set 23 18:19:09 <debugger> about the stderr thing Set 23 18:19:32 <debugger> I thing I should drop the "std" from stdinput and stdoutput. Set 23 18:19:46 <debugger> and label it only has, "Input", "Output" Set 23 18:20:01 <paolo> ok Set 23 18:20:10 <debugger> we don't have a StdError thing, and we really need it? Set 23 18:20:22 <debugger> I mean, we only have Output window. Set 23 18:20:50 <debugger> so, Output is really, stdout/err. Set 23 18:20:57 <paolo> yep Set 23 18:21:39 <debugger> OTOH, labelling it "Input" seems to miss some context. hehe Set 23 18:22:30 <paolo> as I said in my mail we also need a way to prompt for parameters Set 23 18:24:00 <debugger> <debugger> what other types of errors you want to detected? Set 23 18:24:11 <debugger> paolo: w8, lemme first discuss this one :) Set 23 18:24:50 <paolo> well, we can also have normal output Set 23 18:25:01 <paolo> not only errors and warnings Set 23 18:25:14 <debugger> humm, normal output, passes normally through the filter. Set 23 18:25:24 <debugger> and goes directly to output window. Set 23 18:25:50 <paolo> hmm... ok Set 23 18:26:12 <debugger> I mean, the filters are only to retrieve a list of errors/warning. Set 23 18:26:24 <paolo> ok Set 23 18:26:26 <debugger> they do not modify the text. Set 23 18:26:31 <debugger> ok =) Set 23 18:27:10 <debugger> You think we need another type of filter? say, notice? (this can be a warning) Set 23 18:27:42 <debugger> (well, we can easily add filter types on future hehe) Set 23 18:27:50 <paolo> yep Set 23 18:28:14 <debugger> yep? should I also add Notice? Set 23 18:28:14 <paolo> for the moment 2 types are enough Set 23 18:28:19 <debugger> ah ok. Set 23 18:28:40 <debugger> now, argument prompting.- Set 23 18:28:56 <paolo> sorry but I have a crying baby in my hands so I'm a bit slow Set 23 18:29:23 <debugger> hehe no worries =) Set 23 18:29:30 <debugger> a simple, insert program arguments dialog will do the trick? Set 23 18:29:45 --> clarkbw (~clarkbw bryan sclab clarkson edu) has joined #gedit Set 23 18:30:01 <debugger> (with a combo box that shows the lasted arguments inserted to that tool) Set 23 18:30:02 <paolo> yep, like in JBuilder Set 23 18:30:08 <paolo> right Set 23 18:30:30 <debugger> humm, I don't have JBuilder here to check that out. Set 23 18:30:51 <paolo> we need to add a prompt for arguments option in the advanced dlg Set 23 18:31:56 <debugger> yeah. Set 23 18:32:13 <debugger> so I think that we iterate all dialogs, no? Set 23 18:32:32 <paolo> we miss the macro one Set 23 18:33:35 <debugger> oh .. w8 Set 23 18:33:40 <paolo> I don't see the point of having preview Set 23 18:34:38 <debugger> ohh, previously I was talking about this macro dialog! and not the other with a frame :/ Set 23 18:35:03 <paolo> Close and Insert must be swapped Set 23 18:35:14 <debugger> in this one, when you select a macro, say $(username) it shows the current value of it in preview. Set 23 18:35:43 <paolo> then preview could be a simple label Set 23 18:35:56 <debugger> yes =) Set 23 18:36:22 <debugger> show I keep those bold things? (ok RTFHIG=) Set 23 18:36:22 <paolo> Macros list should contain a human readable list Set 23 18:36:54 <debugger> I was thinking a pair, name,description Set 23 18:37:06 <debugger> and the preview in the bottom. Set 23 18:37:15 <debugger> ok? Set 23 18:38:01 <paolo> hmm... I'm still not sure about preview Set 23 18:38:14 <paolo> is it really needed? Set 23 18:39:18 <debugger> humm maybe not, we don't have strange contents in our macros. Set 23 18:39:43 <debugger> I will drop that in this. if we need it, it can be easily added. hehe Set 23 18:40:01 <paolo> ok Set 23 18:40:09 <debugger> now the insert button on it. Set 23 18:40:26 <paolo> it must be on the right Set 23 18:40:35 <debugger> I was thinking of not dismissing the dialog when you clicked Insert button, or this is not a good ideia? Set 23 18:40:55 <debugger> (thats why I placed it on left hehe) Set 23 18:41:10 <paolo> hmm... I think you can use a non modal dialog here Set 23 18:41:31 <paolo> and have: Help Close Insert Set 23 18:41:59 <debugger> ok. Set 23 18:42:22 <debugger> and that help button, should I drop it? Set 23 18:43:23 <paolo> yep, please Set 23 18:43:44 <paolo> Other questions? Set 23 18:44:02 <debugger> yes, the Edit Filter dialog. Set 23 18:44:11 <paolo> ok Set 23 18:44:47 <paolo> put type in a new line Set 23 18:44:58 <paolo> use Set 23 18:45:07 <paolo> cancel ok Set 23 18:45:16 <paolo> and help Set 23 18:45:31 <debugger> I need to have an area where the user inserts some text, and some labels that show Filename, Linenumber and column. Set 23 18:45:44 <debugger> that way I can test the regex Set 23 18:45:51 <paolo> ok Set 23 18:46:12 <debugger> but I'm not seeing a "nice" way of putting that in the dialog :/ Set 23 18:47:08 <paolo> hmmm... me neither Set 23 18:49:38 <debugger> maybe I can refrain for putting that in the dialog? at least for now.. Set 23 18:50:56 <paolo> yep, both textpad and IDEA do not have it Set 23 18:52:01 <debugger> but I wanted to have it their hehehe Set 23 18:52:17 <debugger> well, nevermind. later I will try to do it. hehe Set 23 18:52:34 <paolo> ok Set 23 18:52:46 <paolo> have we finished? Set 23 18:52:54 <debugger> now, I like Type in the right of Name Set 23 18:53:13 <debugger> in a new line it kidda stays "alone" Set 23 18:53:21 <paolo> ok, not a big problem Set 23 18:53:32 <paolo> leave it there Set 23 18:53:57 <paolo> my little lady is sleeping now Set 23 18:54:06 <debugger> this also needs to be a Cancel Close dialog, right? Set 23 18:54:21 <paolo> yep Set 23 18:55:31 <debugger> so, are there really to much dialogs? Set 23 18:56:24 <paolo> well, merging the two tools dialog it is ok Set 23 18:56:37 <debugger> the advanced? Set 23 18:56:42 <paolo> yep Set 23 18:56:48 <debugger> ah ok. :) Set 23 18:56:58 <debugger> I think I don't have any more questions heheh Set 23 18:57:13 <paolo> I will send the IRC log on the ML, is it ok for you? Set 23 18:57:14 <debugger> and you? :) Set 23 18:57:28 <paolo> no questions. Set 23 18:57:36 <debugger> how, its full of errors =) Set 23 18:57:43 <debugger> s/how/oh Set 23 18:58:08 <debugger> can I edit it? heheh Set 23 18:58:12 <paolo> We should only define the set of macros and a set of standard filters Set 23 18:58:19 <paolo> sure Set 23 18:59:44 <debugger> humm, about that "standard filters", I was thinking of not having a filter repository. I mean, every tool gets a set of filters that is created specific for her. Set 23 19:00:27 <paolo> ok, then we will need to create a set of default tools Set 23 19:00:36 <paolo> with their filters Set 23 19:00:59 <paolo> like Java Compiler, etc Set 23 19:01:19 <debugger> ok. Set 23 19:01:19 <paolo> or better Compile with Java, Compile with LaTeX, etc Set 23 19:01:31 <debugger> ah! another thing! Set 23 19:01:48 <debugger> > - Group several tools in a group, so we can have a fast access to the Set 23 19:01:48 <debugger> > tools needed for a specific task, say, a simple tool chain for coding Set 23 19:01:48 <debugger> > C programs. Set 23 19:01:48 <debugger> Set 23 19:01:48 <debugger> How will the group selected? Using the document MIME-type? Set 23 19:02:16 <paolo> oh, right! Any idea? Set 23 19:02:38 <debugger> I was thinking of having tool groups that can be accessed with Ctrl+Alt+N Set 23 19:03:02 <debugger> and the tools inside that groups, accessed with Ctrl+N Set 23 19:03:28 <paolo> hmmm... I think that automatically select groups would be cool! Set 23 19:04:12 <paolo> For example if you are editing a Java source the Java group is automatically selected Set 23 19:04:14 <debugger> this way I can, say, have a group with tools for Java and other for C#, and select each one with Ctrl+Alt+1 and the other with Ctrl+Alt+2, then the compiler with, Ctrl+1 Set 23 19:04:55 <debugger> hummmm, I wasn't thinking in that "automatic" way hehe Set 23 19:05:38 <debugger> but that can be "problematic", if say, we have two java groups, one using jdk 1.3 and 1.4. Set 23 19:06:02 <debugger> but we can use your way, I never thought about that one. heheh Set 23 19:06:11 <paolo> hmmm... right Set 23 19:06:19 <debugger> I now understand what you mean with that MIME thing. hehe Set 23 19:06:24 <paolo> go with your idea for the moment Set 23 19:06:47 <paolo> then we will see in a second moment Set 23 19:07:01 <debugger> and note, that we can implement the first version of this without this group thing. Set 23 19:07:16 <debugger> I mean, without the automatic assignment of shortcut keys. Set 23 19:07:34 <paolo> yep Set 23 19:08:05 <paolo> well, you could use the metadata stuff of gedit to implement semi automatic selection of groups Set 23 19:08:10 <debugger> I my way, tools from different groups have the same shortcut key, the only think that disthings them is the current tool group. Set 23 19:08:27 <debugger> s/think/thing Set 23 19:08:58 <paolo> i.e. if you open a file for which you already selected a group you can reselect the same group for it Set 23 19:09:10 <paolo> reading in the metadata file Set 23 19:09:29 <paolo> like I do for the Highlight mode Set 23 19:09:44 <debugger> humm, what is a metadata file in gedit world? Set 23 19:10:43 <debugger> like, the file is mimetype xpto, you select the hilight mode for xpto files? Set 23 19:11:10 <paolo> you can associate information to open files Set 23 19:11:22 <paolo> and they are stored in a metadata files and eventually reused Set 23 19:11:41 <debugger> hummm, what metadata files are those? Set 23 19:12:00 <debugger> where are they stored? Set 23 19:13:16 <paolo> in ~/.gnome2/gedit-metadata.xml Set 23 19:15:00 <paolo> but it will use the gnome-vfs metadata stuff when it will be implemented Set 23 19:15:45 <debugger> funny, I never realized that gedit restored the cursor when we reopen it. eheh Set 23 19:15:59 <debugger> it, the file. Set 23 19:16:40 <debugger> humm, it only works if I save the file? Set 23 19:17:01 <paolo> actually, at the moment it does not restore it due to a bug Set 23 19:17:14 <debugger> ah! heheh Set 23 19:17:28 <debugger> I use vim, and it does that. hehe Set 23 19:17:29 <paolo> but it saves other info like the selected hl mode, the last searched text and so on Set 23 19:18:05 <paolo> I took the idea from vim Set 23 19:18:17 <debugger> btw, I think it should only save the hl mode if it has been changed hehe Set 23 19:18:26 <paolo> yes Set 23 19:18:31 <debugger> (same goes to the encoding) Set 23 19:18:41 <debugger> atime? Set 23 19:19:16 <paolo> it is needed since the metadata files contains only the info of the last 200 or so opened files Set 23 19:19:22 <debugger> added time? time when added to the file? Set 23 19:19:26 <debugger> (metadata file) Set 23 19:19:37 <paolo> access time Set 23 19:19:38 <debugger> ah, yes. Set 23 19:20:10 <debugger> humm, why you need access time? Set 23 19:20:23 <paolo> BTW, you can save the group associated to a file Set 23 19:20:44 <paolo> since the oldest entries are removed when needed Set 23 19:20:51 <debugger> ah .. access time of the file inside gedit. and not access time of the file in disk, right? Set 23 19:20:57 <paolo> yep Set 23 19:21:18 <debugger> ok. makes sense =) Set 23 19:22:16 <debugger> that group thing, can go to a second iteration. we need to discuss that more in depth. hehe Set 23 19:23:07 <debugger> I will update the dialogs to make then HIG. and send it to ml. then I will implement the alpha alpha version of it =) Set 23 19:23:19 <debugger> but first I will change gedit. Set 23 19:23:49 <debugger> BTW, we need to talk about that! Set 23 19:24:22 <debugger> you didn't comment on that part! hehe Set 23 19:24:59 <paolo> no comments on that part Set 23 19:25:08 <debugger> no? Set 23 19:25:25 <debugger> so, I go and add a "action" signal to the output window? Set 23 19:25:27 <paolo> I still have to think about it and I need more details about your idea Set 23 19:25:38 <paolo> is it enough? Set 23 19:26:04 <debugger> that and a output_cleared / output_destroyed signal. Set 23 19:26:10 <debugger> and thats it. Set 23 19:26:26 <paolo> destroy is not needed since you already have it in gtk+ Set 23 19:26:45 <paolo> output_cleared is ok for me Set 23 19:27:11 <debugger> ok, so I will add "action" signal and a "output_cleared" one? Set 23 19:27:19 <paolo> ok Set 23 19:27:24 <paolo> I have to go now. Set 23 19:27:37 <debugger> w8! 1 sec: ) Set 23 19:27:41 <paolo> Could you please post this IRC conversation on ML? Set 23 19:27:54 <debugger> yes I can. Set 23 19:28:39 <debugger> I need the text of the line to be passed in the signal, so I passed it on the signal? or should I had something to extract a line of text from output window? Set 23 19:28:50 <debugger> s/ot/or Set 23 19:29:00 <debugger> s/had/add .... Set 23 19:30:53 <paolo> probably the second is better Set 23 19:31:18 <debugger> ok, something like, get_selected_line, get_line_text ? Set 23 19:31:52 <debugger> humm, get_selected_line no. the line number will be passed in the signal. Set 23 19:32:01 <paolo> get_text_at_line Set 23 19:32:15 <debugger> ok. Set 23 19:32:19 <debugger> you can go now =) Set 23 19:32:26 <debugger> and thx :) Set 23 19:32:39 <paolo> also a get_selected_line function could be useful (it returns an index) Set 23 19:32:53 <debugger> but, if there are multiple lines selected? Set 23 19:32:55 <paolo> so the signal could be without parameters Set 23 19:33:01 <paolo> right Set 23 19:33:17 <paolo> remove my last comment :-) Set 23 19:33:47 <paolo> I think you are doing a great work Set 23 19:33:53 <paolo> thank you very much Set 23 19:34:05 <debugger> hehe thanks :) Set 23 19:34:09 <paolo> bye Set 23 19:34:17 <debugger> cya Set 23 19:34:29 <-- paolo has quit (Client Exiting)
Attachment:
tools.glade.bz2
Description: application/bzip