Chris Jones
fdf169a2fd
Only display the menu item for Preferences if there is support for Gtk Builder
2010-07-02 11:09:21 +01:00
Chris Jones
5fb0f518c8
Apply a slightly modified version of Mike Miller's patch to improve backwards compatibility with older pygtk. Closes LP #589216
2010-06-30 11:33:34 +01:00
Chris Jones
29ee8ace1b
Add copy_on_selection to the profile editor
2010-06-24 21:56:18 +01:00
Chris Jones
0533af23ae
Enable selecting a profile's encoding via the prefs UI. Closes LP #597340
2010-06-23 12:03:04 +01:00
Chris Jones
b13d7fc43c
Remove a spurious print
2010-06-23 07:30:59 +01:00
Chris Jones
45a9c26cf2
Switch the plugin prefs pane back to live loading/unloading of plugins without silly compromises
2010-06-23 00:48:06 +01:00
Chris Jones
70a66ee218
Switch the plugin enabling/disabling to not work online, but to save the state for later
2010-06-21 22:44:09 +01:00
Chris Jones
51fe811b85
Add a method for determining if a plugin is permanent - i.e. if it cannot be unloaded
2010-06-20 23:56:11 +01:00
Chris Jones
80289911f1
Some plugins can't ever be disabled. Detect and obey
2010-06-20 22:56:19 +01:00
Chris Jones
c649da9949
Partially populate the Plugin tab in the prefs UI so plugins can be enabled and disabled
2010-06-20 22:41:55 +01:00
Chris Jones
6bc310d58c
Also grandfather in the apturl url handler plugin, since that was previously enabled by default
2010-06-18 13:08:17 +01:00
Chris Jones
69e4ae1875
Switch plugins from being enabled by default to being disabled by default. An annoying change to have to make, but since almost nobody is using them yet, hopefully nobody will notice
2010-06-18 13:07:02 +01:00
Chris Jones
df43e67239
Fix pasting so we always use our own paste method rather than VTE's so pasting with the keyboard shortcut works in groups
2010-06-17 14:08:54 +01:00
Chris Jones
5b5739df0e
Add some more debugging to layout creation
2010-06-15 15:19:05 +01:00
Chris Jones
a30ae88e2b
Add a plugin that allows one to watch a terminal for activity
2010-06-15 14:59:27 +01:00
Chris Jones
6cdd57c67c
This is an ugly, ugly method to be adding, but it's probably necessary, sadly
2010-06-15 14:54:43 +01:00
Chris Jones
e753470633
We should destroy the gerr dialog in the context it exists in
2010-06-15 14:54:24 +01:00
Chris Jones
6dce92b1a0
Make pylint happier with plugins
2010-06-10 16:56:17 +01:00
Chris Jones
ff9763cf2b
Make pylint happy and simplify the handling of the savefile dialog
2010-06-10 16:53:53 +01:00
Chris Jones
44f99c7738
Remove an unused demo/test plugin
2010-06-10 16:53:23 +01:00
Chris Jones
3c0d7bd566
Fix cancellation of Terminalshot dialog
2010-06-10 14:51:24 +01:00
Chris Jones
6229de7387
Add a plugin that saves screenshots of individual terminals
2010-06-10 13:52:36 +01:00
Peter Bjørn Jørgensen
4a01a4ea5b
Merged with trunk
2010-06-04 00:16:42 +02:00
Chris Jones
cdf5f9f14e
Improve label used to describe titlebar foreground colour. Closes LP #576279
2010-06-03 22:54:22 +01:00
Chris Jones
3018ebee21
Drop an avoidable incompatibility with python 2.4. Closes LP #589200
2010-06-03 16:37:58 +01:00
Chris Jones
f2c62067c1
Handle creation of multiple tabs in a layout. Closes LP #583041
2010-05-25 20:08:20 +02:00
Peter Bjørn Jørgensen
2ef3964b39
Merged with trunk
2010-05-17 22:50:03 +02:00
Peter Bjørn Jørgensen
e67c092600
Merged with trunk
2010-05-15 20:21:21 +02:00
Peter Bjørn Jørgensen
b956c0ede3
Implemented the show/hide feature
...
added the following options to make terminator
able to behave like a drop-down terminal:
hide from taskbar
always on top
hide on lose focus (experimental)
sticky (Show on all workspaces)
2010-05-15 20:07:07 +02:00
Chris Jones
3aba98dade
Don't override the default profile when deleting that profile, and don't explode if a profile goes away
2010-05-15 16:00:09 +02:00
Chris Jones
c64d71b809
Restore the command line -p option to specify a particular profile. This is then enforced as the default for new terminals
2010-05-15 15:51:20 +02:00
Chris Jones
622604d9b5
Appease the folks who demand totally hidden titlebars, by making the titlebars able to totally hide. This does not yet fully address the issue of showing group membership and/or event transmission/reception state while grouped without losing a line of terminal to forced titlebar display. That can come later if it is reasonably possible
2010-05-15 15:30:13 +02:00
Chris Jones
4184acef3c
Add a fixme
2010-05-15 14:18:22 +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
4fca314259
Note the deprecation of Terminal::get_cursor_position
2010-05-05 09:46:09 +01:00
Chris Jones
785ed8b591
Apply modified patch from Juan Manuel Santos to improve the directional navigation by not relying on bogus assumptions about the behaviour of get_cusor_position
2010-05-05 09:44:55 +01:00
Chris Jones
70ab3b0f71
Store terminal titles in layouts
2010-04-22 23:14:03 +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
5eba5c7751
Actually set a profile if it's specified in a layout
2010-04-20 12:30:43 +01:00
Chris Jones
dfaaec5458
Store a Terminal's group in a layout, if it has one. Restore it too. Closes LP #566925
2010-04-19 23:41:54 +01:00
Chris Jones
682f0bd3f7
Apply some policy to the original cwd we inherit - if it's / then our parent process is probably some kind of app launcher, so we'll try to be helpful and make our cwd be ~
2010-04-18 09:49:32 +01:00
Chris Jones
b24425f1d3
Release actions for 0.93
2010-04-15 21:15:02 +01:00
Chris Jones
6a5f3381a7
Block tab creation while zoomed. Closes LP #563911
2010-04-15 20:32:25 +01:00
Chris Jones
9a90d48137
Wrap our dbg/err prints in an exception handler, since std.stderr is unfunctional in certain circumstances. Closes LP #562490
2010-04-15 12:59:19 +01:00
Chris Jones
291f4d6ff2
Set the GtkCellRendererAccel used to represent keybindings into its OTHER mode so it handles Ctrl-Tab. I don't fully understand the implications of this, but in testing it seems to work. Closes LP #561710
2010-04-15 12:49:01 +01:00
Chris Jones
4b6724c8a4
Make the palette selection handle custom palettes better and ignore case when matching colourschemes
2010-04-15 12:31:49 +01:00
Chris Jones
a9707f4bbf
Handle custom colourschemes better
2010-04-15 12:22:54 +01:00
Chris Jones
4f6235bc5e
Thanks to some #pygtk folks we now have a way out of the ridiculous 16bit colour values that Gtk+ gives us from the ColorPicker widget. Now we get the 8bit values that everyone is used to
2010-04-13 23:17:52 +01:00
Chris Jones
5ac45778d5
Relax the checking of navigability slightly, to handle the case where handle_size=0. Closes LP #562039
2010-04-13 12:55:10 +01:00
Chris Jones
f05986fe72
Update the configuration when text entries change, not when they're activated
2010-04-13 12:52:16 +01:00
Chris Jones
909d424911
Remove duplicate alternate_screen_scroll
2010-04-13 12:31:37 +01:00
Chris Jones
da8df9daa2
seriously, pygtk does some weird things. Make the url handler even more defensive about which scheme it chooses. Closes LP #554571
2010-04-12 22:45:45 +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
4b1b58544e
gtk.Widget.has_focus() is too new, look for gtk.HAS_FOCUS in flags() instead
2010-04-11 00:54:07 +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
71e6acd6e4
Prevent splitting while a terminal is maximised/zoomed. Closes LP #558330
2010-04-09 12:38:33 +01:00
Chris Jones
29015d7969
Apply slightly modified patch from Kees Cook which allows configuration of VTE's alternate screen scrolling. Closes LP #558832
2010-04-09 12:34:05 +01:00
Chris Jones
5c43b371e9
Handle on_hide_window() being called with no data. It may actually always be called that way
2010-04-09 12:30:47 +01:00
Chris Jones
f9352625c4
Tidy up handle size handling a little, but it is still insufficient, albeit not regressive
2010-04-07 22:23:31 +01:00
Chris Jones
09e8f37cb2
Administrivia for 0.92
2010-04-07 21:58:51 +01:00
Chris Jones
b3e1f3750b
Handle older gtk versions that lack gtk.show_uri(), making them use xdg-open with a fallback to webbrowser.open(). Closes LP#554571
2010-04-07 12:27:39 +01:00
Chris Jones
240d81c5cd
Add another layer of protection against weird things making us set a stupid geometry hint that stops us from being able to resize smaller
2010-04-07 12:17:11 +01:00
Chris Jones
cf8cf9a506
Take the easy way out of fixing geometry hinting to work with Notebooks - cowardly refuse to do it.
2010-04-07 12:14:31 +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
182a0971bb
Switch the default to a palette more like 0.14 had
2010-04-06 22:55:40 +01:00
Chris Jones
87283a927a
Hook up the palette options in Preferences
2010-04-06 22:36:09 +01:00
Chris Jones
fd8bc65654
remove enable_real_transparency setting and instead attempt to determine it based on the actual capabilities of the current display
2010-04-06 21:11:11 +01:00
Chris Jones
dec2e53cbb
Even if we have an RGBA colourmap, we don't really want one unless we have compositing going on
2010-04-06 20:51:29 +01:00
Chris Jones
ebb262834a
Don't store color_scheme in the config file in addition to storing foreground/background colours. We can use those to infer which scheme is in use easily enough
2010-04-06 12:36:45 +01:00
Chris Jones
2b7d22be00
Pick what should be a slightly more reasonable default palette
2010-04-06 12:24:33 +01:00
Chris Jones
23dd4e0b2a
Attempt to use the VTE API more correctly, working around a python bindings bug in vte 0.24
2010-04-05 23:28:03 +01:00
Chris Jones
21885c424f
Don't spit out multiple identical errors when failing to open a config file
2010-04-05 23:06:30 +01:00
Chris Jones
13a140da7d
Switch from using deskbar's key binding interface to python-keybinder which is essentially the same code, but as a standalone module, thus reducing the (albeit soft) dependencies
2010-04-02 17:06:39 +01:00
Chris Jones
0e5e66cce0
We can't ask windows to be less than 1x1
2010-04-02 17:04:54 +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
6a2d75c33c
Merge (with minor modifications) some fixes for safety wrt font names and rounding background darkness values
2010-04-02 15:04:44 +01:00
Andrew Felske
c77a23a032
Remove TODO for previous commit.
2010-04-02 01:46:46 +00:00
Andrew Felske
7768db9081
Make sure system font name isn't None before trying to set it. Also round the background darkness float value to two decimal places.
2010-04-02 01:21:18 +00: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
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
Chris Jones
5cad06295e
Make the prefs editor not explode on cycle_*
2010-01-19 11:22:51 +00:00
Chris Jones
df6a370bf3
This is a very subtle bug, Multiple exception catches need to be a tuple. We were previously creating an exception object *called* NameError when we caught a KeyError
2010-01-19 11:14:01 +00:00
Chris Jones
abe9b24518
Implement titlebar colours
2010-01-18 23:27:22 +00:00
Chris Jones
bdbe359767
Restore -e and -x support
2010-01-18 22:56:43 +00:00
Chris Jones
e6ad61831d
Remove unnecessary print statements
2010-01-18 20:40:52 +00:00
Chris Jones
3f214bf686
Restore ctrl-tab/ctrl-shit-tab
2010-01-18 20:39:46 +00:00
Chris Jones
7d08d790e2
port Terminal to use Signalman
2010-01-18 19:48:24 +00:00
Chris Jones
f17fab0610
Slightly improve docstrings
2010-01-18 13:23:50 +00:00
Chris Jones
f015aaebf4
Move test-only files into tests/
2010-01-18 13:21:03 +00:00
Chris Jones
8ad7ac07b1
Create a new class Signalman which is used to track the glib signals on a widget since at least two of our classes were doing this themselves. Also integrated it into one of those classes, Container() where it is only used by VPaned and HPaned. Also add doctests for it
2010-01-18 13:17:35 +00:00
Chris Jones
8c7218121f
get and set palette values
2010-01-15 23:32:38 +00:00
Chris Jones
0e01618dfa
isdir is in os.path, not os
2010-01-15 23:32:16 +00:00
Chris Jones
3917ea568b
Add tiny test coverage for util.py
2010-01-14 23:48:15 +00:00
Chris Jones
32a3933b6c
Add some basic test coverage of factory.py
2010-01-14 23:40:02 +00:00
Chris Jones
9d5d9a286c
Add another possible exception to the tomboy keybinding
2010-01-14 23:39:49 +00:00
Chris Jones
aec2dd5add
Add minimal, feeble tests for cwd.py
2010-01-14 23:33:06 +00:00
Chris Jones
62d5672a88
Extent Config test coverage, and make del_profile() more robust
2010-01-14 23:29:47 +00:00
Chris Jones
fb0beb42f3
Split out borg doctests and test classes so they work properly with trial
2010-01-14 23:03:47 +00:00
Chris Jones
375d272ee8
make the config directory if it doesn't exist, and don't explode if we can't write it
2010-01-14 22:58:41 +00:00
Chris Jones
8f88537bc5
obvious stupid reason why the email URL matching wasn't working. excess whitespace
2010-01-14 13:52:48 +00:00
Chris Jones
4d216633fc
-d now automatically infers the Class::method in dbg(), and -d additionally adds a trailing (filename:line) item. debugserver is now moved to -ddd
2010-01-14 13:15:05 +00:00
Chris Jones
1bcbe94e6a
Fix confusion around focus and scrollbar position settings not being consistent
2010-01-13 23:13:19 +00:00
Chris Jones
df7a3b978d
The titlebar is no longer optional, it probably never should have been, it's just too complicated
2010-01-13 23:06:42 +00:00
Chris Jones
02c1a482df
Add a get_profile() to Config and use it in Terminal::set_profile() to make sure we don't set a profile that already is
2010-01-13 23:02:17 +00:00
Chris Jones
f808a9edc9
set_active triggers the 'activate' signal, which makes sense I suppose, but means we were changing profile to the profile we already were set to, which is a waste
2010-01-13 23:00:42 +00:00
Chris Jones
606ca3707b
Extend previous commit to cover the titlebar itself, which previously would suffer subtle focus failures
2010-01-12 01:05:53 +00:00
Chris Jones
8276a6de77
Fix silly focus issue when creating groups - terminals were instantly stealing focus and cancelling the group name creation
2010-01-12 00:58:50 +00:00
Chris Jones
c257a3abff
remove old file
2010-01-12 00:49:44 +00:00
Chris Jones
8846328137
scrollbar toggling is now significantly more useful and consistent
2010-01-12 00:33:55 +00:00
Chris Jones
23f469add3
Fix up handle_size to work properly
2010-01-11 23:46:18 +00:00
Chris Jones
adfaf600fa
Store the command line options in Config rather than overwriting parts of it, and passing them around
2010-01-11 20:56:30 +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
949dc81574
Clear up some import errors found by pyflakes
2010-01-11 20:03:54 +00:00
Chris Jones
75b5cd11cf
Terminator::reconfigure_terminals should just be called reconfigure, and needs to start paying attention to global values
2010-01-11 10:28:47 +00:00
Chris Jones
7a06c86310
spinbutton gives us a float, but we should store an int
2010-01-11 10:10:35 +00:00
Chris Jones
b8aac8874a
Disable DEBUG for now
2010-01-11 10:10:19 +00:00
Chris Jones
5ae299e6da
Make the OK button in the preferences editor reconfigure all live terminals
2010-01-10 23:58:05 +00:00
Chris Jones
295aeed2e2
Unset the previous profile selection if we just removed it
2010-01-10 23:54:51 +00:00
Chris Jones
e5d52fee52
Implement most of Terminal::reconfigure
2010-01-10 23:47:55 +00:00
Chris Jones
c5bd227197
Improve indication of what some debugging is
2010-01-10 23:47:36 +00:00
Chris Jones
976e3124f7
two lines of debugging for each Config() lookup is mad, drop it to one
2010-01-10 23:47:15 +00:00
Chris Jones
27d0a13330
print more useful errors when the config file format is invalid, and update the configspec generator to know that our undefined default keybindings are now '' instead of None
2010-01-10 17:36:55 +00:00
Chris Jones
b7fa984a52
config dependent signal handling should be marshalled by Terminal::reconfigure
2010-01-10 17:35:03 +00:00
Chris Jones
be413d3622
Track a couple of pre-existing connection IDs in Terminal.cnxid
2010-01-10 17:17:31 +00:00
Chris Jones
cc11effd3b
Store a reference to the signal handlers for config-dependent features, so they can be cancelled later
2010-01-10 17:15:14 +00:00
Chris Jones
da7f1a6ea1
renaming the current profile wasn't updating Config.profile with the new value. Now it is.
2010-01-10 00:53:27 +00:00
Chris Jones
371aebc067
Add the keybinding descriptions
2010-01-10 00:35:38 +00:00
Chris Jones
180ccbbf03
Hook up the keybindings tab in the preferences editor. Loads and saves
2010-01-10 00:20:24 +00:00
Chris Jones
2cc76de609
gtkscale insists on getting float values
2010-01-09 22:27:56 +00:00
Chris Jones
2b7be76004
Move our preferences glade file to terminatorlib/ so we can use the built-in knowledge of where that is on-disk to find the .glade file
2010-01-09 17:49:14 +00:00
Chris Jones
80e0926a05
remove some old data, fix up a few defaults that didn't quite match up with reality, and implement the final bits of functionality to make the OK button DTRT
2010-01-09 17:42:59 +00:00
Chris Jones
92e7eb1dff
support adding and removing profiles, and returning their values to Config() when switching between them
2010-01-09 15:51:56 +00:00
Chris Jones
f273c198c9
Finish off the Compatibility tab and the other UI toggles in the profile tabs.
2010-01-09 11:52:30 +00:00
Chris Jones
dd45d51725
fix up all of the profile apart from the palette
2010-01-09 00:47:49 +00:00
Chris Jones
594ee47912
Complete the Terminal Command profile tab. Teach the colour scheme picker how to exist in the config and how to be controlled by the prefs UI
2010-01-08 23:51:45 +00:00
Chris Jones
1924c2f81a
fix up the General profile tab in the prefs editor and hook all of its elements up to code
2010-01-08 08:39:21 +00:00
Chris Jones
c14e955310
profilelist is a list, not a callable object
2010-01-08 01:04:06 +00:00
Chris Jones
4aa1b50fe6
Change the way window state config works. Initial workings of preferences window.
2010-01-08 01:02:49 +00:00
Chris Jones
68ade515eb
Add support for disabling modules and add CustomCommandsMenu and TestPlugin to it
2010-01-06 00:27:58 +00:00
Chris Jones
8c117ff6e9
Tidy custom_commands plugin up and port it to using our shiny new plugin config API
2010-01-05 22:29:02 +00:00
Chris Jones
7328d9aa4f
If plugins have defined extra menu items, insert a spacer before they start
2010-01-05 22:28:14 +00:00
Chris Jones
0b5cf876ba
Move the base plugin classes to plugin.py for cleaner importing in additional plugins
2010-01-05 22:22:13 +00:00
Chris Jones
710b8a4834
Plugins that have never given us config before need a dict created for them before they can set values
2010-01-05 22:15:56 +00:00
Chris Jones
299e4cc5a8
Add plugin config API
2010-01-05 21:44:12 +00:00
Emmanuel Bretelle
08b65f8b2a
plugins:
...
* enable custom command using terminal_menu plugin hook
2010-01-05 18:57:46 +01:00
Chris Jones
266b662923
Support --geometry
2010-01-05 12:58:05 +00:00
Chris Jones
1625326838
Support setting the window role
2010-01-05 12:55:05 +00:00
Chris Jones
fe7e03d00f
Add some old command line options as dummies, and make some command line options influence the config object. This is probably a poor long-term strategy as it means supplying command line options and saving the config will cause the command line options to be baked into the config
2010-01-05 12:51:53 +00:00
Chris Jones
9744f3ebb6
Add keyword arguments to Window.__init__() for command line options
2010-01-05 12:49:57 +00:00
Chris Jones
58fd86486d
Switch to using **kwargs instead of *args for the added flexibility it brings. We need to support keyword arguments for Window.__init__()
2010-01-05 12:49:04 +00:00
Elliot Murphy
7beb3bf424
Hook up doctests so they are discoverable via trial:
...
trial terminatorlib
2010-01-04 23:47:51 -05:00
Chris Jones
91830e22df
Move configobj into its own subdirectory, since its a separate upstream product
2010-01-05 00:03:16 +00:00
Chris Jones
b4370235b5
We don't use this anymore
2010-01-05 00:00:47 +00:00
Chris Jones
dbe683e259
hey look it's 2010 already
2010-01-04 23:56:28 +00:00
Chris Jones
ba63f8fc2b
Merge old terminator option parsing into a new file that parses command line arguments and includes them in the loaded config
2010-01-04 23:52:39 +00:00
Chris Jones
723dfef697
Bump the version number to signify the progress of this branch
2010-01-04 23:51:55 +00:00
Chris Jones
42e022a938
Make the factory uglier, but better able to handle not running from inside the library, and make the plugins import from the library. These changes make it possible to run epicrefactor from outside itself, which is necessary to make the top level terminator script work with it
2010-01-04 13:46:55 +00:00
Chris Jones
df9abd4523
Move the test.py launcher to the top level to start shaking out namespace bugs
2010-01-04 13:24:45 +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
293beb2331
our test starter can get away with only depending on Factory now
2010-01-04 13:05:58 +00:00
Chris Jones
6d1831824a
Add a policy that if we have no open windows we should quit
2010-01-04 13:05:28 +00:00
Chris Jones
995aa99b2e
Teach Factory how to make a Window, and have it register terminals windows automagically
2010-01-04 13:04:46 +00:00
Chris Jones
26f0b2be69
Rename the Profile editor to a general preferences editor and only show a choice of profiles if there's more than one
2010-01-03 17:53:25 +00:00
Chris Jones
6058727cdb
Port RainCT's LP Code URL handler to a plugin
2010-01-02 01:40:26 +00:00
Chris Jones
8141a3496d
call sys.exit() with doctest failure results
2009-12-30 11:26:22 +00:00
Chris Jones
a13581a4c8
Handle exceptions in a way that doesn't make python 2.5 really angry
2009-12-30 01:50:47 +00:00
Chris Jones
714425dfbe
Fix apturl handler name and rename LaunchpadURLHandler to LaunchpadBugURLHandler since we are likely to grow a handler for code URLs
2009-12-30 01:50:18 +00:00
Chris Jones
4cfc1c6fd2
Improve debugging relating to URL mangler plugins
2009-12-30 01:05:51 +00:00
Chris Jones
1e187b0333
make the configspec debug output named better
2009-12-29 01:37:32 +00:00
Chris Jones
98015093d8
Add a test to make sure that we correctly load boolean types as python bools
2009-12-28 22:16:47 +00:00
Chris Jones
dc9ae3363d
Add ConfigObj's validate.py and construct a config specification and use it to validate the configuration. Most crucially this causes ConfigObj to know about the correct types it should be converting the different entries into
2009-12-28 22:06:23 +00:00
Chris Jones
f690cd6e5f
Get ProfileEditor to the barest state of functionality possible
2009-12-27 02:32:16 +00:00
Chris Jones
4c025273c9
rename and import the profile editor
2009-12-27 01:01:34 +00:00
Chris Jones
896bd1af35
Start the epic refactor of the profile editor
2009-12-27 00:59:44 +00:00
Chris Jones
945a547344
pluralise
2009-12-27 00:59:29 +00:00
Chris Jones
ee81bd4f76
Make the terminal context menu list available profiles and switch between them
2009-12-26 20:09:16 +00:00
Chris Jones
2a56e328ac
Add methods to Config to list and delete profiles
2009-12-26 19:52:58 +00:00
Chris Jones
f09e9947cd
Make the config loading and saving significantly more functional, but also horrifyingly complex, with very little error handling
2009-12-26 19:43:01 +00:00
Chris Jones
825abbb658
Flesh out Config.load() so it actually loads a config
2009-12-26 13:39:14 +00:00
Chris Jones
5bd1b3f9af
Make sure ConfigBase() only uses a copy of DEFAULTS so we never change DEFAULTS, allowing us to add dict_diff() so we can avoid including things in the config file that aren't default
2009-12-26 01:19:42 +00:00
Chris Jones
71fcada828
add a fixme
2009-12-25 21:42:57 +00:00
Chris Jones
07f7906f86
Don't write to stdout, write to a config file, but one with a different name for now
2009-12-25 21:25:31 +00:00
Chris Jones
f91d76e9b4
Add ConfigObj 4.6.0 from http://www.voidspace.org.uk/python/configobj.html . Add a really simple implementation of config saving
2009-12-25 21:22:04 +00:00
Chris Jones
60a1b085b4
Add a utility function for finding ~/.config/terminator and use it in PLuginRegistry to load plugins from the user's homedir
2009-12-24 21:35:07 +00:00
Chris Jones
0a67d73592
Extend the url_handler plugins to include apt: support
2009-12-23 17:30:26 +00:00
Chris Jones
df317bd2cd
mildly change the debugging output of objects, and handle ^C a little better
2009-12-23 16:40:54 +00:00
Chris Jones
f33dc6f28a
Expand Config() test coverage a little
2009-12-23 10:09:53 +00:00
Chris Jones
8068ef656f
extend testing, make ConfigBase settable, drop ConfigBase derivation from dict
2009-12-23 00:10:57 +00:00
Chris Jones
8d3158c152
Make ConfigBase() do some debugging. Hugely verbose, but potentially very useful for now
2009-12-22 00:32:21 +00:00
Chris Jones
9ce380ef90
port to new borg __init__()
2009-12-22 00:25:25 +00:00
Chris Jones
89425256ec
port to new borg __init__()
2009-12-22 00:25:17 +00:00
Chris Jones
2c8e2d14e4
port to new borg __init__()
2009-12-22 00:25:05 +00:00
Chris Jones
4a96bf99d4
add some test coverate, split the defaults into sections and move the borg element to a new base object, converting it to use the new borg __init__ syntax.
2009-12-22 00:24:53 +00:00
Chris Jones
90c8b7e8c5
extend test coverage to ensure borg state is unique between borg types. add some debugging info and support the ability to have multiple borg classes via an ugly parameter to __init__()
2009-12-22 00:24:03 +00:00
Chris Jones
a6a1acd26d
Clear up the position re licencing of the two external sources of code in our refactoring
2009-12-19 15:07:22 +00:00
Chris Jones
0b5ac38793
Hand merge in from trunk
2009-12-19 02:08:35 +00:00
Chris Jones
48e8637ca5
Add a FIXME
2009-12-18 09:24:23 +00:00
Chris Jones
fe22a9cf47
Integrate the plugin system into the context menus for Terminal
2009-12-18 00:45:08 +00:00
Chris Jones
5dc643a3b2
Add some docstrings
2009-12-17 23:30:12 +00:00
Chris Jones
30f5225884
Add crashproof code for adding URL handlers from plugins, and reacting to them
2009-12-17 23:17:32 +00:00
Chris Jones
b84f593404
port over launchpad specific URL handling from Terminal
2009-12-17 23:17:03 +00:00
Chris Jones
603da6ec16
Since PluginRegistry is a borg we can easily track if we have been loaded before and if so, not load plugins again.
2009-12-17 23:16:42 +00:00
Chris Jones
01bb454d90
stop (ab)using __subclasses__ isntead interrogating the imported plugin modules for a predefined list of the plugin classes they contain, and always instantiate them when they are imported. Add a test plugin only useful for doctest
2009-12-17 13:51:55 +00:00
Chris Jones
9029e519f9
add a test plugin
2009-12-17 12:54:47 +00:00
Chris Jones
6088084fdf
handle import failures and add some very borked doctesting
2009-12-17 12:54:42 +00:00
Chris Jones
209c37aa34
ridiculously simple and non-functional plugin
2009-12-17 01:09:13 +00:00
Chris Jones
2660d0795f
Add a first run at a plugin system
2009-12-17 01:07:01 +00:00
Chris Jones
ecdbe15420
Add some fixmes for things I know are currently broken, and improve a couple of logging messages
2009-12-16 09:15:53 +00:00
Chris Jones
fabc62ba99
who knows, we might even stick to a testing regime this time
2009-12-11 14:43:19 +00:00
Chris Jones
88cd14ac64
Remove a couple of stale FIXMEs
2009-12-11 14:25:38 +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
f10f43fa8a
pylint
2009-12-10 11:52:26 +00:00
Chris Jones
33e6254ad2
pylint
2009-12-10 11:37:53 +00:00
Chris Jones
dfe85f1e9b
pylint quiescing
2009-12-10 11:36:46 +00:00
Chris Jones
0d319e8a57
Improve pylint.sh to be much less noisy and annoying
2009-12-09 13:32:35 +00:00
Chris Jones
c31758179e
pylint fixes
2009-12-09 13:22:34 +00:00
Chris Jones
7ed5a573d5
at the suggestion of pylint, refactor Factory::isinstance() to be more succinct
2009-12-09 13:22:27 +00:00
Chris Jones
a432d10d24
Add a quick debugging entry
2009-12-09 13:02:45 +00:00
Chris Jones
67b79ff1da
There's no reason anymore to special-case notebook here
2009-12-09 13:02:31 +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
7b24823fd6
Fix a stupid typo
2009-12-09 13:01:41 +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
ced0e4f3f5
And make pylint happy about it
2009-11-30 09:52:38 +00:00
Chris Jones
595a3a02e5
Might as well do this for all errors
2009-11-30 09:51:34 +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
0447c8f6f2
quiesce pylint
2009-11-24 23:49:03 +00:00
Chris Jones
f8ab3d8308
remove testing
2009-11-24 23:47:44 +00:00
Chris Jones
2dd44ddc8a
Add an object factory to get us out of our dependency hell
2009-11-24 23:47:32 +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
Chris Jones
8842d3ecf6
Add a FIXME note for later
2009-11-21 21:53:01 -06:00
Chris Jones
ded962d651
introduce global keybindings, force real transparency, handle window closing with the confirmation dialog
2009-11-21 12:47:38 -06:00
Chris Jones
cdf7d37e5a
we hate the buggy past and love the futur. assume rgba is win for everyone
2009-11-21 12:19:01 -06:00
Chris Jones
5e104972a7
Fix keybinding for closing ourself
2009-11-21 12:11:50 -06:00
Chris Jones
db3ac95171
introduce the dialog to confirm closing something
2009-11-21 12:09:47 -06:00
Chris Jones
c5711cbe15
get_top_window moved to util
2009-11-20 16:53:06 -06:00
Chris Jones
0deda2434d
pylint fixes
2009-11-20 16:52:39 -06:00
Chris Jones
ac1a58e8b3
Always a good idea to call your new function
2009-11-20 16:52:26 -06:00
Chris Jones
025c5d3dd1
Fix up config.py slightly to make pylint happier
2009-11-20 16:46:50 -06:00
Chris Jones
279ebf55d6
use the paned hoovering function introduced in revision 910
2009-11-20 09:31:07 -06:00