Commit Graph

1152 Commits

Author SHA1 Message Date
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
Thomas Hurst
31d598bb9b Few gconf fixes; use_system_font should now work again 2008-08-26 21:43:07 +01:00
Thomas Hurst
c304b519ad Handle errors a bit more sensibly, especially with quoted strings 2008-08-26 17:12:29 +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
Emmanuel Bretelle
47bc7bc378 readding thomas changes 2008-08-25 20:56:08 +01:00
Emmanuel Bretelle
f44955b926 Cleaning up rev 490 2008-08-25 20:16:49 +01:00
Thomas Hurst
cac821f58a Add a demo font selection button and a spin button for scrollback 2008-08-24 07:39:49 +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
5f81247353 Feeble exploration of the parts necessary for a graphical profile editor 2008-08-22 00:19:18 +01:00
Chris Jones
93fad0cee1 remove duplicate config default 2008-08-21 23:06:56 +01:00
Thomas Hurst
769b86119b Handle trailing spaces in configs properly; don't make them part of the value.
Handle unquoted palette values.  Parse errors will occur if they're not exact.
2008-08-21 21:57:59 +01:00
Thomas Hurst
fc53521c80 Add a --geometry option. Terminator's constructor is getting a bit long. 2008-08-21 08:07:38 +01:00
Emmanuel Bretelle
e7c57039a4 Fixing Zoom/UnZoom with notebook pages 2008-08-16 13:37:49 +01:00
Thomas Hurst
8ee6c682ca Avoid silently eating gconf exceptions, at least under debug mode. 2008-08-15 17:34:33 +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
894ba31880 Handle case changing better. <Ctrl>F now works like <Ctrl>f rather than <Ctrl><Shift>F 2008-08-15 16:20:08 +01:00
Thomas Hurst
fbd862c1aa Make <Ctrl>plus/minus/etc work 2008-08-15 15:46:38 +01:00
Thomas Hurst
ca66d55bea Make f11_modifier work again. 2008-08-15 13:40:10 +01:00
Thomas Hurst
1f0bb51e76 Make sections and settings case-insensitive (stored lowercase).
When we get profiles we should be case-preserving, but this will do for now.
2008-08-15 13:22:07 +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
Emmanuel Bretelle
0c49debaac Make sure the titlebar is shown consistently
* Fixes LP#249200
2008-08-13 18:12:57 +01:00
Thomas Hurst
c471d636a6 Save a method call. 2008-08-13 02:06:49 +01:00
Thomas Hurst
233fd9630b Make search actually only search valid buffer ranges. 2008-08-13 00:17:40 +01:00
Thomas Hurst
b02ffdc210 Add a basic scrollback search function, attached to Ctrl-Shift-F for now. Type, hit Enter to search, Enter to continue, and Escape to cancel the search (with the input gadget having focus).
A bit slow because VTE's get_text* API is awful.
2008-08-12 02:12:30 +01:00
Thomas Hurst
07457a29bd Style; remove double lines after some methods. 2008-08-11 20:06:41 +01:00
Thomas Hurst
3a7822253a Fix a few missed keybindings. 2008-08-11 19:30:04 +01:00
Thomas Hurst
acaa153810 Style; put method bodies on seperate lines in keeping with the rest. 2008-08-11 19:16:10 +01:00
Thomas Hurst
b16c32baa4 Remove some debugging, remove the unused _f11_modifier attribute 2008-08-11 19:14:26 +01:00
Thomas Hurst
9923c9e347 Tidy imports, remove completely useless comments 2008-08-11 19:12:42 +01:00
Thomas Hurst
be159574d9 We don't need to do a keyname lookup here any more. 2008-08-11 19:08:26 +01:00
Thomas Hurst
e65e396d32 Hook up new keybinding code. Making them configurable shouldn't be far away... 2008-08-11 19:02:14 +01:00
Thomas Hurst
d1787e576d Introduce a class for handling keybindings. Not yet hooked up to anything, but initial tests suggest it works. 2008-08-11 15:30:51 +01:00
Thomas Hurst
f96018f0bc Use TerminatorTerm's get_window_title(), rather than everyone asking vte and failing to handle it properly. 2008-08-07 23:07:21 +01:00
Thomas Hurst
4c0e500c7b Always set some sort of title; if vte's title is None, use the command the terminal is running.
Add an option to spawn a telnet instance to the local debug server in a tab.  newtab() and splitaxis() now support a command argument for this.
2008-08-07 21:34:47 +01:00
Thomas Hurst
6a14445c74 Debugserver debugging fixups. 2008-08-07 18:20:45 +01:00
Thomas Hurst
9a3ddc0854 Do some tidying. Only spawn a server when running with -dd (debug is now a counter, not just a boolean) 2008-08-07 17:26:46 +01:00
Thomas Hurst
61aafbe028 Give our debugserver a reasonable starting environment 2008-08-07 14:59:10 +01:00
Thomas Hurst
d0d81fc152 Introduce a debug service; spawn a Python REPL on a random local TCP port. Supports basic telnet commands, ^C and ^D work, etc. 2008-08-07 05:32:28 +01:00
Chris Jones
807921372b Handle creating popup menus with far less crack, and for kicks, not occasionally spit backtraces trying to create menus. For bonus points, also don't pass the event onto the widget 2008-08-06 23:12:45 +01:00
Thomas Hurst
d51ab3a7e2 Change window titles from Terminator: Title to Title - Terminator. 2008-08-05 11:28:46 +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 Jones
bcb60d1807 swap match adding order to try the Linux friendly one first. This should reduce reports of the libvte warning as being an error 2008-08-02 23:32:10 +01:00
Chris James
66c1de7a43 define _hidden on start 2008-08-01 19:22:28 -05:00
Chris James
58747628a5 fixed hide 2008-07-28 03:54:30 -05: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
Thomas Hurst
29c2d3e44d Make -x work properly. This should close #247330 once and for all.
Refactor spawn_child to move path and shell lookups into their own methods.

Make command a string for -e and a list for -x to distinguish them.

If command is a string, let the shell deal with it, if command is a list,
do a path lookup and run it directly.
2008-07-20 22:15:14 +01:00
Emmanuel Bretelle
0e95abf66f only enable expose-event when in the drag_motion method 2008-07-17 22:09:41 +01:00
Thomas Hurst
e3d3118d67 Tighten some excepts so we don't silently treat real errors as simple ImportErrors 2008-07-17 18:44:21 +01:00
Thomas Hurst
b602ecfe9c Improve formatting 2008-07-17 18:32:24 +01:00
Thomas Hurst
a1c3bc264d Make len a size_t, don't overwrite the len builtin. 2008-07-17 01:11:56 +01:00
Chris Jones
6e4e179aac move subprocess to the right place 2008-07-17 00:28:04 +01:00
Thomas Hurst
15ba71d766 Always spawn commands via a shell, similar to xterm. This makes terminator -e "/bin/bash -c /usr/bin/python" work.
This also makes things like -e "cd $HOME && bash" work; the shell does it for us.  In this respect we are at least better than gnome-terminal.

This has the "disadvantage" that if you don't set $SHELL and don't have a known shell installed, your custom command will no longer save you.  Also if you have a $SHELL which doesn't support -c 'command', it breaks.  These users deserve their pain.

Resolves lp#247330, I think.
2008-07-16 23:13:54 +01:00
Emmanuel Bretelle
18e58148a4 Migrating the DnD overlay code in an expose event
as this seems to be the only way to have an overlay dran with no flicker
2008-07-16 21:00:43 +01:00
Emmanuel Bretelle
735ae78341 well, lets try this 2008-07-16 20:27:16 +01:00
Emmanuel Bretelle
d26fcec77e DnD overlay improvement
LP#249065 if composite is disable, dnd is flickering
2008-07-16 20:17:53 +01:00
Chris Jones
aeebfea852 revert revision 442. LP #245291 isn't sanely fixable by us. vte needs to expose which regexp library it is using 2008-07-13 23:16:19 +01:00
Chris Jones
994d11eb80 let's apply the boundary test the right way around, and also learn to spell 2008-07-13 01:27:08 +01:00
Chris Jones
95cee4485b This should fix LP #245291 2008-07-13 01:12:11 +01:00
Chris Jones
706ff0ca3f merge the candidate branch for LP #245733 2008-07-13 01:04:44 +01:00
Chris Jones
18ffbcd62e Merge Markus Korn's branch for LP #246706 2008-07-13 00:49:30 +01:00
Chris Jones
e6fd2fc5c8 fix some dbg calls to format consistently with the others 2008-07-13 00:36:53 +01:00
Chris Jones
ab07605083 remove LP bug numbers and TODO. I don't think these things should be in the code. FIXMEs seem ok, but I think the others should be in commit messages and bug tracker (not even TODO, I don't think that should exist either) 2008-07-13 00:33:34 +01:00
Markus Korn
5a8718d912 * terminator, terminatorlib/terminator.py: added a '--no-gconf' commandline
option
* doc/terminator.1: updated manpage
2008-07-08 20:38:51 +02:00
Emmanuel Bretelle
cd3013389d fixing LP#247907 and answer#38895
correct typo in terminatorlib/terminatorterm.py
2008-07-12 16:26:33 +01:00
Emmanuel Bretelle
9d97e21aa8 Fixing LP#247893
XDG_CONFIG_HOME is not properly handled
2008-07-12 15:35:36 +01:00
Emmanuel Bretelle
512c8d5091 Fixing LP#247457
resizing the window when creating or destroying the notebook
2008-07-12 13:05:35 +01:00
Emmanuel Bretelle
ace185a76e reverting one change from nxvl 2008-07-12 11:30:47 +01:00
Nicolas Valcárcel
c3aa93eb05 Changed Maximise/Unmaximise underlining as per keybinding 2008-07-11 18:56:44 -05: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
Thomas Hurst
c877b63c40 Terminate a string. 2008-07-06 16:22:22 +01:00
Chris Jones
b240340378 people with python-gnome installed who aren't running gnome need this to be called 2008-07-06 15:54:10 +01:00
Emmanuel Bretelle
429b47f560 merging thomas changes 2008-07-06 14:04:26 +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
Thomas Hurst
45bd2cb444 Tidy the header on freebsd.py a bit, and give it some semblance of a license. 2008-07-06 13:45:25 +01:00
Mackenzie Morgan
a49f4dc43a Move accelerator from A to T on close dialog 2008-07-05 12:55:14 -04:00
Mackenzie Morgan
e3be3519ed Get rid of button label ambiguity 2008-07-05 00:42:12 -04:00
Daniel T Chen
fb3864bded Clarify button labels on close dialog 2008-07-05 00:39:55 -04:00
Chris Jones
909a285200 debug the zooming code more, and make sure we always remove the one-time signal handler 2008-07-05 03:47:13 +01:00
Thomas Hurst
cc73d436ca openurl is no longer global; add some self.'s to make it work. 2008-07-04 07:29:32 +01:00
Thomas Hurst
b200044391 Use xrange instead of range. No functional changes; just means we create fewer lists. 2008-07-04 02:49:56 +01:00
Chris Jones
88eb16ce1e tidy up a little in preparation for release 2008-07-03 23:48:29 +01:00
Chris Jones
c60845cbf9 not sure that this is useful, but whatever 2008-07-03 22:45:28 +01:00
Chris Jones
c20ae50ce0 Add some debugging to the URL opening code 2008-07-03 16:26:04 +01:00
Chris Jones
8a8a183a75 back out RGBA stuff as a candidate fix for LP #242852 2008-07-02 21:00:14 +01:00
Chris Jones
ce0266b0e4 little change to make sure we don't get given gtk1. seems pretty unlikely to happen, but we might as well handle it nicely 2008-07-02 10:16:52 +01:00
Chris Jones
d8a39862f1 Revert commits 291..293 2008-07-01 22:51:12 +01:00
Emmanuel Bretelle
6d1b7080cc Finnaly properly handle close button in notebook tab...
The trick is to use gtk rc_style, yet again, and override default theme values to avoid HUGE tabs
 closing LP#242816
2008-06-29 16:06:56 +01:00
Chris Jones
2fcecce303 minor fix to LP #242852 candidate 2008-06-29 03:01:55 +01:00
Chris Jones
d424fd24e1 candidate fix for LP #242852 2008-06-29 03:01:02 +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
Emmanuel Bretelle
ffdbac8ad2 Attempt to beautify the close button
based on src/terminal-window.c
2008-06-28 16:18:46 +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
Emmanuel Bretelle
d34496416f Closes LP#242816
Adds a close button to the terms.
We might need to visually inform about the number of terms in a tab
2008-06-27 18:11:24 +01:00
Chris Jones
b4ef849f2b oops, don't need this twice here 2008-06-27 01:10:02 +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
Chris Jones
89d0156552 turn a print into a dbg() and fix APP_NAME so icons work 2008-06-18 18:30:47 +01:00
Chris Jones
5544db274d copy and paste for the lose 2008-06-18 15:44:37 +01:00
Chris Jones
0ce3550f6f fix version handling so setup.py doesn't need to import terminator itself. Also fix gettext to work across imported files 2008-06-18 14:02:10 +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
9d72385231 Move OS version check into main body and have it throw an exception on failure so the import fails. 2008-05-22 20:17:53 +01:00
Thomas Hurst
a239876d99 Move cwd detection code about a bit, add FreeBSD support code that'll currently only do anything on 7-STABLE as of last month. 2008-05-21 11:39:30 +01:00
Thomas Hurst
9ef585a7b7 Move terminator*.pyc to terminatorlib. Teach setup.py about the change. 2008-05-21 11:17:55 +01:00