Commit Graph

85 Commits

Author SHA1 Message Date
Chris Jones 8610a845bc Implement a get_children() method in our Container widgets to override gtk.Container.get_children() with something that guarantees ordering in the returned list 2010-03-10 22:51:33 +00:00
Chris Jones 706180976e Set cwd when spawning new shells to be that of the shell being split. Does not currently persist across tab creations 2010-03-05 22:44:38 +00:00
Chris Jones cc77c3bc4e Drag and drop ordering continues to be insane. Refactor it so we're not double-negativing. This appears to fix everything about it 2010-03-02 20:38:28 +00:00
Chris Jones b213e76461 Fix up drag and drop to work more often, between more widgets 2010-03-02 12:39:47 +00:00
Chris Jones 684c6875cb Start implementing layout creation in Notebook 2010-02-27 14:04:15 +01:00
Chris Jones 9b6cdcd4ac Previous split_axis() changes were insufficient. Apply the changes across all of the Containers and improve the implementation generally 2010-02-27 13:30:38 +01:00
Chris Jones 15ea22b4ff Only spawn a child in the sibling if we created it 2010-02-04 00:59:11 +00:00
Chris Jones 4b58b0c738 Refactor navigate_terminals from Terminator to Window 2010-01-29 13:12:33 +00:00
Chris Jones 789092bb07 Refactor some code from Notebook into a standalone function that finds all descendant widgets of a given container that are Containers or Terminals and returns lists of them, and use this when closing a tab. This function will form the basis of layout enumeration 2010-01-28 13:41:44 +00:00
Chris Jones 0817d2651d refactor tab creation signals to propagate to the Window of a Terminal, not Terminator 2010-01-28 12:49:38 +00:00
Chris Jones b3435e534f tidy up some FIXME stuff, including removing a duplicate call to gtk.Button.set_relief() that can't possibly be needed 2010-01-26 12:39:44 +00:00
Chris Jones 23ccad813d Call Signalman::remove_all() when each of the Container subclasses commits suicide. SHould stop any stale signal handler connections existing 2010-01-25 12:55:38 +00:00
Chris Jones 8d8681e63f This makes us very UNIX dependent (as if we weren't before anyway), but we now specifically send a SIGHUP to the child of a terminal when that terminal is explicitly close()d 2010-01-25 12:35:34 +00:00
Chris Jones ab02add397 Make the move-tab keyboard shortcuts work 2010-01-24 22:15:54 +00:00
Chris Jones 489bc2cbb6 Slight refactoring of each derived Container's add() to handle all the Terminal signals the same way. 2010-01-24 12:55:03 +00:00
Chris Jones 5c0a882aaa minor pylint adjustements 2010-01-22 19:03:58 +00:00
Chris Jones 0eb6994620 Add the (un)group_(all|tab) connections that should have been in the previous commit 2010-01-21 13:00:50 +00:00
Chris Jones 14f98c1b89 Implement (un)group_all and (un)group_tab 2010-01-21 12:55:57 +00:00
Chris Jones 9c72b6287d Implement tab changing keyboard shortcuts 2010-01-21 12:33:42 +00:00
Chris Jones 36631b20e4 Teach Notebook how to hoover itself since it might be called during drag&drop, and refactor its suicide detection into that function 2010-01-19 22:44:05 +00:00
Chris Jones 257cc3ead6 Remove the old terminator.py, rename newterminator.py accordingly and update all the references to it 2010-01-11 20:06:53 +00:00
Chris Jones be224f3016 Undo previous change that had Factory registering windows and terminals. Instead make them self-register since they already have a Terminator reference anyway. Remove calls to register_terminla from elsewhere. 2010-01-04 13:11:16 +00:00
Chris Jones 7d897eaef7 Make title propagation work properly 2009-12-10 23:25:52 +00:00
Chris Jones 602c6a3b57 Make title changes propagate better, albeit not perfectly yet 2009-12-10 13:20:03 +00:00
Chris Jones 24b6082155 Add more debugging and make sure we don't fall into the trap of iterating over a list we're modifying 2009-12-09 13:02:13 +00:00
Chris Jones 34da8ffe3a fix a bunch of bugs in tab handling and attempt to handle closing a tab with multiple children, but all of this is still entirely buggy 2009-12-08 13:57:29 +00:00
Chris Jones f9725242ec Make tab opening conext menu work 2009-12-08 13:01:13 +00:00
Chris Jones 2db2e0f75e Beginnings of making the tab close button work, only handles the simplest case so far 2009-12-08 09:10:39 +00:00
Chris Jones 0796e70808 Don't create a one-off TabLabel for the first tab, Notebook.newtab() makes them and now the order of creation is fixed they even show up properly 2009-12-07 20:32:47 +00:00
Chris Jones 05fb49bed6 Make Paned widgets eat themselves when they go from 2 to 1 tabs 2009-11-25 12:51:14 +00:00
Chris Jones 4577c14c6e Only connect terminal signals to terminals 2009-11-25 09:07:48 +00:00
Chris Jones 2a76382e47 migrate to using the factory and extend it to have an isinstance() 2009-11-25 00:37:29 +00:00
Chris Jones 1d7adc8283 Port TabLabel across and integrate it. 2009-11-23 15:17:33 +00:00
Chris Jones 9cbc6f1282 Add the very barest of support for tabs. 2009-11-21 22:28:39 -06:00
Chris Jones b6703153a1 Start a new class derived from Container for gtk.Notebook 2009-11-21 21:53:38 -06:00