Commit Graph

58 Commits

Author SHA1 Message Date
Chris Jones
96a6b9c777 Fix tab label layout when the tab bar is on the right. Closes LP#838426 2012-10-18 15:03:48 -07:00
Chris Jones
c6fca1dd73 Create some basic architecture to persist metadata across containers being removed/recreated as terminals are exiting. Fixes LP#711356 2011-08-22 21:05:38 +01:00
Chris Jones
aadeb45dc3 tabs were previously being created in the wrong sorted order. Fixes LP#615930 2011-08-21 01:01:59 +01:00
Chris Jones
b0f5ab21b9 Layouts with more than two tabs would fail to load. Fixes LP #646826 2011-08-21 00:38:50 +01:00
Stephen Boddy
05520fd5a7 Replace the get_top_window with the much quicker builtin get_toplevel widget call 2011-02-23 22:35:10 +01:00
Chris Jones
e4890ebdd1 Describe and restore custom tab labels in the layout. Closes LP #568500 2010-07-04 17:22:39 +01:00
Chris Jones
7522bb2b9d Deprecate the hide_tabbar config option and instead add a 'hidden' value to tab_position and update the code/UI/docs accordingly. 2010-07-03 20:42:33 +01:00
Chris Jones
5b5739df0e Add some more debugging to layout creation 2010-06-15 15:19:05 +01:00
Chris Jones
f2c62067c1 Handle creation of multiple tabs in a layout. Closes LP #583041 2010-05-25 20:08:20 +02:00
Chris Jones
d12223769b guard against gtk/pygtk not letting us call set_orientation() on gtk.Box 2010-05-13 09:17:30 +02:00
Chris Jones
630da9b06d I think tabs should always be homogeneous. Let's see how that works out 2010-05-05 12:53:01 +01:00
Chris Jones
f02f08314e Make inserted pages when splitting also be reorderable. Closes LP #563445 2010-04-20 12:38:49 +01:00
Chris Jones
bd3da1e8ff When removing a notebook child and adding a new one we need to do it in one move so we can preserve the tab ordering. Closes LP #490627 2010-04-12 21:35:24 +01:00
Chris Jones
51ae3cd95a Set a tab as reorderable after adding it, not before 2010-04-11 23:08:00 +01:00
Chris Jones
c284baa7c0 This is how everyone else styles their notebook tab close buttons. It's a bit bigger than we had before, but that's the price you pay I guess. Closes LP #559185 2010-04-11 18:55:35 +01:00
Chris Jones
58921fbcc7 Include the final page of children in the list of children of the Notebook. Closes LP #546665 2010-04-11 15:51:18 +01:00
Chris Jones
463ea45d3a When removing a Notebook, make sure focus goes to a terminal. Closes LP #558375 2010-04-11 15:31:42 +01:00
Chris Jones
68da0b24b3 Tidy up some focus grabbing on new Terminal creation. Closes LP #558376 2010-04-09 12:58:46 +01:00
Chris Jones
f488231ad1 Fix a couple of subtle bugs relating to closing tabs. Closes LP #556490 2010-04-06 23:45:05 +01:00
Chris Jones
364a833324 Add support for preserving cwd across tab creation events. Fixes a regression reported by jkaker 2010-04-02 16:45:32 +01:00
Chris Jones
efafd65221 Update tab bar position when it is changed, if apropriate 2010-04-01 23:15:42 +01:00
Chris Jones
fba64128e6 Flip the tab label widget group into a vertical orientation if the tab bar is on the left/right. Closes LP #553426 2010-04-01 23:07:55 +01:00
Chris Jones
16bc247b0e Attach the debug server to the context menu 2010-03-19 22:16:08 +00:00
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