Commit Graph

931 Commits

Author SHA1 Message Date
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
d6e011281e Prevent colourscheme oddness setting null foreground/background colours. Closes LP #553383 2010-04-01 22:05:14 +01:00
Chris Jones
dde412a53b Fix handling of background_darkness changing. Closes LP #553276 2010-04-01 14:39:38 +01:00
Chris Jones
14e4b4d3fe Fix --working-directory. Closes LP #552497 2010-03-31 14:02:55 +01:00
Chris Jones
ce2baa8d42 update versions and changelogs for 0.91 2010-03-31 10:57:39 +01:00
Chris Jones
1afd5a3ced Fix the handler for handle size changing 2010-03-31 09:26:09 +01:00
Chris Jones
15c0138dc3 Fix the config filename when saving 2010-03-31 09:25:45 +01:00
Chris Jones
2f5c494f68 Go back to using the real config file name 2010-03-30 23:49:05 +01:00
Chris Jones
0232e0b19a Remove some unused default configs 2010-03-30 22:50:46 +01:00
Chris Jones
bbdf055477 Rather than having people use an ugly value of -1 for infinite scrollback, have it as a separate setting, with all of the extra gubbins involved in making that work neatly. Closes LP #532513 2010-03-24 13:22:37 +00:00
Chris Jones
82af1ddba8 We shouldn't need to push {un,}group_tab up to Terminator() and we haven't been handling it anyway 2010-03-23 21:40:03 +00:00
Chris Jones
f4b1c2cce0 If a profile is configured to not show the titlebar, actually only show 2px of it until it's clicked on. Poor man's autohide, but it achieves all of my objectives - the colour is hinted to people with no visible titlebar and they can still summon the grouping menu 2010-03-23 20:48:04 +00:00
Chris Jones
1a6f659a40 The second part of that being, actually set it to 1 and not True 2010-03-21 00:49:22 +00:00
Chris Jones
53ef40d847 Don't blat options.debug with a simple truth when it should be an integer 2010-03-21 00:48:39 +00:00
Chris Jones
16bc247b0e Attach the debug server to the context menu 2010-03-19 22:16:08 +00:00
Chris Jones
837bd3c5d2 Start working on optional GNOME Session management 2010-03-19 12:39:44 +00:00
Chris Jones
e7c297277f Save the config when adding or removing layouts 2010-03-18 23:11:18 +00:00
Chris Jones
8ed1613951 Describe the current profile if it's non-default 2010-03-18 23:11:07 +00:00
Chris Jones
b4d259f053 Fix splitting from the context menu so it sends the cwd 2010-03-11 14:30:07 +00:00
Chris Jones
2164f32ddb Kludge the layout creation until it works 2010-03-11 13:04:01 +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
4cb4a9bc48 Deepcopy the layout before we trash it as we unwind it into a tree. 2010-03-10 12:52:50 +00:00
Chris Jones
2e116b09eb inhibit config saving while we're loading the config into the GUI, otherwise it saves a whole bunch for no good reason. Update the LayoutEditor's idea of the layout name when it's renamed. Set the layout item command/profile to the default values if there are no stored values. Save the layout item command/profile when they change. 2010-03-10 12:52:25 +00:00
Chris Jones
2ce78b7903 Add the ability to inhibit config saving 2010-03-10 12:51:16 +00:00
Chris Jones
b7e9c4d02c Switch from static storing of values to storing them immediately when the user changes them. This needs a whole heap of refactoring to make the setter methods more generic, and we need to think about all the calls to Concig.save() 2010-03-09 13:09:07 +00:00
Chris Jones
4d1d293804 Update to use the new split_axis method signature 2010-03-08 21:46:45 +00:00
Chris Jones
27d8223a28 Change all GUI object names to use underscores instead of minus signs, so glade doesn't suggest syntactically invalid signal handler names 2010-03-06 11:09:32 +00:00
Chris Jones
ccc68c9f95 Start adding handlers for all of the objects. We should do instant application instead of the crazy huge set/store methods 2010-03-06 10:13:46 +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
b8703fdecb Layout item handling is now done via a separate controller object. 2010-03-05 22:20:48 +00:00
Chris Jones
8732754794 Don't grab focus when we're respawning a child 2010-03-05 19:54:39 +00:00
Chris Jones
b617becdd8 Add the Ambience colour theme, add the layout contents TreeView, rework some Cursor settings 2010-03-05 12:42:58 +00:00
Chris Jones
67d9e136f3 Add an Ambience colour scheme, to match the new GNOME Terminal profile in Lucid 2010-03-05 12:29:51 +00:00
Chris Jones
ffc6a67e03 Don't blat the default layout with an empty one 2010-03-05 12:29:02 +00:00
Chris Jones
7cc7ef80d3 Duck typing. This is a defence against Client Side Decorating in Gtk+ and other random weirdnesses 2010-03-04 11:59:36 +00:00
Chris Jones
94f0fd194c get_children() is unhelpful in this context for some reason, use get_child() instead 2010-03-02 21:01:20 +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
8e0c5aacbc pylint fix, add a docstring 2010-03-02 20:37:52 +00:00
Chris Jones
79c48b21ca fix incorrect method signature 2010-03-02 20:37:41 +00:00
Chris Jones
950da4dec3 pylint cleanups 2010-03-02 20:35:06 +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
afdbaa3fe6 Upgrade configobj to 4.7.2 2010-03-02 00:25:44 +00:00
Chris Jones
45708d267b Remove terminal zoom scaling handler with the correct signal name, and be more errorial when we're refusing to change the font size 2010-02-27 14:38:01 +00:00
Chris Jones
da7e7850b0 Add support for window sizes in the layout 2010-02-27 15:18:08 +01:00
Chris Jones
499206f3e9 Config.options is not suitable for use as Terminal layout command overrides. Add a simple thing that is 2010-02-27 15:02:16 +01:00
Chris Jones
64a0f70c41 Build out support for containers to report a position to the layout. This now works for Windows, but will require significantly more work for Paneds 2010-02-27 14:55:38 +01:00
Chris Jones
d51d9cd700 Stop using goocanvas for now 2010-02-27 14:06:53 +01:00
Chris Jones
98c3979b88 Don't debug print the layout 2010-02-27 14:05:08 +01:00
Chris Jones
7d80561710 Create paned layouts in a consistent order 2010-02-27 14:04:50 +01: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
94a568ee1c Drag and drop ordering was not paying attention to the requested order. Now it is 2010-02-27 11:26:30 +01:00
Chris Jones
bdac9e620a Revert that and instead make the Terminal usage of the options object be more optional 2010-02-21 11:58:17 +00:00
Chris Jones
f9e5a69c71 Initialise command_line_options 2010-02-21 11:55:29 +00:00
Chris Jones
ad1b1ecc79 Fix drag and drop, which had become horribly sensitive to the internal widget structure of Terminal 2010-02-20 23:05:51 +00:00
Chris Jones
b1e4d7710d Add two new debugging option strings for filtering on specific classes/methods 2010-02-17 21:16:52 +01:00
Chris Jones
54305c8254 Add basic support for filtering in dbg() to reduce the noise if someone only cares about a few classes/methods 2010-02-17 21:15:33 +01:00
Chris Jones
8e8c33b5b8 Make this debug actually be a debug 2010-02-17 21:04:57 +01:00
Chris Jones
71919fce55 Create a layout if requested, otherwise create a default one or just open a window 2010-02-17 20:57:05 +01:00
Chris Jones
4fcf72a5ba Preserve layout object properties when constructing the tree 2010-02-17 20:47:33 +01:00
Chris Jones
b78938a145 Refactor the next/prev directional navigation to work properly 2010-02-14 22:03:06 +00:00
Chris Jones
fdb5784b15 Simplest possible GooCanvas usage for the layout preview. 2010-02-12 08:16:18 +00:00
Chris Jones
bfb3bec7d4 Set foreground colour properly, this was missed from the epic-refactor work 2010-02-11 22:14:07 +00:00
Chris Jones
c387197b93 Add preferences dialog entries for icon bell and generally re-arrange the bell options into their own section 2010-02-11 13:45:02 +00:00
Chris Jones
b3eaa85cc9 default to an icon based terminal bell indication, and add such an icon from Tango. 2010-02-11 13:05:12 +00:00
Chris Jones
07a142c6a0 Cache gconf values, and handle them changing 2010-02-09 22:33:47 +00:00
Chris Jones
5520fe11c8 Remove ad-hoc titlebar visibility control and make the preferences setting be applied by Terminal::reconfigure() 2010-02-09 13:08:07 +00:00
Chris Jones
79a340539b Make the titlebar presence configurable by config file and context menu. If it's missing, draw a frame around the Terminal, to indicae colour 2010-02-09 00:23:21 +00:00
Chris Jones
eb7fcf5189 Expose cursor blinking and colour in the prefs editor 2010-02-08 22:10:59 +00:00
Chris Jones
8307951001 Catch any/all exceptions from config file parsing 2010-02-08 21:11:38 +00:00
Chris Jones
79381c61d0 Edit new profiles/layouts as they are created. Partly because the default names suck, but partly to clearly hint that they are editable 2010-02-08 21:03:43 +00:00
Chris Jones
ad5c927d15 Add a section to the global config for setting the various fg/bg colours of the titlebars 2010-02-08 20:22:08 +00:00
Chris Jones
7450a57013 Reparse keybindings after the prefs window is OK'd 2010-02-07 22:32:55 +00:00
Chris Jones
f99fbf1094 Don't fail to find a plugin section 2010-02-07 12:41:08 +00:00
Chris Jones
8806c97612 We need to improve the vte mouse enter handler 2010-02-07 11:59:57 +00:00
Emmanuel Bretelle
4c36b25341 Workaround missing 'plugins' entry in configuration 2010-02-06 16:02:16 +01:00
Chris Jones
41a8b2372c Undo my madness 2010-02-05 00:16:24 +00:00
Chris Jones
f8c8a71633 This was a dumb idea 2010-02-04 23:56:17 +00:00
Chris Jones
3444087941 Set the default layout to be 'default' 2010-02-04 23:52:43 +00:00
Chris Jones
882f325a73 Move all the layout stuff onto a separate branch so trunk can shape up for 0.90 2010-02-04 23:24:27 +00:00
Chris Jones
102463acb3 Skip widget pixbuf generation for older gtks, not newer ones 2010-02-04 01:00:35 +00: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
1aadbae30b Rework layout config to flatten and build up trees 2010-02-02 00:39:41 +00:00
Chris Jones
9ac5f913fa Ensure we don't set a zero sized font when zooming. Doing so causes vte to explode 2010-02-01 20:15:53 +00:00
Chris Jones
678057a0d3 First run at layout loading, creating, enumerating and saving. It sucks and works poorly at the moment, but here it is 2010-02-01 12:11:44 +00:00
Chris Jones
5392585893 previous_selection was being mistakenly overloaded for profiles and layouts. split it out into two variables 2010-01-31 16:24:45 +00:00
Chris Jones
f5dfd404c9 run the layouts config sections through dict_dff to avoid saving defaults unnecessarily 2010-01-31 16:24:20 +00:00
Chris Jones
a3aa45a43d Flesh out the Layouts tab a little 2010-01-31 16:14:25 +00:00
Chris Jones
f1fe0bbf20 Stop the default profile/layout from being editable 2010-01-30 15:33:37 +00:00
Chris Jones
0501ceb8d4 The beginnings of a layout editor 2010-01-30 00:27:57 +00:00
Chris Jones
061aef9fd8 Glade changes for the Layouts tab 2010-01-30 00:05:09 +00:00
Chris Jones
a6f065aedd Friendly name for the terminator spawning keyboard shortcut 2010-01-30 00:04:55 +00:00
Chris Jones
e3438b3bdf Fix up the startup cwd tracking so self-spawning works in non-absolute paths, and handle the key_new_window => key_new_terminator switch 2010-01-29 23:52:21 +00:00
Chris Jones
a5ac05bcc9 Add a new shortcut to take over duties of spawning a new Terminator process 2010-01-29 23:49:16 +00:00
Chris Jones
ece0cfdde0 Refactor the creation of a new Window/Terminal pair and joining them, into Terminator, and call it from the top level terminator script 2010-01-29 23:41:18 +00:00
Chris Jones
1236a85370 Windows need to commit suicide when their last terminal exits. Previously there was an assumption of only having one window, so monitoring the global terminal list was acceptable. no more 2010-01-29 23:37:25 +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
a8748fbbeb This FIXME is fixed 2010-01-26 11:06:28 +00:00
Chris Jones
8aebcf62a2 Signal additions now return a handler 2010-01-26 11:05:00 +00:00
Chris Jones
02a5c07ccf Remove unused argument to store_profile_values() 2010-01-26 00:30:43 +00:00
Chris Jones
9bb77729b4 Enhance earlier os.kill() commit by ignoring all failures from that 2010-01-25 13:00:29 +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
60983e3584 Handle popup menu being triggered without a full event, e.g. when the menu keyboard key is pressed 2010-01-25 12:26:32 +00:00
Chris Jones
ab02add397 Make the move-tab keyboard shortcuts work 2010-01-24 22:15:54 +00:00
Chris Jones
9f348c349a Fix backspace/delete bindings to actually do what they say they should, per GNOME Terminal behaviour. Closes LP #511875 2010-01-24 15:45:47 +00:00
Chris Jones
05a61f802d FIXME another method that just does a pass 2010-01-24 13:18:50 +00:00
Chris Jones
6a9febe952 Signalman doesn't need to whine about leftover signals unless we're debugging 2010-01-24 12:58:30 +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
6beba121be further pylint appeasement 2010-01-23 00:50:28 +00:00
Chris Jones
2ba83ab4cd Make prefseditor.py more pylint friendly 2010-01-22 22:53:23 +00:00
Chris Jones
41897508e1 pylint cleaning 2010-01-22 19:08:12 +00:00
Chris Jones
bc308c30e4 Fix minor pylint induced syntax issue 2010-01-22 19:04:37 +00:00
Chris Jones
5c0a882aaa minor pylint adjustements 2010-01-22 19:03:58 +00:00
Chris Jones
22c2d64707 remove an unused variable and shorten a line to appease pylint 2010-01-22 19:00:53 +00:00
Chris Jones
62c0cef759 Remove an unused variable 2010-01-22 18:57:31 +00:00
Chris Jones
9e625ed16b split a long line 2010-01-22 18:56:12 +00:00
Chris Jones
ff56fedcf0 Refactor save() a little to reduce the branch complexity, and tidy up some other parts to appease pylint 2010-01-22 18:54:36 +00:00
Chris Jones
9ef6122a97 Set the background type before updating the background tab, so it's actually arranged correctly 2010-01-22 18:39:09 +00:00
Chris Jones
055e6f837b This FIXME is no longer true 2010-01-22 13:24:42 +00:00
Chris Jones
d025954c60 Make prefseditor.py enable debugging when it's run directly 2010-01-22 13:00:26 +00:00
Chris Jones
e9e1101d26 Pay attention to the other optional value for the scrollbar_position when reconfiguring a Terminal 2010-01-21 22:38:52 +00:00
Chris Jones
df992c284e Look up GNOME system font and focus settings via gconf 2010-01-21 21:39:05 +00:00
Chris Jones
c00cf071c7 Fix the palette default to be the same as gtkcolorpickers produce, i.e. lower case 2010-01-21 21:20:01 +00:00
Chris Jones
4822530ce2 Fix all the GtkAdjustments in the glade file 2010-01-21 21:10:24 +00:00
Chris Jones
a5222ba6b2 Add various bits of debugging and fix solid backgrounds 2010-01-21 20:58:07 +00:00
Chris Jones
356f9e90bf fix up transparent background functioning 2010-01-21 20:36:18 +00:00
Chris Jones
7b0bb5818d dbg() which kind of colormap we're setting 2010-01-21 20:36:02 +00:00
Chris Jones
e3cbb3e717 Fix a prefs editor guiget() call, and set the background type in the config file 2010-01-21 20:35:43 +00:00
Chris Jones
81e00fca0b Mask some incompatibilities with older gtk 2010-01-21 13:23:39 +00:00
Chris Jones
21caae2517 Start implementing a tab moving signal. It isn't handled yet. This is a regression from trunk until it is handled 2010-01-21 13:02:37 +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
0f5b6e97a7 Fix WM_URGENT removal by using the right signal name 2010-01-21 12:14:12 +00:00
Chris Jones
e2db10fc09 Implement urgent bell handler 2010-01-21 00:13:56 +00:00
Chris Jones
29d0414a04 Fix inverted groupsend handling and generally make it clearer what we mean here by not using the magic groupsend type values 2010-01-20 23:46:13 +00:00
Chris Jones
a10babeb5d Port geometry hinting from trunk to epic-refactor. HEY THEO. 2010-01-20 23:36:11 +00:00
Chris Jones
021f5cef98 remove the silly old comments in the directional navigation section and add some better ones describing how it works 2010-01-20 19:57:16 +00:00
Chris Jones
ee72ae478f refactor out the last two decisions in the directional navigation so instead of being test code that can only move left, they now move in all four directions 2010-01-20 13:04:14 +00:00
Chris Jones
ddce3a862d URL dragging was broken because Terminator::get_target_terms() makes no assumptions about which terminal to examine, but it used to 2010-01-20 12:11:02 +00:00
Chris Jones
db7b0cc0a0 Directional navigation. Only works for going left yet, see included FIXME 2010-01-20 00:54:35 +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
4a1a65dfbd Make icon setting more rubust 2010-01-19 20:03:05 +00:00
Chris Jones
35910b7a85 Tidy up the email match, and fix the nntp one (thanks dutchie) 2010-01-19 19:44:23 +00:00
Chris Jones
ac95dddfbe start working on a set of methods to walk the widget tree to find the visible ones, and collect their gtk allocation (i.e. where they are and how big they are). This is expected to form the basis of directional navigation and layout display/saving 2010-01-19 13:06:09 +00:00