Commit Graph

309 Commits

Author SHA1 Message Date
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 f9e5a69c71 Initialise command_line_options 2010-02-21 11:55:29 +00: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 07a142c6a0 Cache gconf values, and handle them changing 2010-02-09 22:33:47 +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 eb7fcf5189 Expose cursor blinking and colour in the prefs editor 2010-02-08 22:10:59 +00:00
Chris Jones 8307951001 Catch any/all exceptions from config file parsing 2010-02-08 21:11:38 +00:00
Chris Jones ad5c927d15 Add a section to the global config for setting the various fg/bg colours of the titlebars 2010-02-08 20:22:08 +00:00
Chris Jones f99fbf1094 Don't fail to find a plugin section 2010-02-07 12:41:08 +00:00
Emmanuel Bretelle 4c36b25341 Workaround missing 'plugins' entry in configuration 2010-02-06 16:02:16 +01:00
Chris Jones 1aadbae30b Rework layout config to flatten and build up trees 2010-02-02 00:39:41 +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 f5dfd404c9 run the layouts config sections through dict_dff to avoid saving defaults unnecessarily 2010-01-31 16:24:20 +00:00
Chris Jones 0501ceb8d4 The beginnings of a layout editor 2010-01-30 00:27:57 +00:00
Chris Jones a5ac05bcc9 Add a new shortcut to take over duties of spawning a new Terminator process 2010-01-29 23:49:16 +00:00
Chris Jones ff56fedcf0 Refactor save() a little to reduce the branch complexity, and tidy up some other parts to appease pylint 2010-01-22 18:54:36 +00:00
Chris Jones df992c284e Look up GNOME system font and focus settings via gconf 2010-01-21 21:39:05 +00:00
Chris Jones c00cf071c7 Fix the palette default to be the same as gtkcolorpickers produce, i.e. lower case 2010-01-21 21:20:01 +00:00
Chris Jones abe9b24518 Implement titlebar colours 2010-01-18 23:27:22 +00:00
Chris Jones 3f214bf686 Restore ctrl-tab/ctrl-shit-tab 2010-01-18 20:39:46 +00:00
Chris Jones 0e01618dfa isdir is in os.path, not os 2010-01-15 23:32:16 +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 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 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 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 949dc81574 Clear up some import errors found by pyflakes 2010-01-11 20:03:54 +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 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 180ccbbf03 Hook up the keybindings tab in the preferences editor. Loads and saves 2010-01-10 00:20:24 +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 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 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 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
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 dbe683e259 hey look it's 2010 already 2010-01-04 23:56:28 +00:00
Chris Jones 8141a3496d call sys.exit() with doctest failure results 2009-12-30 11:26:22 +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 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 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 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 0b5ac38793 Hand merge in from trunk 2009-12-19 02:08:35 +00: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 4284cf67ee Start making some navigation work 2009-11-09 22:33:17 +00: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 0f5cf7c496 remove titletips, it's a terrible option 2009-09-02 23:17:08 +01:00
Chris Jones 1f156248ee Refactor the config. For now it's defaults only 2009-08-18 12:46:41 +01:00
Chris Jones 5d1ea593d8 migrate dbg,err to util.py 2009-08-08 01:22:31 +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 13c11e1475 merge in trunk 2009-07-13 23:36:45 +01: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 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 7529d1c32f Improve PEP 8 compliance 2009-05-07 02:35:23 +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 9b530862e7 Make the zoomed/maximised titlebar optional 2009-04-09 11:23:33 +01: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 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 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 4944ccabe7 make tab bar more configurable. Closes LP: #287307 2009-03-20 00:23:37 +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 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 c3a2b5d2bb remove references to quake, it's unhelpful. It's now 'hide_window' 2009-01-25 18:33:22 +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 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 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
Stephen Boddy d205c35a24 Make the colours of the titlebars like clusterm (much clearer) and configurable 2009-01-07 19:37:59 +01: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
Kees Cook 5c3d3c5c2e first pass at direction terminal control 2008-12-18 23:41:55 -08:00
Chris Jones 4b69bf47aa Add keyboard shortcuts for reset and reset/clear. Closes LP#287634 2008-11-17 10:42:34 +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 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
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
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 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 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 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 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
Chris Jones f14b544668 Apply patch from 'SXW', closing LP #237796 2008-09-04 22:27:13 +01:00
Chris Jones e8be0f326c fix bogus gconf call 2008-09-02 15:25:12 +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 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
root 7ad31a0ee6 Prevent g-t profile failure 2008-08-28 13:56:16 +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
Thomas Hurst 31d598bb9b Few gconf fixes; use_system_font should now work again 2008-08-26 21:43:07 +01:00
Thomas Hurst 9baf905cab Convert the stderr spam into a gtk.MessageDialog. Format and localise the error.
Handle unterminated quoted string errors better
2008-08-26 17:04:53 +01:00
Thomas Hurst a89f18e095 Make config parsing errors non-fatal. Spam stderr with any errors encountered. 2008-08-26 15:41:27 +01:00
Thomas Hurst 0a6acc19dc Ctrl-Tab and Ctrl-Shift-Tab are actually valid keybindings. Teach keybindings.py that some items may have more than one keybinding by supporting optional tuples in defaults. 2008-08-23 23:57:51 +01:00
Thomas Hurst f37324303b Remove some keybinding changes that were only meant for local testing. 2008-08-23 10:01:50 +01:00
Thomas Hurst f685f3e317 source.keybindings -> source['keybindings'] now. 2008-08-22 06:45:31 +01:00
Thomas Hurst 4dafba1270 Don't use __getattr__ in config stores; use __getitem__ and talk to them using store[key] instead of getattr(store, key). Simpler and maybe faster (1 method lookup vs failed attribute lookup + method lookup). 2008-08-22 03:05:22 +01:00
Chris Jones 93fad0cee1 remove duplicate config default 2008-08-21 23:06:56 +01:00
Thomas Hurst 7f1dc2729a Really. 2008-08-15 17:27:56 +01:00
Thomas Hurst 6e638af1e7 Defaults have moved 2008-08-15 17:27:16 +01:00
Thomas Hurst ca66d55bea Make f11_modifier work again. 2008-08-15 13:40:10 +01:00
Thomas Hurst c0ab0e3f34 Introduce a cut-down version of my .ini parser; this one doesn't do anything special with indents, and just builds a simple dict on parse. It does introduce the same error handling (other than that for indenting), so some previously working (but highly dubious) configs might break.
Hook up a [keybindings] section, to override the default ones now in config.py; teach TerminatorConfig to merge configured keybindings from available sources; gconf support shouldn't be far away.
2008-08-15 04:11:24 +01:00
Thomas Hurst 2d6f1c0485 r459 breaks; regexp probing, since \< is valid in both POSIX and GNU regexps; they just don't mean the same thing. This means on !GNU, URL matching silently breaks and POSIX word boundries are never tried.
Since the VTE-warning is annoying people, rather than back it out, try to make everyone happy; Linux now only uses GNU, !Linux always probes, and there's now a try_posix_regexp configuration option who's default reflects this.  Hopefully we will Just Work in most environments.
2008-08-03 03:09:38 +01:00
Chris James a075a6cc62 Quake mode 2008-07-28 02:10:30 -05:00
Chris Jones 202a0fd3b2 reduce whinging from pylint 2008-07-22 12:03:30 +01:00
Chris Jones e6fd2fc5c8 fix some dbg calls to format consistently with the others 2008-07-13 00:36:53 +01:00
Emmanuel Bretelle 9d97e21aa8 Fixing LP#247893
XDG_CONFIG_HOME is not properly handled
2008-07-12 15:35:36 +01:00
Chris Jones 1585d73b10 Yield to bug 242852 and failsafe on transparency. I've added a FAQ page to the website which prominently explains how to enable real transparency 2008-07-07 22:47:02 +01:00
Emmanuel Bretelle be6229cb9b LP#242852 comment 19 seems to say that real_transparency is causing the issue.
Re-pushing the code removed in rev 398
* added an new conf parameter (enable_real_transparency defaulting to True) so real_transparency can be disabled
* This should be enough to push the release :)
2008-07-06 14:01:44 +01:00
Chris Jones 26c3722196 Set saner release defaults. Should close LP #237866 2008-06-29 02:01:06 +01:00
Chris Jones f92cb72a6a Hook -d up to terminatorlib.config.debug properly. Closes LP #243753 2008-06-28 21:20:49 +01:00
Thomas Hurst 254ecec810 Add close_button_on_tab option, defaulting to true. Set to false to turn off close buttons on tabs. 2008-06-27 18:54:42 +01:00
Chris Jones d38a42b580 split Terminator and TerminatorTerm into their own library files 2008-06-27 00:24:52 +01:00
Thomas Hurst 3717c8af1f Add copy_on_selection, defaulting to false, which automatically copies selections to the clipboard. Resolves LP #241594. 2008-06-20 16:18:23 +01:00
Chris Jones ebf128c1d8 Surely these should not cause Terminator to throw exceptions, we should ignore useless data. 2008-06-18 23:40:56 +01:00
Emmanuel Bretelle 5254ede2da Enable switch to next/previous term within the same tab
* closes LP#238205
2008-06-17 21:40:04 +01:00
Chris Jones 70b6588697 Only use ~/.config/terminator/config instead of ~/.terminatorrc. Closes LP #238070 2008-06-17 01:20:37 +01:00
Chris Jones c1ee7f2b9c Support a setting which allows the removal of all bells (ie audible and visual). Closes LP #237758 2008-06-17 00:36:55 +01:00
Chris Jones 327eadd84e Add an err() and use it 2008-06-17 00:10:44 +01:00
Chris Jones e35709e5e0 Close LP #238518. We now support profiles with spaces in their name. Additionally this fixes some use_custom_command related bugs. 2008-06-15 11:15:45 +01:00
Thomas Hurst 4ac3d6dc76 Add a f11_modifier option; if True, it's Ctrl-Shift-F11 instead of just F11. 2008-06-09 19:01:16 +01:00
Emmanuel Bretelle 0803723ca9 Adding XDG support closes LP#238070
* adding python-xdg and xdg-utils in debian/control 's Recommends field
  * if xdg is not installed, default to ~/.terminatorrc
  * using xdg-open first, then fallback to gnome.url_show or webbrowser.open
2008-06-09 14:15:30 +01:00
Emmanuel Bretelle 4a74f74897 Enhancing the way we handle refocus when a terminal is closed
* Fixes LP#234905 : Refocus on term close
  * Added new conf parameter: focus_on_close
  * Default to auto, possible values: auto, next, prev
  * When auto, if the term parent is a gtk.Paned, the focus is 
     given to the sibling rather than the previous term which could 
     be in another tab
  * Added entry to doc/terminatorrc.5
2008-06-06 19:13:54 +01:00
Chris Jones b58a01e0ec Allow control over the size of the GtkPaned handle. Fixes LP #203370 2008-05-28 16:39:27 +01:00
Emmanuel Bretelle 592360d1b4 Adding Paned handle_size support
* adding a value between 0 and 5 in ~/.terminatorrc 's handle_size parameter
    will change the size of the handle. Otherwise, the size will default to the defaultgtk style settings
  * could close LP#203370
2008-05-28 15:37:54 +01:00
Chris Jones 400479c8e7 Allow controlling borderless/maximise/fullscreen options via config stores 2008-05-28 09:20:47 +01:00
Emmanuel Bretelle ca12af5125 adding configuration extreme_tabs defaulting to False
* If extreme_tabs is set to false, only the top level widget will go
    into tabs
  * if set to True, tabs will be created at any level
  * Fixes LP#234685
2008-05-25 12:37:33 +01:00
Emmanuel Bretelle 48e6477a68 fixing an issue where tab order was broken
step to repro:
- open terminator
- open a new tab
- in new tab, split axis
- go to first tab
- create a new tab
- Ctrl-shift-N around and the order is not respected
2008-05-23 20:39:26 +01:00
Chris Jones c37d934665 Add a default config value for background_image. Patch from Chris James. Fixes LP #234050 2008-05-23 17:24:36 +01:00
Chris Jones fc67f3676a we shouldn't prevent bold by default 2008-05-23 13:46:10 +01:00
Chris Jones fa448d7925 use datatypes in parsing of RC files, so non-string/bool values actually work 2008-05-23 13:28:56 +01:00
Chris Jones 12c7d438b1 fix the overlap of my last commit with thomas' 2008-05-23 11:45:08 +01:00
Thomas Hurst 98a9550f2f Handle "foo = bar" as well as "foo=bar" 2008-05-23 11:42:04 +01:00
Chris Jones 69867b936f slightly relax the boolean value support 2008-05-23 11:40:56 +01:00
Chris Jones 12e7622c65 Make this dbg actually produce the set value 2008-05-23 11:35:03 +01:00
Chris Jones 0cebfd9b3c slightly more verbose config debugging, and fix a ridiculous RC config bug 2008-05-23 11:31:05 +01:00
Thomas Hurst 9ef585a7b7 Move terminator*.pyc to terminatorlib. Teach setup.py about the change. 2008-05-21 11:17:55 +01:00