Commit Graph

1180 Commits

Author SHA1 Message Date
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
Chris Jones dc9fc3c7ca improve some wording and fix the grouping of ungrouped terminals 2009-07-14 00:04:30 +01:00
Chris Jones 73cd0bb2bc remove superfluous colour setting code since the titlebar is integrated 2009-07-13 23:55:23 +01:00
Chris Jones 08775aecec remove spurious menu separator 2009-07-13 23:54:31 +01:00
Chris Jones f8dcd9d846 Rewording 2009-07-13 23:54:18 +01:00
Chris Jones 715bb639e2 put the group image and label into sufficient gtk boxes that they can match the styling of the rest of the titlebar 2009-07-13 23:53:57 +01:00
Chris Jones 2a5cffb63f remove the Group context menu 2009-07-13 23:37:23 +01:00
Chris Jones 13c11e1475 merge in trunk 2009-07-13 23:36:45 +01:00
Chris Jones acd8a776fb add quotes to pathchars to support more broken URLs 2009-07-10 16:46:52 +01:00
Chris Jones 2bcff19fa3 only actually set the colour as a GdkColor 2009-07-02 21:35:18 +01:00
Chris Jones b3a156c786 I think this is more correct. the theme_colors setting elsewhere should only apply to font settings, not terminal colours 2009-07-02 21:30:53 +01:00
Andrea Corbellini 7d987903a3 Remove the empty parenthesis in the declaration of TerminatorWindowTitle
to fix the compatibility with Python 2.4.
2009-06-26 13:12:46 +02:00
Chris Jones 8825cdc8ba Don't try and set an active dropdown item that doesn't exist. Closes LP #361481 2009-06-16 18:50:52 +01:00
Chris Jones 46b73f406a Handle get_first_notebook_page() failing. Closes LP #354495 2009-06-16 18:26:16 +01:00
Chris Jones 2aaba264af Connect click events on the titlebar widget to focus for that terminal. Closes LP #385229 2009-06-09 23:47:59 +01:00
Chris Jones 78594bfd62 Increment tab number in group name, so they don't start at zero. Closes LP #382156 2009-06-06 02:00:40 +01:00
Chris Jones 20b25c6c5d prepare for 0.13 release 2009-05-29 21:56:06 +02:00
Chris Jones 2cd90552f9 Add pid_get_cwd support for SunOS. Patch from Lewis Thompson. Closes LP #381610. 2009-05-29 16:34:48 +02:00
Chris Jones ac56c18501 Add support for spawning new windows as new Terminator processes. Closes LP #381193 2009-05-28 10:29:56 +02:00
Chris Jones 98a5fee1f6 Attempt to fix horizontal directional navigation when handle_size is 0. Closes LP #325028 2009-05-26 22:45:13 +02:00
Chris Jones 8fc337de9f Remove old SEGBUG debugging 2009-05-26 11:42:08 +02:00
Chris Jones 67753449a0 Make the choice of Paned slightly less pained 2009-05-26 11:27:26 +02:00
Chris Jones 69265ec036 Add keybindings for group_all, ungroup_all, group_tab and ungroup_tab. Closes LP #376351 2009-05-23 18:05:50 +02:00
Chris Jones e77a3e6c07 Add context menu functionality for grouping/ungrouping all terminals in a tab. Closes LP#378603 2009-05-23 17:34:23 +02:00
Chris Jones 18d4df6af8 Refactor get_first_parent_paned into a generic, non-recursive function for finding the first parent widget of a given type 2009-05-21 00:09:00 +02:00
Chris Jones 14f6525195 refactor pixbuf getting thing out to a separate function 2009-05-17 12:45:38 +01:00
Chris Jones 47b5aaed64 take a snapshot of the terminal, scale it if necessary and use that for the drag icon 2009-05-16 22:17:04 +01:00
Chris Jones b1d10e8817 Add some warning text in the profile editor 2009-05-12 21:17:56 +01:00
Chris Jones 7010d17b73 add a comment for further investigation later 2009-05-11 21:54:23 +01:00
Chris Jones 0aa107005e Re-order context menu to keep Close item away from the mouse. Closes LP #374792 2009-05-11 21:36:40 +01:00
Chris Jones 7529d1c32f Improve PEP 8 compliance 2009-05-07 02:35:23 +01:00
Chris Jones 1a88613904 Tidy up keybindings.py for pylint ease 2009-05-07 02:06:38 +01:00
Chris Jones b7661b005b remove tests since they're so woefully incomplete and I have no real intention of completing them 2009-05-07 01:47:52 +01:00
Chris Jones 69c2bca7b7 call parent init, just to be safe 2009-05-07 01:44:59 +01:00
Chris Jones b0302e6fab split out translation support into an separate file so it can be more correctly included everywhere 2009-05-07 01:44:42 +01:00
Chris Jones 841fa18c58 improve exception handler 2009-05-07 01:25:51 +01:00
Chris Jones ee1490dc4a Add a commandline argument to allow specifying the window title. Closes LP #370064 2009-05-04 02:00:44 +01:00
Chris Jones 676ddfdb0c Refactor window title code into a separate class 2009-05-04 01:51:01 +01:00
Chris Jones 6de8e1ca6e Add the terminal size to the titlebar. Closes LP#242288 2009-04-30 21:55:30 +01:00
Chris Jones f81b724abc Merge changes from debian package 2009-04-24 10:57:17 +01:00
Chris Jones 9b530862e7 Make the zoomed/maximised titlebar optional 2009-04-09 11:23:33 +01:00
Chris Jones c4409fb03d prevent the font size from decreasing when zooming 2009-04-01 10:21:16 +01:00
Chris Jones 9d4e07f0bf If people are mad enough to use Ctrl-C for Copy, at least let them still be able to kill things. Closes LP #340604 2009-03-27 12:20:12 +00:00
Chris Jones 8b3b71599a Handle older VTEs that have no beep signal. Closes LP #349158 2009-03-26 21:09:30 +00:00
Chris Jones 5e78509499 Fix scrolling on patched VTEs. Note that this will only work if the patched VTEs also have python support for their modifications. Closes LP #291184 2009-03-26 10:36:47 +00:00
Chris Jones f1d2b527ed Only set cursor shape when the function exists in vte. Patch from Jordan Callicoat. Closes LP #348760 2009-03-26 10:34:02 +00:00
Chris Jones 4fc90e8ba5 Add support for VoIP URIs. Patch from Jordan Callicoat. Closes LP #235906 2009-03-25 13:04:49 +00:00
Chris Jones 711986766a Allow user configurability of the cursor shape. Patch from Jordan Callicoat. Closes LP #348244 2009-03-25 12:58:55 +00:00
Chris Jones 44e958f53e Allow user configurability of the cursor colour. Patch from Jordan Callicoat. Closes LP #348231 2009-03-25 12:48:27 +00:00
Chris Jones e912c6a239 grab focus into the text entry widget after creating it 2009-03-23 21:09:40 +00:00
Chris Jones 254d0782c5 Allow users to edit the tab label in-place and retain a custom label, or switch back to an automatic one. Closes LP: #246448 2009-03-23 18:34:53 +00:00
Chris Jones 3d60c96b44 I think connect_after makes more sense here 2009-03-21 01:39:49 +00:00
Chris Jones de62f1bda4 Make the bell options more explicit and allow multiple bell actions, including a new one to set the window manager urgent hint. Closes LP: #272749 2009-03-20 10:13:29 +00:00
Chris Jones d54f21c203 be more explicit about setting background transparency so we always update the state correctly. Closes LP #328994 2009-03-20 01:24:24 +00:00
Chris Jones 4944ccabe7 make tab bar more configurable. Closes LP: #287307 2009-03-20 00:23:37 +00:00
Chris Jones 2ea44fb8bc Unify the the preparation of URLs so they work properly with ctrl-click, and also to reduce duplication. Closes LP #344617 2009-03-19 22:03:44 +00:00
Chris Jones 2c7648c7e4 hideous rewrite of font scaling code. Err on the side of caution with the fantastically crass magic constant multipier. 2009-03-17 01:08:12 +00:00
Chris Jones 2b8c2cadc5 set close button style regardless of the handle size being correct. Closes LP: #343607 2009-03-16 23:55:57 +00:00
Chris Jones e3449d4142 fix for older gtk/pygtk 2009-03-16 23:50:48 +00:00
Chris Jones e14e400b6c since values is no longer static, we need to call the base class __init__ to initialise it 2009-03-06 11:30:56 +00:00
Chris Jones 2fb6b9b329 be more careful about static class properties 2009-03-06 11:25:15 +00:00
Chris Jones 5e46e1a967 merge approved branch. Closes LP #328235 2009-03-06 11:15:41 +00:00
Chris Jones 118032dc35 Swap the Cancel button for a Close one, and stop Apply from closing the profile editor. This way makes much more sense. Closes LP #329977 2009-02-20 11:26:43 +00:00
jmonreal d467d1ae75 Direction Fixed 2009-02-16 11:03:42 -03:00
Chris Jones 26e6eba2b5 Make transparency support much saner by making it much simpler. This means that enable_real_transparency being False doesn't prevent transparency from working, it just means it falls back to the fake transparency. Closes LP #328994 2009-02-13 10:43:11 +00:00
Chris Jones 46f17589da quite why people want this, I don't know, but they do. see LP question 59635 2009-02-02 23:01:00 +00:00
Chris Jones 2528353e2a Easier than actually tracking which kind it is 2009-02-02 17:20:16 +00:00
Chris Jones 859c463a48 Make the terminal title updater aware of zooming, and show it when we're zoomed, saying that we're zoomed 2009-02-02 17:18:40 +00:00
Chris Jones 71156a487a We don't want a titlebar if there's only one terminal 2009-01-30 15:23:47 +00:00
Chris Jones 4c8c2614be migrate more titlebar show/hide logic into TTT 2009-01-30 12:04:59 +00:00
Chris Jones bac635fc4a fix correct starting value of titlebar wantedness 2009-01-30 11:44:40 +00:00
Chris Jones 4f8a3a8d34 migrate titlebar wantedness to the titlebar class 2009-01-30 11:42:28 +00:00
Chris Jones 01d4602d43 move all vte customisation to post-realize 2009-01-28 01:18:21 +00:00
Chris Jones 0897c0e16f move the background transparency setting to a handler attached to the vte widget's realize signal 2009-01-27 21:56:28 +00:00
Chris Jones 337c650f34 Back out earlier debugging changes 2009-01-27 21:19:10 +00:00
Chris Jones cfeac42e2a getting desparate now 2009-01-27 18:29:19 +00:00
Chris Jones 8a4d3fb5de collect the flags, although i think they are a red herring 2009-01-27 18:26:42 +00:00
Chris Jones cb802ca85e bleh, helps if you actually keep track of what's happening 2009-01-27 18:18:57 +00:00
Chris Jones c190287d6c Exploratory patch which may fix some weird bugs, or may get reverted soon 2009-01-27 17:09:33 +00:00
Chris Jones 1961fe1d49 add support for an icon in the group label 2009-01-27 00:31:48 +00:00
Thomas Hurst 58e4722763 Block LOCK_MASK from reaching translate_keyboard_state: <Ctrl><Capslock>E now no longer behaves like <Ctrl><Shift>E, the state of capslock is completely ignored for keybinding purposes. 2009-01-26 16:33:00 +00:00
Chris Jones 9f17fc0790 Be able to set the foreground colour of titlebars too 2009-01-26 00:22:11 +00:00
Chris Jones 5055371b1c Refactor the terminal titlebar into its own class 2009-01-26 00:20:03 +00:00
Chris Jones c3a2b5d2bb remove references to quake, it's unhelpful. It's now 'hide_window' 2009-01-25 18:33:22 +00:00
Chris Jones 201057e7f2 Make quake related error be a dbg() 2009-01-25 15:08:55 +00:00
Chris Jones c33b89a74c add a description of the quake keybinding 2009-01-25 14:36:51 +00:00
Chris Jones 920a668991 Merge in Chris James' quake branch. 2009-01-25 14:28:27 +00:00
Chris Jones 4236e44e5f Merge in Chris James' quake branch. 2009-01-25 14:26:20 +00:00
Thomas Hurst a72010a82e Teach the profile editor about undefined keys. 2009-01-21 09:06:16 +00:00
Thomas Hurst bc24c98164 Merge in jkakar's quick tab switching branch, with minor changes. To avoid bikeshed issues, the bindings are disabled by default. 2009-01-21 08:29:32 +00:00
Jamu Kakar d9205d83d9 - Alt-N switches to the tab at index N for values of 0 >= N <= 9.
This makes switching to arbitrary tabs very quick.
2009-01-20 21:18:59 -08:00
Chris Jones 6f9955eb6a H9TRANS debugging, should help diagnose weird transparency issues 2009-01-19 14:45:08 +00:00
Emmanuel Bretelle adf05a6863 * Fixing a potential glitch in translated string
* added FR comment entry to .desktop
2009-01-17 13:44:09 +01:00
Chris Jones 4713eff2dd Merge from Stephen Boddy, fixes some instances where group_hoover is not called or is called incorrectly. Closes LP #315863 2009-01-15 00:31:42 +00:00
Chris Jones 29d5eacbc9 Fix terminal title alignment. Merge from Stephen Boddy's dev branch. Closes LP #308124 2009-01-15 00:07:28 +00:00
Chris Jones 8c62f84357 Track gconf cursor blinking in such a way that it handles the newer GNOME Terminal setting and the older one. Closes LP #283107 2009-01-15 00:02:01 +00:00
Chris Jones 2d57b7888d Fix GNOME Terminal profile loading. Patch from Y W Sing. Closes LP #304016 2009-01-14 22:57:24 +00:00
Chris Jones 45e83bd4b5 Slightly refactor the dialog shown when closing a window with multiple terminals so it can also work for tabs with multiple terminals. Closes LP #315960 2009-01-14 22:02:23 +00:00
Stephen Boddy 775030ba85 Kill last vestage of the single group icon. 2009-01-14 16:16:01 +01:00
Stephen Boddy f97d1c49f8 Fix middle-click paste in broadcast mode into terminal with no group. Wasn't sent to other terms. Plus: slight reorg of get_target_terms 2009-01-14 13:36:32 +01:00
Stephen Boddy a55fb5c70e Small change to stop the radio buttons of the 'Assign to' window flying about on resize. It just looks silly\! 2009-01-14 01:59:09 +01:00
Stephen Boddy 7fa0ddede0 Slightly fudge-flavoured fix for the positioning of the 'Assign to' window. Stops it appear all over. Prob. better as proper dialog. 2009-01-14 01:55:46 +01:00
Stephen Boddy a7e12a13b5 Merge from trunk 2009-01-13 22:32:36 +01:00
Stephen Boddy 6cc744dc19 Tiny additional run of group_hoover, when tickbox is activated. 2009-01-13 22:10:28 +01:00
Stephen Boddy f405a2c87f Final part of the GUI rework for the group stuff. 2009-01-13 22:05:04 +01:00
Stephen Boddy 0bc670ac1d Small cosmetic oneliner for non-centered titles on splitting. 2009-01-13 17:20:43 +01:00
Stephen Boddy eab9cb3757 Remove the noe redundant group menu, plus unique titlebar icons. 2009-01-12 22:53:42 +01:00
Stephen Boddy 29ef912250 Some small fixes after discussion and testing over irc 2009-01-12 17:08:12 +01:00
Stephen Boddy de94513478 First (and major) part of the GUI stuff. We now have a clickable button that pops up the group menu. 2009-01-12 12:13:22 +01:00
Stephen Boddy b69a54b53f Significant grouping improvements. Nearly everything there and works great. Still require 2 GUI related things before done. 2009-01-10 17:13:49 +01:00
Stephen Boddy 895226aaa9 Two minor fixes to prevent unused groups lingering in the submenu when a terminal is close/ungrouped. 2009-01-10 17:00:05 +01:00
Stephen Boddy a30755e670 Fix list of groups in context menu to prevent duplicates 2009-01-10 07:34:50 +01:00
Chris Jones dec20d4069 Loop around tabs when using next_tab or prev_tab keyboard shortcuts. Closes LP #315494 2009-01-10 01:55:46 +00:00
Chris Jones 533e85e2a7 and actually get it right this time 2009-01-10 00:45:41 +00:00
Chris Jones 65c1011d5b restore Stephen's extra conditional, since it does make sense 2009-01-08 16:18:02 +00:00
Chris Jones eec5aefbaa Merge Stephen Boddy's fix for LP #314902 with a small modification 2009-01-08 15:40:38 +00:00
Stephen Boddy b356cfc9ee Enumerate the terminals with/without padding (very useful when accessing many sequentially numbered systems.) 2009-01-07 19:39:12 +01:00
Stephen Boddy d205c35a24 Make the colours of the titlebars like clusterm (much clearer) and configurable 2009-01-07 19:37:59 +01:00
Stephen Boddy fcea2b7261 Fix DnD to insert test to all terms in current group 2009-01-07 19:35:44 +01:00
Chris Jones 90064406a0 If there are any groups, add a menu item to remove all groupings 2009-01-06 09:44:38 +00:00
Chris Jones 56eb03712c handle an alternate scrollbar disabling value 2009-01-04 17:53:19 +00:00
Chris Jones 77487d0e31 might as well bump the version in preparation for 0.12 2009-01-04 02:48:31 +00:00
Chris Jones c7fdbf5aa6 Be able to remove a terminal without destroying it. This should really be factored out into a deparent() and remove(). Closes LP #313553 2009-01-04 02:37:42 +00:00
Chris Jones eba60f3fcc place the keybinding editor inside a gtk.ScrolledWindow for the pixel-poor 2008-12-26 23:26:04 +00:00
Chris Jones eb39ca548a remove reference to obsolete sighup function 2008-12-26 23:02:27 +00:00
Chris Jones 04aae49867 when we remove a terminal we should remove the vte widget and remove the reference to it from the TerminatorTerm object. It's likely we are still leaking other gtk objects, but that is considerably less important than leaking vte.Terminal objects and thus child processes 2008-12-26 22:56:00 +00:00
Chris Jones 5c09dc4b6b turns out that we are somehow sucking at unreferencing our objects, so we need to start tightening these things up. stop calling destroy() on anything other than toplevels, it makes no sense. Don't send the sighup, only because I want to track this down properly. 2008-12-26 20:24:11 +00:00
Chris Jones f7d649d724 completely remove the config file monitoring, as it has too much potential for failure and very little win to offer in return 2008-12-26 16:31:03 +00:00
Chris Jones d34a2bb12e fix a print to be a dbg() and disable inotify watching of the config file, it seemingly having some problems 2008-12-26 16:15:48 +00:00
Chris Jones 2228e2c3f3 Fix bug reported by Kees Cook - when in grouped mode, pasting did not apply to all grouped terms 2008-12-26 15:43:02 +00:00
Thomas Hurst 70e54005ee Send an explicit sighup from closeterm() 2008-12-24 03:31:39 +00:00
Kees Cook 04cecacdbb take full geometry of the terminals into account 2008-12-19 15:17:43 -08:00
Kees Cook 5c3d3c5c2e first pass at direction terminal control 2008-12-18 23:41:55 -08:00
Chris Jones 3c26a52c12 fix titlebar highlighting. HBox can't have a bg colour. Also it turns out that the fg colour modification has never been working so it might as well go 2008-12-16 15:15:12 +00:00
Brian Murray 9e6d8191ac Increase of possible matches for LP bug numbers as URLs 2008-12-13 21:13:25 -08:00
Chris Jones 75194f24cd Add support for treating LP bug numbers as URLs 2008-12-13 09:12:07 +00:00
Chris Jones 0118cc412c sync with trunk 2008-12-11 08:13:31 +00:00
Chris Jones 653a2ef5e1 this should be a dbg, not an err 2008-12-11 08:13:02 +00:00
Chris Jones dee393cd70 suggestion from Kees Cook - a menu option to instantly group all terminals 2008-12-11 08:07:28 +00:00
Chris Jones b1bf317671 actually make the typing simultaneous, and pretty things up slightly 2008-12-11 07:08:28 +00:00
Chris Jones 9bc24e665b Lay out some UI groundwork ideas for simultaneous typing support 2008-12-10 18:16:55 +00:00
Thomas Hurst 6fcd3c92e2 aelling 2008-12-02 17:22:44 +00:00
Thomas Hurst 952cd02b7b Add another missing setting 2008-12-02 17:13:55 +00:00
Chris Jones 7a695a7434 use a shorter, translatable string for the search box 2008-11-28 12:59:48 +00:00
Chris Jones c7677b9c0e make sure we do return codes properly for key handlers 2008-11-28 12:59:32 +00:00
Emmanuel Bretelle 6631af7e4d fixing rgba_control 2008-11-27 09:52:32 +01:00
Chris Jones 408a7246d9 take care of updating tab close buttons when the setting changes 2008-11-19 17:04:36 +00:00
Chris Jones 8decf82577 Make handle size and tab position updatable on the fly 2008-11-19 13:46:37 +00:00
Chris Jones 0937aa9620 fix collection of changed keybindings and apply them to the current instance 2008-11-17 15:09:39 +00:00
Chris Jones 0c354b6aa2 Remove APP_NAME from the title when we set it, to fix LP: #278004 2008-11-17 11:19:12 +00:00
Chris Jones 0806176067 Improve UI wording for new reset bindings 2008-11-17 10:46:47 +00:00
Chris Jones 4b69bf47aa Add keyboard shortcuts for reset and reset/clear. Closes LP#287634 2008-11-17 10:42:34 +00:00
Chris Jones 16894d5f78 allow keybindings to be edited 2008-11-17 02:24:38 +00:00
Chris Jones 475daf89ef make the keybinding editor prettier and work out when one has changed 2008-11-17 02:08:47 +00:00
Chris Jones ba34813f54 turn some prints to dbg()s 2008-11-17 00:51:11 +00:00
Chris Jones 104206b0eb helps if you read the function documentation. set_attributes() replaces all other attributes, so we had a bunch of empty, editable cells 2008-11-17 00:41:49 +00:00
Chris Jones 3f76ce6401 Attempt to make proper keybinding editors with TreeView and CellRendererAccel. Unsuccessfully thus far 2008-11-17 00:37:50 +00:00
Chris Jones 97fe1cca47 Get the value properly 2008-11-16 18:40:05 +00:00
Chris Jones 4f6d3d8ec7 Remove the real transparency change handler, it won't work while the window is realised, and unrealising it effectively destroys it, so this looks like the only setting that will actually hard-require a restart 2008-11-16 17:54:40 +00:00
Chris Jones 68529502e7 Make prefs_profile.auto_add more robust, add some more global reconfiguration 2008-11-16 02:42:09 +00:00
Chris Jones 2ccd5962c1 Only allow local background files and set the current value. Also close the window when Apply is pressed 2008-11-12 11:58:01 +00:00
Chris Jones e01d69346f Demonstrate how we can change a global property without a restart 2008-11-12 11:36:18 +00:00
Thomas Hurst a068372228 Add a missing setting 2008-11-12 02:44:57 +00:00
Chris Jones f761f40c17 this may fix Apply 2008-11-12 01:45:52 +00:00
Chris Jones 2a852620ac Update prefs_profile to not look at the Defaults, but the current RC file 2008-11-11 11:21:18 +00:00
Thomas Hurst 901b5a8ea4 Use "%r" % foo instead of "%s" % repr(foo). No functional changes. 2008-11-04 17:01:00 +00:00
Chris Jones 8e96d0eaa4 handle int HScale values and remove a debugging print 2008-11-03 23:14:29 +00:00
Chris Jones 5ffe50012b put a default size back in the default font so it's a valid pango name 2008-11-03 23:14:06 +00:00
Chris Jones 156eb8b32a Make the profile editor window atomic. Hook up its cancel button to destroy itself and make the Apply button dump the settings contained within. Requires some modification of auto_add to better keep track of the widgets 2008-11-03 22:55:55 +00:00
Emmanuel Bretelle e852e4185b nicification2 2008-11-02 03:18:23 +01:00
Emmanuel Bretelle d0693a2df3 attempting to nicify the profile editor 2008-11-02 03:06:35 +01:00
Thomas Hurst cb248ac357 Introduce indented config file handling code, disabled for now since nothing uses it, and it has the potential for breaking currently working configs, since indent errors are difficult to recover from sensibly. 2008-11-01 11:31:12 +00:00
Thomas Hurst c3c6e3713d Don't fail horribly if the user doesn't have a config file 2008-11-01 10:07:58 +00:00
Chris Jones 434c253237 make profile editor opened the conext menu and improve its appearance 2008-11-01 00:50:34 +00:00
Thomas Hurst e244329725 Make gio optional; it's way too soon to expect everyone to have this. Fix keybindings error handling. 2008-10-28 22:24:42 +00:00
Chris Jones 565b3d2bb8 Further enhancecment of profile editor UI 2008-10-28 00:29:54 +00:00
Chris Jones 6c483def9d Allow get_cwd to fail 2008-10-28 00:29:41 +00:00
Chris Jones 9c75e20492 Add file watching support to ValuestoreRC. Also slightly improve a debug statement in the root config class 2008-10-23 23:29:26 +01:00
Chris Jones 8ff0dfa72a Don't run the full title change handler every time if the title hasn't changed 2008-10-20 09:29:47 +01:00
Chris Jones 91b8527e2e Ignore a gconf change signal if it's just for the profile's visible_name, which gnome-terminal seems to set on every run. Should fix LP #268476 2008-10-16 16:30:42 +01:00
Chris Jones b623f662e8 only do session handling if we have a gnome_client 2008-10-16 11:43:50 +01:00
Chris Jones 19619bff98 rework keyboard event lookup failure handling with suggestions from Thomas. Relates to LP #280959 2008-10-13 09:37:26 +01:00
Chris Jones 46774d8f9e Abandon attempts to handle empty keypress events. Relates to LP #280959 2008-10-12 23:42:30 +01:00
Chris Jones 0adcd26a41 Add a next button to the search bar. Easy first step for LP #274451 2008-09-25 22:40:44 +01:00
Chris Jones 892c1c5b9d Add a close button to the search bar. Closes LP #274448 2008-09-25 22:33:45 +01:00
Chris Jones fc9b50850e only try to switch pages in a notebook if we actually have one. Not a fix for, but somewhat workaround for the crashing aspect of LP #271850 2008-09-25 22:22:05 +01:00
Thomas Hurst 357992945a unfail more 2008-09-23 17:08:16 +01:00
Chris Jones e49c73cf9e python2.4 unfail 2008-09-23 16:18:00 +01:00
Chris Jones 0a3017bf90 first hint of tests for configfile 2008-09-23 00:53:17 +01:00
Chris Jones 3988d96ff0 ensure debugging is off by default 2008-09-23 00:35:58 +01:00
Chris Jones 28b9c8e1d2 remove worthless testing code from config.py and extend the test suite a little 2008-09-23 00:28:57 +01:00
Chris Jones e63785028e initial skeletal test framework using nosetest 2008-09-23 00:13:48 +01:00
Thomas Hurst 76b06bc5f7 Workaround an apparant gtk bug in next/prev_page 2008-09-22 18:31:35 +01:00
Thomas Hurst e78d57beab Undo error handling brain-damage 2008-09-22 15:45:48 +01:00
Thomas Hurst 00840a13cc Bump version, tsk. 2008-09-21 12:27:05 +01:00
Chris Jones 95d4eed6ce Actually return when we deactivate the gconf object instead of trying to do gconf things with it 2008-09-13 01:58:48 +01:00
Iain Lane 1a975ab7c0 Remove unnecessary try-except block 2008-09-08 21:13:31 +01:00
Iain Lane aead00463c Need to start xdg-open in a new process as it does not do that itself - some browsers (Epiphany) can therefore cause Terminator to block until they are exited 2008-09-08 20:42:26 +01:00
Iain Lane fd8ad1bbea Launch ftp.x.y with an ftp protocol 2008-09-08 20:21:26 +01:00
Iain Lane 6c763fae39 Merge with trunk 2008-09-08 20:02:08 +01:00
Chris Jones c93e99b4c3 fix up backspace/delete binding widgets and fix a related mistake in the terminator_config manpage 2008-09-07 20:10:06 +01:00
Chris Jones e370d9fbb5 more specific updates for the profile editor 2008-09-07 19:43:03 +01:00
Iain Lane 4bb1a11595 Assume http:// for URLs without it 2008-09-06 16:01:12 +01:00
Chris Jones 6b680e4c52 possible option for improving profile editing gui 2008-09-06 01:40:42 +01:00
Chris Jones f14b544668 Apply patch from 'SXW', closing LP #237796 2008-09-04 22:27:13 +01:00
Emmanuel Bretelle bbc17502a8 Fix to LP#252971 making terminator compatible fix Dapper 2008-09-04 18:41:02 +01:00
Thomas Hurst e6497992e8 Drop a useless pass. 2008-09-04 02:59:40 +01:00
Chris Jones a32ec63a46 improve field names, make a couple of things dropdowns 2008-09-04 01:26:49 +01:00
Thomas Hurst 84658d4ea4 Put finally: in their own block for Python 2.4 2008-09-03 19:34:20 +01:00
Thomas Hurst 8fd22efed2 Prevent certain erroring configuration lines from being processed by a later line_ok(). 2008-09-02 16:03:08 +01:00
Chris Jones e8be0f326c fix bogus gconf call 2008-09-02 15:25:12 +01:00
Thomas Hurst a37be8bb35 Change debugging from "Ignoring" to "Skipping", and use repr(). 2008-08-29 21:29:07 +01:00
Thomas Hurst d388885581 Save maximized and fullscreen state. Argument handling needs improving; it'll break if short-form is used and squished together.
Probably we should piece together a command line directly from OptionParser's results, not copy it manually like this.
2008-08-29 19:23:30 +01:00
Thomas Hurst 035b15b6d9 Session support now tests ok with xsm. Note change of default #! line, and addition of dummy arguments to OptionParser. If we move gnome init earlier we can avoid the latter. 2008-08-29 19:22:16 +01:00
Thomas Hurst 0f5c6b361b Handle old Fedora gnome bindings.
save_yourself on startup.

Add geometry back to arguments, they're clearly isn't any wm magic for this stuff.
2008-08-29 19:20:50 +01:00
Thomas Hurst 9d183ed5e1 Introduce X session support by way of gnome.ui.
This involves moving cwd detection and url_show into class Terminator, since we need to initialize gnome earlier.
2008-08-29 19:18:31 +01:00
Chris Jones 11df8b9783 python 2.4 hates Exception.message, and it's not really crucial here anyway, so ditch it. Closes LP #262452 2008-08-29 14:09:29 +01:00
Thomas Hurst 3c77ec10c1 Add support for tab_position. 2008-08-28 17:08:15 +01:00
Thomas Hurst 6016f06775 Instead of a boring old MessageDialog, display errors in a Dialog with a scrolling text gadget containing errors.
This is a lot of effort for a case that should be rather unlikely; i.e. the user having dozens of errors in their config.

IndentErrors might make this more likely in future.  This may be reverted in future, but at least it'll be here if we need it.
2008-08-28 16:34:34 +01:00
Thomas Hurst 4fa5e1a442 Remove some leftovers. 2008-08-28 14:20:52 +01:00
Thomas Hurst f9d96d7210 print -> dbg 2008-08-27 00:58:27 +01:00
Thomas Hurst 32fc1f5082 Only set a setting if the entire line parses 2008-08-27 00:55:57 +01:00
Thomas Hurst a63c1358ca Use a callback for getting settings from ConfigFile, so we can validate them as they come in. 2008-08-27 00:30:13 +01:00
Thomas Hurst 5c8b1e7435 Set a default currvalue so line_ok works on configs starting with comments. 2008-08-28 15:12:05 +01:00
root 7ad31a0ee6 Prevent g-t profile failure 2008-08-28 13:56:16 +01:00
Chris Jones 1771528474 Update various bits of documentation 2008-08-27 01:35:32 +01:00
Thomas Hurst c2524cec47 Actually set a colour value. Only set config options if the entire line parses correctly. 2008-08-27 01:51:37 +01:00
Thomas Hurst d01ed3554f Handle bogus config values better; err() and keep going rather than raising an exception.
If there are exceptions, return to eating them for 0.10.
2008-08-26 23:32:29 +01:00
Chris Jones f020eaa32b Keep a note of when we are using a custom font size, so we don't override it in reconfigure_vte. Closes #256335 2008-08-26 22:24:36 +01:00