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