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