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
Chris Jones
1db6a242b1
add a sanity check function. This probably shouldn't exist, but is useful right now
2009-11-20 09:30:50 -06:00
Chris Jones
aa531014ef
improve debugging and ensure that we can't register terminals/windows multiple times
2009-11-20 09:30:28 -06:00
Chris Jones
39098fdefb
Add functions for emitting events
2009-11-20 00:18:21 -06:00
Chris Jones
a51454e9f6
make the broadcast menu items activate correctly
2009-11-20 00:11:12 -06:00
Chris Jones
7a3f553d82
If there are no more Terminals, destroy all Windows
2009-11-19 23:45:33 -06:00
Chris Jones
efbeffb060
Always return focus to the VTE widget after playing with group names
2009-11-19 23:42:49 -06:00
Chris Jones
0ff5aa3159
Tidy up some debugging and fix group hoovering
2009-11-19 23:40:31 -06:00
Chris Jones
132daeb447
Fix up some handling of unzooming and closing terminals while zoomed
2009-11-19 23:16:20 -06:00
Chris Jones
7d9575df5f
Make drag and drop of terminals work
2009-11-16 22:56:55 -06:00
Chris Jones
ec1c20540a
switch to new window registration logic
2009-11-16 21:58:12 -06:00
Chris Jones
c48c1d4fd6
fix up debugging statements
2009-11-14 23:12:58 +00:00
Chris Jones
3591aec862
Add very simple ability to register de-register window widgets
2009-11-14 23:12:38 +00:00
Chris Jones
22dccb6728
make focus always switch to the most relevant terminal
2009-11-14 23:04:15 +00:00
Chris Jones
bf77106529
switch to using new Container methods for handling child signals.
2009-11-14 22:58:42 +00:00
Chris Jones
0f7a9aa40b
Improve some error message and switch to using new Container methods for handling child signals.
2009-11-14 22:58:22 +00:00
Chris Jones
29d661b26a
self.signals shouldn't be a class variable. add helper functions to connect child widget signals and disconnect them.
2009-11-14 22:57:35 +00:00
Chris Jones
6e0718c829
make zooming and unzooming work
2009-11-14 18:56:50 +00:00
Chris Jones
e93a95162d
Add a menu item to restore zoomed/maximised layouts
2009-11-14 18:56:34 +00:00
Chris Jones
4ee756b5ec
fix up zoom signal, add an unzoom signal. generally make zooming work
2009-11-14 18:55:51 +00:00
Chris Jones
6f93a51b5f
fix stupid bug that registered all Paned widgets as HPaned ones. Fix ordering of adding children so things are never de-parented. Hook up terminal zooming signals.
2009-11-14 18:55:07 +00:00
Chris Jones
0190f2dea9
make signal registration more robust, and add a function to walk up the widget tree to find the top-level Window object
2009-11-14 18:54:12 +00:00
Chris Jones
e5301362e4
tidy up some pylint issues
2009-11-14 17:30:03 +00:00
Chris Jones
095ba4dbe3
decouple a little more
2009-11-09 22:35:55 +00:00
Chris Jones
4284cf67ee
Start making some navigation work
2009-11-09 22:33:17 +00:00
Chris Jones
5dd6ae0154
improve container signal registration function to never double-register. add a fake resize-term signal to Paned for nested terminal resizes. Implement terminal resizing.
2009-11-08 23:06:26 +00:00
Chris Jones
5352731984
make paneds be splittable, set their initial position properly and don't call reconfigure() all the time
2009-11-08 01:06:31 +00:00
Chris Jones
6b4c660cbc
Start implementing our Paned container and switch to it
2009-11-07 01:40:43 +00:00
Chris Jones
c60aae8bed
make closing of group terminals work
2009-11-04 23:42:54 +00:00
Chris Jones
830863d711
more group work
2009-11-04 23:28:09 +00:00
Chris Jones
55c79f56d5
remove some cruft and replace the hacky backwards search with a more correct one. There are still some issues though
2009-11-04 20:41:01 +00:00
Chris Jones
8d19561f85
fix up Terminal some more and make the searching work, and include a hacky backwards search
2009-11-04 18:06:34 +00:00
Chris Jones
565257672a
fix terminal spawning and font zooming
2009-10-28 23:07:42 +00:00
Chris Jones
6f2fd988b4
Fix keybinding dispatch in Terminal and add handler functions for all of the keybindings, but basically every single one is broken right now
2009-10-28 12:53:18 +00:00
Chris Jones
ede7fc7552
Fix bogus child spawning. realize happens more than you might hope.
2009-10-27 23:23:59 +00:00
Chris Jones
ef1e82e5b0
Fix titlebar drag starting
...
Remove useless resize-window handler
Implement the Terminal() end of group creation
Finish drag and drop handling
Implement methods relating to focus changes
Fill out a few method docstrings
2009-10-27 23:05:12 +00:00
Chris Jones
f7d0d957cd
Add function to snapshot a widget and its children as a pixbuf
2009-10-27 21:03:11 +00:00
Chris Jones
0ef7c99022
remove an unused variable
2009-10-26 13:36:34 +00:00
Chris Jones
e2086578bb
Group creation is now presented via the titlebar, but still doesn't actually have any backending in functional reality yet.
2009-10-15 14:17:37 +01:00
Chris Jones
667d31e394
Drop all our URL madness and make it pygtk's problem. Requires pygtk >=2.14
2009-10-15 12:57:50 +01:00
Chris Jones
7970033368
Add an important FIXME
2009-10-15 12:54:16 +01:00
Chris Jones
cd1d858d3c
Start making keybindings work in Terminal(). They don't work yet
2009-10-14 13:05:07 +01:00
Chris Jones
fdcd1c89f9
Add signals for when we want to be zoomed or maximised
2009-10-12 22:05:19 +01:00
Chris Jones
b43695b23d
Flesh out the borg a little
2009-10-09 12:25:06 +01:00
Chris Jones
c1c81d3a91
pylint fixes
2009-10-09 00:30:03 +01:00
Chris Jones
7605957efa
pylint fix
2009-10-09 00:24:58 +01:00
Chris Jones
49f374e3b2
hook up focus changes to Terminator so it can update all the titlebars
2009-10-09 00:22:01 +01:00
Chris Jones
9d6b961fc3
undo an indenting fail
2009-10-08 21:29:45 +01:00
Chris Jones
3d78428aae
now make the encoding submenu work
2009-10-08 21:27:00 +01:00
Chris Jones
f0d7f2a9ca
refactor the popup menu out because it's so annoyingly long
2009-10-08 20:27:49 +01:00
Chris Jones
d9e9cf364a
ditch extreme_tabs, it's a terrible feature. Flesh out the terminal context menu some more, including figuring out how we will track whether a window is in a zoomed state - gobject properties
2009-10-07 00:08:13 +01:00
Chris Jones
209caf3745
start some basic splitting in Window() and try to be slightly smarter about handling the terminal's signals
2009-10-05 22:16:28 +01:00
Chris Jones
414e7f0731
Add a mechanism to de-register a Terminal() that's being destroyed
2009-10-05 22:15:22 +01:00
Chris Jones
7ea1e18f20
Tiny cleanup
2009-10-01 22:15:50 +01:00
Chris Jones
2aae5da8f1
lose a function to re-emit a signal, and an unnecessary invocation thereof
2009-09-06 23:53:48 +01:00
Chris Jones
a31c0ef411
If something isn't used outside one function, don't make it be a class variable
2009-09-06 23:53:21 +01:00
Chris Jones
d5ff98211c
Swap out some noop code for pylint suppression
2009-09-06 23:52:58 +01:00
Chris Jones
1d2e96ac72
tidy up some more lambdas, pylint errors and start fleshing out the context menu
2009-09-06 22:55:37 +01:00
Chris Jones
0912fb8aae
fix up a pylint error and migrate some pure functions from terminal.py
2009-09-06 22:54:52 +01:00
Chris Jones
690bb61788
add a signal for ungrouping all terminals, and tidy up some lambdas
2009-09-06 21:54:33 +01:00
Chris Jones
5e54d42eca
work on grouping/ungrouping of all terminals in a tab
2009-09-05 00:34:09 +01:00
Chris Jones
bb073887fc
hook up the terminal enumeration menu items
2009-09-04 22:48:35 +01:00
Chris Jones
2a65918209
Fix some typos and flesh out the group menu
2009-09-04 22:12:13 +01:00
Chris Jones
28e7ee6116
Add some more of our attributes
2009-09-04 22:11:52 +01:00
Chris Jones
718a15706f
handle URLs
2009-09-04 20:12:35 +01:00
Chris Jones
b58a7224aa
handle the window closing properly
2009-09-04 20:12:04 +01:00
Chris Jones
09a6913d98
Flesh out the Terminal button handler and some associated functions
2009-09-03 14:47:14 +01:00
Chris Jones
c40c360c20
no reason for the groupsend types to be global
2009-09-03 13:59:17 +01:00
Chris Jones
1e4af9883b
keep pylint a little happier
2009-09-03 10:34:31 +01:00
Chris Jones
799d508708
Make _entry_handler_id not be a static class attribute because it doesn't need to be
2009-09-03 09:03:37 +01:00
Chris Jones
9bac025795
Add support for grabbing focus after a label is edited and the rudimentary basics of the group popup menu
2009-09-03 00:52:36 +01:00
Chris Jones
846e0c0fff
Emit a signal when editing is done
2009-09-03 00:51:46 +01:00
Chris Jones
bf20587edc
decouple Terminal from Terminator, and add the minimum necessary group icon handling
2009-09-02 23:17:54 +01:00
Chris Jones
0f5cf7c496
remove titletips, it's a terrible option
2009-09-02 23:17:08 +01:00
Chris Jones
d007bc45c5
bare minimum titlebar functionality
2009-09-02 22:38:27 +01:00
Chris Jones
9f7834fb5b
simplify title changes
2009-09-02 21:18:36 +01:00
Chris Jones
f00c265f4c
Make the window title update with the terminal title
2009-09-02 21:10:28 +01:00
Chris Jones
187484271c
clean up EditableLabel
2009-09-02 20:43:45 +01:00
Chris Jones
9d82f13989
merge in latest changes from trunk
2009-09-02 20:39:25 +01:00
Chris Jones
1d332c915e
Only attempt to set an image if there actually is an image configured. Closes LP #404846
2009-09-02 11:01:30 +01:00
Chris Jones
f136b6d78e
add a stub function to the titlebar
2009-08-28 01:11:13 +01:00
Chris Jones
93d8118c33
add some more add/remove love to Window
2009-08-28 00:20:22 +01:00
Chris Jones
4111a80f7a
reduce debug verbosity a little, add a handler to automagically spawn children. add the correct number of parameters to various signal handlers. flesh out the child spawning codepath
2009-08-19 19:02:33 +01:00
Chris Jones
d17981b581
Add another stub function to the titlebar class
2009-08-19 19:01:11 +01:00
Chris Jones
326bb4fa94
Remove the default_setup function, it's very broken
2009-08-19 19:00:47 +01:00
Chris Jones
428f931bf3
oops, don't show the searchbar by default
2009-08-19 19:00:33 +01:00
Chris Jones
71fff759f1
fix gobject init, add drag&drop functionality, add widget signals and a load of stub functions
2009-08-19 01:06:38 +01:00
Chris Jones
f3d5fa61e4
config is now a borg, so there's no need to pass a reference around. Also fix a config keyerror
2009-08-19 01:06:07 +01:00
Chris Jones
f5ee9d54c5
use the correct gobject init call and add a stub function
2009-08-19 01:05:44 +01:00
Chris Jones
09780a6500
Use the correct gobject init call
2009-08-19 01:05:30 +01:00
Chris Jones
ac7769b556
return the newly created terminal
2009-08-19 01:05:15 +01:00
Chris Jones
96114aa863
now config is borg we don't need to pass handles around
2009-08-19 01:04:53 +01:00
Chris Jones
4d7d734587
Simple bootstrapper, temporary during epic refactor
2009-08-19 01:04:37 +01:00
Brian Murray
48e5a7e6ca
expand launchpad url match to mirror Ubuntu Policy Manual and linkify each bug number
2009-08-18 10:59:06 -07:00
Chris Jones
196dde427b
improve pylint score by disabling tests. winrar \o/
2009-08-18 13:57:35 +01:00
Chris Jones
d6ac973f54
remove some currently unused imports and split up some overly long lines
2009-08-18 13:54:46 +01:00
Chris Jones
0b90e29b16
remove unused import and disable a pointless pylint check
2009-08-18 13:52:02 +01:00
Chris Jones
089b708e2c
shut pylint up
2009-08-18 13:51:09 +01:00
Chris Jones
f0260456c9
we don't need to re-emit the search keypress, all it does is conditionally emit end-search anyway
2009-08-18 13:48:04 +01:00
Chris Jones
5f339da4e1
Use the right class name
2009-08-18 13:47:46 +01:00
Chris Jones
d538b47a50
initial import of a titlebar class
2009-08-18 13:45:57 +01:00
Chris Jones
53f33109b4
start fleshing out Terminal
2009-08-18 13:44:41 +01:00
Chris Jones
1fdd357058
switch to new style translation import
2009-08-18 13:44:16 +01:00
Chris Jones
a5cccbe757
refactor this to not use gettext's __builtin__ hack
2009-08-18 13:43:39 +01:00
Chris Jones
d6d3192d82
refactoring out of the search bar into its own class
2009-08-18 13:43:18 +01:00
Chris Jones
65767693df
It always helps to return the thing you're called for
2009-08-18 12:59:06 +01:00
Chris Jones
1cb1f166cf
fix a typo
2009-08-18 12:55:52 +01:00
Chris Jones
1e12ece0ea
tidy up the imports, move the graphical error to a generic gerr() function in util.py and add a function for injecting URL regexps
2009-08-18 12:55:37 +01:00
Chris Jones
28a5b963f0
Remove static config object
2009-08-18 12:52:30 +01:00
Chris Jones
ad372bbdcd
Make a generic graphical error function
2009-08-18 12:52:06 +01:00
Chris Jones
1f156248ee
Refactor the config. For now it's defaults only
2009-08-18 12:46:41 +01:00
Chris Jones
d00e2fe9dd
reformat slightly so we get a pylint 10
2009-08-18 12:35:06 +01:00
Emmanuel Bretelle
cdbed05293
...actually adding the class...
2009-08-14 20:30:00 +02:00
Emmanuel Bretelle
51ff0bcb41
Create an EditableLabel class
...
* make TerminatorNotebookTabLabel use it
* reuse it in TerminatorTermTitle
2009-08-14 20:15:32 +02:00
Chris Jones
4150249f87
refactor some cwd code and start setting some vte attributes
2009-08-11 23:48:19 +01:00
Chris Jones
f110bca103
migrate cwd getting function
2009-08-11 23:36:37 +01:00
Chris Jones
7547eaad4b
appease pylint and begin the terminal class
2009-08-11 23:27:56 +01:00
Chris Jones
92fe7007ed
add pylint script for laziness
2009-08-11 23:26:18 +01:00
Chris Jones
c2891b26c7
appease pylint
2009-08-11 23:23:34 +01:00
Chris Jones
fe37448440
switch from a singleton to a borg, and don't do circular imports
2009-08-11 23:19:06 +01:00
Chris Jones
0dd4ec66bf
clear some migrated code from terminator.py
2009-08-11 00:42:39 +01:00
Chris Jones
eb99ed2c92
remove unnecessary dependencies, appease pylint some more
2009-08-11 00:22:55 +01:00
Chris Jones
0953fca37b
move the instance creation to after definition, remove dependency on window.py
2009-08-11 00:20:00 +01:00
Chris Jones
d81de4569c
Initial import of new Terminator class
2009-08-11 00:15:40 +01:00
Chris Jones
b3635d2912
Prepare for the new Terminator class
2009-08-11 00:15:31 +01:00
Chris Jones
49510266ed
Migrate window icon setting
2009-08-10 23:09:49 +01:00
Chris Jones
0f702e32b6
Migrate WindowTitle class
2009-08-10 23:04:39 +01:00
Chris Jones
70173e6978
remove unnecessary import and default to debugging for now
2009-08-10 00:11:31 +01:00
Chris Jones
dee9745d99
improve pylint compliance of util
2009-08-10 00:10:08 +01:00
Chris Jones
034e264fe5
add some docstrings, fix the hide_window handling even more, and generally quiesce pylint
2009-08-10 00:07:40 +01:00
Chris Jones
1ab776bcb8
remove the unnecessary __main__ code
2009-08-09 23:56:08 +01:00
Chris Jones
adb1c2a1f8
raise the correct exception if methods are called from the base class that must be overridden by subclasses. Remove unnecessary dependencies and achieve 10/10 from pylint
2009-08-09 23:54:14 +01:00
Chris Jones
598eededd2
Implement equivalent functionality as previous iterations wrt handling the availability of the hide_window keybinding
2009-08-09 23:25:53 +01:00
Chris Jones
3df46d1d85
attempt to dodge gobject's inability to do multiple inheritance
2009-08-09 22:00:43 +01:00
Chris Jones
ea767f4164
migrate many more methods
2009-08-09 18:48:06 +01:00
Chris Jones
5d1ea593d8
migrate dbg,err to util.py
2009-08-08 01:22:31 +01:00
Chris Jones
b15a78fdea
import the name and version into the library root
2009-08-08 01:00:58 +01:00
Chris Jones
8700c9456f
migrate window class to its own file
2009-08-08 00:31:44 +01:00
Chris Jones
2ac04e20be
Entirely fix up the previous commit, the exception wasn't working at all
2009-08-07 22:47:30 +01:00
Chris Jones
b3c6e06964
Only hide the window if we can actually bind the hide_window key
2009-08-07 22:31:18 +01:00
Chris Jones
c2cf103374
start an epic refactor
2009-08-07 10:21:37 +01:00
Chris Jones
88f005ee09
on newer gtks we are likely to have menu icons disabled, force them on for the horiz/vert split items since they are deeply useful
2009-08-04 12:58:05 +01:00
Chris Jones
a45344f98d
Improve handling of custom encoding settings. Closes LP #403545
2009-08-04 02:56:02 +01:00
Chris Jones
d1a4b8a3c9
sync encodings with gnome-terminal
2009-08-03 11:19:19 +01:00
Chris Jones
e469c144ba
Tiny whitespace fix
2009-08-03 11:10:47 +01:00
Chris Jones
ebec046caf
Apply patch from Stephen Boddy to fix some layout issues with grouping, fix a colouring issue and improve the layout. Closes LP #408098
2009-08-02 23:44:51 +01:00
Chris Jones
945d2f277d
It's about time we enabled real transparency by default and just dealt with any fallout
2009-07-30 10:53:08 +01:00
Chris Jones
2e098c56a1
update titlebar colours when grouping with keyboard shortcuts. Closes LP #406642
2009-07-30 00:44:36 +01:00
Chris Jones
0995147861
group label text should follow the colour scheme the same as the titlebar. Patch from Stephen Boddy. Closes LP #406639
2009-07-30 00:30:27 +01:00
Chris Jones
1283aafd42
Fix up a missing None string handler from the previous commit
2009-07-22 09:43:41 +01:00
Chris Jones
dcd997b3de
Allow a keybinding to be set to a string value of None so it can be deconfigured. Also supports clearing a keybinding through the prefs profile. Closes LP #391778
2009-07-22 09:40:35 +01:00
Chris Jones
34c9c816ea
Dont use underscores in group names as accelerators. Closes LP #401191
2009-07-21 20:50:06 +01:00
Chris Jones
48324ba7bc
move the enumeration menu items to the group menu and improve the wording. Closes LP #314909
2009-07-14 12:53:42 +01:00
Chris Jones
fee8039fdc
don't append the title, so it doesn't multiple up. Closes LP #393668
2009-07-14 00:47:55 +01:00
Chris Jones
d9e5174140
fix icons
2009-07-14 00:25:07 +01:00
Chris Jones
05e5323097
fix the group_all hotkey
2009-07-14 00:15:34 +01:00
Chris Jones
b044cd385c
fix wording harder. fix group removal and grouping all
2009-07-14 00:14:21 +01:00