Commit Graph

1022 Commits

Author SHA1 Message Date
Chris Jones 7522bb2b9d Deprecate the hide_tabbar config option and instead add a 'hidden' value to tab_position and update the code/UI/docs accordingly. 2010-07-03 20:42:33 +01:00
Chris Jones d1989ec4a6 When a window loses focus, update all the terminals within to show the inactive titlebar colours. Closes LP #576276 2010-07-03 20:00:04 +01:00
Chris Jones 597f4ff75d Expose keybindings for setting the broadcast modes. Closes LP #598410 2010-07-03 18:54:53 +01:00
Chris Jones 6c2d6bbea6 Clear window urgency hint when a window gains focus. Closes LP #600280 2010-07-03 18:22:59 +01:00
Chris Jones 9d2f5d6466 Clear the WM urgency hint on all mouse clicks. Partially closes LP #600280 2010-07-03 18:14:37 +01:00
Chris Jones baa7c81593 When closing a window, formally close all the terminals within. Closes LP #308025 2010-07-03 18:08:46 +01:00
Chris Jones 581a738c62 Preserve cwd into new windows. Closes LP #597651 2010-07-03 16:16:50 +01:00
Chris Jones 838d27bb60 Be even more defensive about URL handling. Closes LP #554571 2010-07-03 16:05:15 +01:00
Chris Jones fdf169a2fd Only display the menu item for Preferences if there is support for Gtk Builder 2010-07-02 11:09:21 +01:00
Chris Jones 5fb0f518c8 Apply a slightly modified version of Mike Miller's patch to improve backwards compatibility with older pygtk. Closes LP #589216 2010-06-30 11:33:34 +01:00
Chris Jones 29ee8ace1b Add copy_on_selection to the profile editor 2010-06-24 21:56:18 +01:00
Chris Jones 0533af23ae Enable selecting a profile's encoding via the prefs UI. Closes LP #597340 2010-06-23 12:03:04 +01:00
Chris Jones b13d7fc43c Remove a spurious print 2010-06-23 07:30:59 +01:00
Chris Jones 45a9c26cf2 Switch the plugin prefs pane back to live loading/unloading of plugins without silly compromises 2010-06-23 00:48:06 +01:00
Chris Jones 70a66ee218 Switch the plugin enabling/disabling to not work online, but to save the state for later 2010-06-21 22:44:09 +01:00
Chris Jones 51fe811b85 Add a method for determining if a plugin is permanent - i.e. if it cannot be unloaded 2010-06-20 23:56:11 +01:00
Chris Jones 80289911f1 Some plugins can't ever be disabled. Detect and obey 2010-06-20 22:56:19 +01:00
Chris Jones c649da9949 Partially populate the Plugin tab in the prefs UI so plugins can be enabled and disabled 2010-06-20 22:41:55 +01:00
Chris Jones 6bc310d58c Also grandfather in the apturl url handler plugin, since that was previously enabled by default 2010-06-18 13:08:17 +01:00
Chris Jones 69e4ae1875 Switch plugins from being enabled by default to being disabled by default. An annoying change to have to make, but since almost nobody is using them yet, hopefully nobody will notice 2010-06-18 13:07:02 +01:00
Chris Jones df43e67239 Fix pasting so we always use our own paste method rather than VTE's so pasting with the keyboard shortcut works in groups 2010-06-17 14:08:54 +01:00
Chris Jones 5b5739df0e Add some more debugging to layout creation 2010-06-15 15:19:05 +01:00
Chris Jones a30ae88e2b Add a plugin that allows one to watch a terminal for activity 2010-06-15 14:59:27 +01:00
Chris Jones 6cdd57c67c This is an ugly, ugly method to be adding, but it's probably necessary, sadly 2010-06-15 14:54:43 +01:00
Chris Jones e753470633 We should destroy the gerr dialog in the context it exists in 2010-06-15 14:54:24 +01:00
Chris Jones 6dce92b1a0 Make pylint happier with plugins 2010-06-10 16:56:17 +01:00
Chris Jones ff9763cf2b Make pylint happy and simplify the handling of the savefile dialog 2010-06-10 16:53:53 +01:00
Chris Jones 44f99c7738 Remove an unused demo/test plugin 2010-06-10 16:53:23 +01:00
Chris Jones 3c0d7bd566 Fix cancellation of Terminalshot dialog 2010-06-10 14:51:24 +01:00
Chris Jones 6229de7387 Add a plugin that saves screenshots of individual terminals 2010-06-10 13:52:36 +01:00
Peter Bjørn Jørgensen 4a01a4ea5b Merged with trunk 2010-06-04 00:16:42 +02:00
Chris Jones cdf5f9f14e Improve label used to describe titlebar foreground colour. Closes LP #576279 2010-06-03 22:54:22 +01:00
Chris Jones 3018ebee21 Drop an avoidable incompatibility with python 2.4. Closes LP #589200 2010-06-03 16:37:58 +01:00
Chris Jones f2c62067c1 Handle creation of multiple tabs in a layout. Closes LP #583041 2010-05-25 20:08:20 +02:00
Peter Bjørn Jørgensen 2ef3964b39 Merged with trunk 2010-05-17 22:50:03 +02:00
Peter Bjørn Jørgensen e67c092600 Merged with trunk 2010-05-15 20:21:21 +02:00
Peter Bjørn Jørgensen b956c0ede3 Implemented the show/hide feature
added the following options to make terminator
	able to behave like a drop-down terminal:
		hide from taskbar
		always on top
		hide on lose focus (experimental)
		sticky (Show on all workspaces)
2010-05-15 20:07:07 +02:00
Chris Jones 3aba98dade Don't override the default profile when deleting that profile, and don't explode if a profile goes away 2010-05-15 16:00:09 +02:00
Chris Jones c64d71b809 Restore the command line -p option to specify a particular profile. This is then enforced as the default for new terminals 2010-05-15 15:51:20 +02:00
Chris Jones 622604d9b5 Appease the folks who demand totally hidden titlebars, by making the titlebars able to totally hide. This does not yet fully address the issue of showing group membership and/or event transmission/reception state while grouped without losing a line of terminal to forced titlebar display. That can come later if it is reasonably possible 2010-05-15 15:30:13 +02:00
Chris Jones 4184acef3c Add a fixme 2010-05-15 14:18:22 +02:00
Chris Jones d12223769b guard against gtk/pygtk not letting us call set_orientation() on gtk.Box 2010-05-13 09:17:30 +02:00
Chris Jones 630da9b06d I think tabs should always be homogeneous. Let's see how that works out 2010-05-05 12:53:01 +01:00
Chris Jones 4fca314259 Note the deprecation of Terminal::get_cursor_position 2010-05-05 09:46:09 +01:00
Chris Jones 785ed8b591 Apply modified patch from Juan Manuel Santos to improve the directional navigation by not relying on bogus assumptions about the behaviour of get_cusor_position 2010-05-05 09:44:55 +01:00
Chris Jones 70ab3b0f71 Store terminal titles in layouts 2010-04-22 23:14:03 +01:00
Chris Jones f02f08314e Make inserted pages when splitting also be reorderable. Closes LP #563445 2010-04-20 12:38:49 +01:00
Chris Jones 5eba5c7751 Actually set a profile if it's specified in a layout 2010-04-20 12:30:43 +01:00
Chris Jones dfaaec5458 Store a Terminal's group in a layout, if it has one. Restore it too. Closes LP #566925 2010-04-19 23:41:54 +01:00
Chris Jones 682f0bd3f7 Apply some policy to the original cwd we inherit - if it's / then our parent process is probably some kind of app launcher, so we'll try to be helpful and make our cwd be ~ 2010-04-18 09:49:32 +01:00
Chris Jones b24425f1d3 Release actions for 0.93 2010-04-15 21:15:02 +01:00
Chris Jones 6a5f3381a7 Block tab creation while zoomed. Closes LP #563911 2010-04-15 20:32:25 +01:00
Chris Jones 9a90d48137 Wrap our dbg/err prints in an exception handler, since std.stderr is unfunctional in certain circumstances. Closes LP #562490 2010-04-15 12:59:19 +01:00
Chris Jones 291f4d6ff2 Set the GtkCellRendererAccel used to represent keybindings into its OTHER mode so it handles Ctrl-Tab. I don't fully understand the implications of this, but in testing it seems to work. Closes LP #561710 2010-04-15 12:49:01 +01:00
Chris Jones 4b6724c8a4 Make the palette selection handle custom palettes better and ignore case when matching colourschemes 2010-04-15 12:31:49 +01:00
Chris Jones a9707f4bbf Handle custom colourschemes better 2010-04-15 12:22:54 +01:00
Chris Jones 4f6235bc5e Thanks to some #pygtk folks we now have a way out of the ridiculous 16bit colour values that Gtk+ gives us from the ColorPicker widget. Now we get the 8bit values that everyone is used to 2010-04-13 23:17:52 +01:00
Chris Jones 5ac45778d5 Relax the checking of navigability slightly, to handle the case where handle_size=0. Closes LP #562039 2010-04-13 12:55:10 +01:00
Chris Jones f05986fe72 Update the configuration when text entries change, not when they're activated 2010-04-13 12:52:16 +01:00
Chris Jones 909d424911 Remove duplicate alternate_screen_scroll 2010-04-13 12:31:37 +01:00
Chris Jones da8df9daa2 seriously, pygtk does some weird things. Make the url handler even more defensive about which scheme it chooses. Closes LP #554571 2010-04-12 22:45:45 +01:00
Chris Jones bd3da1e8ff When removing a notebook child and adding a new one we need to do it in one move so we can preserve the tab ordering. Closes LP #490627 2010-04-12 21:35:24 +01:00
Chris Jones 51ae3cd95a Set a tab as reorderable after adding it, not before 2010-04-11 23:08:00 +01:00
Chris Jones c284baa7c0 This is how everyone else styles their notebook tab close buttons. It's a bit bigger than we had before, but that's the price you pay I guess. Closes LP #559185 2010-04-11 18:55:35 +01:00
Chris Jones 58921fbcc7 Include the final page of children in the list of children of the Notebook. Closes LP #546665 2010-04-11 15:51:18 +01:00
Chris Jones 463ea45d3a When removing a Notebook, make sure focus goes to a terminal. Closes LP #558375 2010-04-11 15:31:42 +01:00
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 71e6acd6e4 Prevent splitting while a terminal is maximised/zoomed. Closes LP #558330 2010-04-09 12:38:33 +01:00
Chris Jones 29015d7969 Apply slightly modified patch from Kees Cook which allows configuration of VTE's alternate screen scrolling. Closes LP #558832 2010-04-09 12:34:05 +01:00
Chris Jones 5c43b371e9 Handle on_hide_window() being called with no data. It may actually always be called that way 2010-04-09 12:30:47 +01:00
Chris Jones f9352625c4 Tidy up handle size handling a little, but it is still insufficient, albeit not regressive 2010-04-07 22:23:31 +01:00
Chris Jones 09e8f37cb2 Administrivia for 0.92 2010-04-07 21:58:51 +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 240d81c5cd Add another layer of protection against weird things making us set a stupid geometry hint that stops us from being able to resize smaller 2010-04-07 12:17:11 +01:00
Chris Jones cf8cf9a506 Take the easy way out of fixing geometry hinting to work with Notebooks - cowardly refuse to do it. 2010-04-07 12:14:31 +01:00
Chris Jones f488231ad1 Fix a couple of subtle bugs relating to closing tabs. Closes LP #556490 2010-04-06 23:45:05 +01:00
Chris Jones 182a0971bb Switch the default to a palette more like 0.14 had 2010-04-06 22:55:40 +01:00
Chris Jones 87283a927a Hook up the palette options in Preferences 2010-04-06 22:36:09 +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 dec2e53cbb Even if we have an RGBA colourmap, we don't really want one unless we have compositing going on 2010-04-06 20:51:29 +01:00
Chris Jones ebb262834a Don't store color_scheme in the config file in addition to storing foreground/background colours. We can use those to infer which scheme is in use easily enough 2010-04-06 12:36:45 +01:00
Chris Jones 2b7d22be00 Pick what should be a slightly more reasonable default palette 2010-04-06 12:24:33 +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 21885c424f Don't spit out multiple identical errors when failing to open a config file 2010-04-05 23:06:30 +01:00
Chris Jones 13a140da7d Switch from using deskbar's key binding interface to python-keybinder which is essentially the same code, but as a standalone module, thus reducing the (albeit soft) dependencies 2010-04-02 17:06:39 +01:00
Chris Jones 0e5e66cce0 We can't ask windows to be less than 1x1 2010-04-02 17:04:54 +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 6a2d75c33c Merge (with minor modifications) some fixes for safety wrt font names and rounding background darkness values 2010-04-02 15:04:44 +01:00
Andrew Felske c77a23a032 Remove TODO for previous commit. 2010-04-02 01:46:46 +00:00
Andrew Felske 7768db9081 Make sure system font name isn't None before trying to set it. Also round the background darkness float value to two decimal places. 2010-04-02 01:21:18 +00:00
Chris Jones efafd65221 Update tab bar position when it is changed, if apropriate 2010-04-01 23:15:42 +01:00
Chris Jones fba64128e6 Flip the tab label widget group into a vertical orientation if the tab bar is on the left/right. Closes LP #553426 2010-04-01 23:07:55 +01:00
Chris Jones d6e011281e Prevent colourscheme oddness setting null foreground/background colours. Closes LP #553383 2010-04-01 22:05:14 +01:00
Chris Jones dde412a53b Fix handling of background_darkness changing. Closes LP #553276 2010-04-01 14:39:38 +01:00
Chris Jones 14e4b4d3fe Fix --working-directory. Closes LP #552497 2010-03-31 14:02:55 +01:00
Chris Jones ce2baa8d42 update versions and changelogs for 0.91 2010-03-31 10:57:39 +01:00
Chris Jones 1afd5a3ced Fix the handler for handle size changing 2010-03-31 09:26:09 +01:00
Chris Jones 15c0138dc3 Fix the config filename when saving 2010-03-31 09:25:45 +01:00
Chris Jones 2f5c494f68 Go back to using the real config file name 2010-03-30 23:49:05 +01:00
Chris Jones 0232e0b19a Remove some unused default configs 2010-03-30 22:50:46 +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 1a6f659a40 The second part of that being, actually set it to 1 and not True 2010-03-21 00:49:22 +00:00
Chris Jones 53ef40d847 Don't blat options.debug with a simple truth when it should be an integer 2010-03-21 00:48:39 +00:00
Chris Jones 16bc247b0e Attach the debug server to the context menu 2010-03-19 22:16:08 +00:00
Chris Jones 837bd3c5d2 Start working on optional GNOME Session management 2010-03-19 12:39:44 +00:00
Chris Jones e7c297277f Save the config when adding or removing layouts 2010-03-18 23:11:18 +00:00
Chris Jones 8ed1613951 Describe the current profile if it's non-default 2010-03-18 23:11:07 +00:00
Chris Jones b4d259f053 Fix splitting from the context menu so it sends the cwd 2010-03-11 14:30:07 +00:00
Chris Jones 2164f32ddb Kludge the layout creation until it works 2010-03-11 13:04:01 +00:00
Chris Jones 8610a845bc Implement a get_children() method in our Container widgets to override gtk.Container.get_children() with something that guarantees ordering in the returned list 2010-03-10 22:51:33 +00:00
Chris Jones 4cb4a9bc48 Deepcopy the layout before we trash it as we unwind it into a tree. 2010-03-10 12:52:50 +00:00
Chris Jones 2e116b09eb inhibit config saving while we're loading the config into the GUI, otherwise it saves a whole bunch for no good reason. Update the LayoutEditor's idea of the layout name when it's renamed. Set the layout item command/profile to the default values if there are no stored values. Save the layout item command/profile when they change. 2010-03-10 12:52:25 +00:00
Chris Jones 2ce78b7903 Add the ability to inhibit config saving 2010-03-10 12:51:16 +00:00
Chris Jones b7e9c4d02c Switch from static storing of values to storing them immediately when the user changes them. This needs a whole heap of refactoring to make the setter methods more generic, and we need to think about all the calls to Concig.save() 2010-03-09 13:09:07 +00:00
Chris Jones 4d1d293804 Update to use the new split_axis method signature 2010-03-08 21:46:45 +00:00
Chris Jones 27d8223a28 Change all GUI object names to use underscores instead of minus signs, so glade doesn't suggest syntactically invalid signal handler names 2010-03-06 11:09:32 +00:00
Chris Jones ccc68c9f95 Start adding handlers for all of the objects. We should do instant application instead of the crazy huge set/store methods 2010-03-06 10:13:46 +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 b8703fdecb Layout item handling is now done via a separate controller object. 2010-03-05 22:20:48 +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 b617becdd8 Add the Ambience colour theme, add the layout contents TreeView, rework some Cursor settings 2010-03-05 12:42:58 +00:00
Chris Jones 67d9e136f3 Add an Ambience colour scheme, to match the new GNOME Terminal profile in Lucid 2010-03-05 12:29:51 +00:00
Chris Jones ffc6a67e03 Don't blat the default layout with an empty one 2010-03-05 12:29:02 +00:00
Chris Jones 7cc7ef80d3 Duck typing. This is a defence against Client Side Decorating in Gtk+ and other random weirdnesses 2010-03-04 11:59:36 +00:00
Chris Jones 94f0fd194c get_children() is unhelpful in this context for some reason, use get_child() instead 2010-03-02 21:01:20 +00:00
Chris Jones cc77c3bc4e Drag and drop ordering continues to be insane. Refactor it so we're not double-negativing. This appears to fix everything about it 2010-03-02 20:38:28 +00:00
Chris Jones 8e0c5aacbc pylint fix, add a docstring 2010-03-02 20:37:52 +00:00
Chris Jones 79c48b21ca fix incorrect method signature 2010-03-02 20:37:41 +00:00
Chris Jones 950da4dec3 pylint cleanups 2010-03-02 20:35:06 +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 afdbaa3fe6 Upgrade configobj to 4.7.2 2010-03-02 00:25:44 +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 da7e7850b0 Add support for window sizes in the layout 2010-02-27 15:18:08 +01: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 64a0f70c41 Build out support for containers to report a position to the layout. This now works for Windows, but will require significantly more work for Paneds 2010-02-27 14:55:38 +01:00
Chris Jones d51d9cd700 Stop using goocanvas for now 2010-02-27 14:06:53 +01:00
Chris Jones 98c3979b88 Don't debug print the layout 2010-02-27 14:05:08 +01:00
Chris Jones 7d80561710 Create paned layouts in a consistent order 2010-02-27 14:04:50 +01:00
Chris Jones 684c6875cb Start implementing layout creation in Notebook 2010-02-27 14:04:15 +01:00
Chris Jones 9b6cdcd4ac Previous split_axis() changes were insufficient. Apply the changes across all of the Containers and improve the implementation generally 2010-02-27 13:30:38 +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 f9e5a69c71 Initialise command_line_options 2010-02-21 11:55:29 +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 b1e4d7710d Add two new debugging option strings for filtering on specific classes/methods 2010-02-17 21:16:52 +01:00
Chris Jones 54305c8254 Add basic support for filtering in dbg() to reduce the noise if someone only cares about a few classes/methods 2010-02-17 21:15:33 +01:00
Chris Jones 8e8c33b5b8 Make this debug actually be a debug 2010-02-17 21:04:57 +01:00