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 |
|