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
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
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
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
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
14e4b4d3fe
Fix --working-directory. Closes LP #552497
2010-03-31 14:02:55 +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
16bc247b0e
Attach the debug server to the context menu
2010-03-19 22:16:08 +00:00
Chris Jones
8ed1613951
Describe the current profile if it's non-default
2010-03-18 23:11:07 +00:00
Chris Jones
2164f32ddb
Kludge the layout creation until it works
2010-03-11 13:04:01 +00:00
Chris Jones
4d1d293804
Update to use the new split_axis method signature
2010-03-08 21:46:45 +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
8732754794
Don't grab focus when we're respawning a child
2010-03-05 19:54:39 +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
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
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
98c3979b88
Don't debug print the layout
2010-02-27 14:05:08 +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
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
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
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
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
8806c97612
We need to improve the vte mouse enter handler
2010-02-07 11:59:57 +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
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
a8748fbbeb
This FIXME is fixed
2010-01-26 11:06:28 +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
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
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
6beba121be
further pylint appeasement
2010-01-23 00:50:28 +00:00
Chris Jones
055e6f837b
This FIXME is no longer true
2010-01-22 13:24:42 +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
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
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
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
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
35910b7a85
Tidy up the email match, and fix the nntp one (thanks dutchie)
2010-01-19 19:44:23 +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
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
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
8f88537bc5
obvious stupid reason why the email URL matching wasn't working. excess whitespace
2010-01-14 13:52:48 +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
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
8846328137
scrollbar toggling is now significantly more useful and consistent
2010-01-12 00:33:55 +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
e5d52fee52
Implement most of Terminal::reconfigure
2010-01-10 23:47: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
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
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
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
4cfc1c6fd2
Improve debugging relating to URL mangler plugins
2009-12-30 01:05:51 +00:00
Chris Jones
4c025273c9
rename and import the profile editor
2009-12-27 01:01:34 +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
30f5225884
Add crashproof code for adding URL handlers from plugins, and reacting to them
2009-12-17 23:17:32 +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
f10f43fa8a
pylint
2009-12-10 11:52:26 +00:00
Chris Jones
a432d10d24
Add a quick debugging entry
2009-12-09 13:02:45 +00:00
Chris Jones
9cbc6f1282
Add the very barest of support for tabs.
2009-11-21 22:28:39 -06:00
Chris Jones
5e104972a7
Fix keybinding for closing ourself
2009-11-21 12:11:50 -06:00
Chris Jones
c5711cbe15
get_top_window moved to util
2009-11-20 16:53:06 -06:00
Chris Jones
279ebf55d6
use the paned hoovering function introduced in revision 910
2009-11-20 09:31:07 -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
0ff5aa3159
Tidy up some debugging and fix group hoovering
2009-11-19 23:40:31 -06:00
Chris Jones
7d9575df5f
Make drag and drop of terminals work
2009-11-16 22:56:55 -06:00
Chris Jones
c48c1d4fd6
fix up debugging statements
2009-11-14 23:12:58 +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
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
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
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
49f374e3b2
hook up focus changes to Terminator so it can update all the titlebars
2009-10-09 00:22:01 +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
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
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
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
718a15706f
handle URLs
2009-09-04 20:12:35 +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
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
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
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
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
d6ac973f54
remove some currently unused imports and split up some overly long lines
2009-08-18 13:54:46 +01:00
Chris Jones
5f339da4e1
Use the right class name
2009-08-18 13:47:46 +01:00
Chris Jones
53f33109b4
start fleshing out Terminal
2009-08-18 13:44:41 +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
4150249f87
refactor some cwd code and start setting some vte attributes
2009-08-11 23:48:19 +01:00
Chris Jones
7547eaad4b
appease pylint and begin the terminal class
2009-08-11 23:27:56 +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