summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Ira W. Snyder [Sat, 26 Jan 2008 19:32:39 +0000 (11:32 -0800)]
[Window] Add the ability to set the initial number of TildaTerminals
This gives TildaWindow the ability to start an arbitrary number of
TildaTerminals when it is started. This is an oft-requested feature. :)
Ira W. Snyder [Sat, 26 Jan 2008 19:23:06 +0000 (11:23 -0800)]
[Window] Use the configuration system to retrieve startup values
This hooks into the configuration system to get all of the property
startup values, currently out of the defaults in the configration
system.
Ira W. Snyder [Sat, 26 Jan 2008 19:01:15 +0000 (11:01 -0800)]
[Terminal] Use the configuration system to retrieve startup values
This hooks into the configuration system to get all of the property
startup values, currently out of the defaults in the configuration
system.
Ira W. Snyder [Sat, 26 Jan 2008 07:51:01 +0000 (23:51 -0800)]
Add the config system to main()
This sets up and frees the config system in main(), which gets us set up
to start querying the config system when we start a TildaTerminal or
TildaWindow.
Ira W. Snyder [Sat, 26 Jan 2008 06:02:31 +0000 (22:02 -0800)]
[Config] Add initial implementation of the configuration subsystem
This is my initial attempt at a configuration subsystem. I used what
I believe to be sensible defaults for now. They will probably have to
be changed later.
This version of the config system is missing the ability to actually
load a GKeyFile. It just ignores it for now.
This version of the config system is missing versioning and migration
capabilities. They will be added later.
Ira W. Snyder [Sat, 26 Jan 2008 04:46:32 +0000 (20:46 -0800)]
Add missing extern to tilda.h
The declaration of the project-global dbus_connection was missing the
extern keyword. Also, added the -Wshadow option to the Makefile, just
in case it can help find some errors.
Ira W. Snyder [Fri, 25 Jan 2008 08:46:28 +0000 (00:46 -0800)]
Fix some tomboy warnings
There were some warnings because of the use of EggVirtualModifierType,
but the type can be changed to the GdkModifierType. A close examination
of the code shows that they are already equivalent, anyway.
Some of the code that was in the eggaccelerators.c has been moved into
GTK+. Some research shows that libegg was a staging library to test
experimental code before moving it into GTK+. This explains why lots of
the eggaccelerators.c code is duplicated exactly in GTK+.
Ira W. Snyder [Fri, 25 Jan 2008 02:06:50 +0000 (18:06 -0800)]
Clean up Tomboy's code
This removes the unused tomboyutil code, as well as using a GTK+ function
to get the accelerator names. This reduces our code size quite a lot.
Code size reduction: (for a stripped, non-debug build)
before: 43468 bytes
remove tomboyutil: 43372 bytes
remove egg-code: 39256 bytes
So we save a total of 4212 bytes. Pretty good.
Ira W. Snyder [Thu, 24 Jan 2008 03:44:26 +0000 (19:44 -0800)]
Add Valgrind suppressions
This adds a suppression file to silence some warnings from GLib and
fontconfig, both of which are out of my control.
Ira W. Snyder [Wed, 23 Jan 2008 22:41:18 +0000 (14:41 -0800)]
Add more good defaults to .gitignore
Some temporary build files were showing up as untracked in git. Ignore
them, because we don't need to be constantly reminded.
Ira W. Snyder [Wed, 23 Jan 2008 22:36:51 +0000 (14:36 -0800)]
[Controller] Disallow multiple TildaWindows to bind to the same key
Previously, it was possible to have two TildaWindows be simultaneously pulled
down via the same key binding. This has the potential to be very cool, but also
very confusing. For now, completely disable this ability. In the future, it
will be re-enabled via a hidden option.
Ira W. Snyder [Wed, 23 Jan 2008 22:00:20 +0000 (14:00 -0800)]
[Controller] Rename tilda_controller_delete_window()
This renames tilda_controller_delete_window() to
tilda_controller_remove_window() to keep with the naming scheme in the
TildaWindow class.
Ira W. Snyder [Wed, 23 Jan 2008 21:44:59 +0000 (13:44 -0800)]
Rename tilda_initialize_dbus() to tilda_dbus_init() for consistency
This is a simple rename of the function tilda_initialize_dbus() to
tilda_dbus_init() to keep the naming scheme of initialization functions
consistent.
Ira W. Snyder [Wed, 23 Jan 2008 21:38:29 +0000 (13:38 -0800)]
Add TildaController class
Add a GObject TildaController which controls many TildaWindows. This gives
us a really good place to keep the GPtrArray of windows, and keeps that code
out of tilda.c.
Ira W. Snyder [Wed, 23 Jan 2008 00:48:52 +0000 (16:48 -0800)]
Add debugging + translation features to their own headers
This moves the debugging features previously in tilda.h into the debug.h
header. It also moves the translation (GNU gettext / NLS) stuff into
the translation.h header.
Ira W. Snyder [Wed, 23 Jan 2008 07:53:26 +0000 (23:53 -0800)]
Don't try to catch SIGKILL
It is impossible to catch SIGKILL, so don't even bother trying...
Ira W. Snyder [Wed, 23 Jan 2008 06:30:24 +0000 (22:30 -0800)]
[Window] Unbind global keybinding during dispose
Previously, the global keybinding was not released during TildaWindow's
dispose phase. This made it possible to enter the callback without a
valid TildaWindow. Eek.
Ira W. Snyder [Wed, 23 Jan 2008 00:44:36 +0000 (16:44 -0800)]
[Window] Add missing header
This adds a missing header which caused a warning (but not a compile
failure). It also adds a couple of comments detailing why we have
included certain headers.
Ira W. Snyder [Tue, 22 Jan 2008 20:06:33 +0000 (12:06 -0800)]
[Window] Another try at thwarting focus-stealing prevention
Try to keep focus-stealing prevention out of our way. This unconditionally
sets the X11 property _NET_WM_USER_TIME on our window when activated
by the global keybinding callback.
Ira W. Snyder [Tue, 22 Jan 2008 19:40:50 +0000 (11:40 -0800)]
[Window] Focus new VteTerminals when adding a new tab
Previously, whenever a new tab was added, the notebook page was given
the in-window focus. The focus should have been given to the VteTerminal.
Ira W. Snyder [Sun, 20 Jan 2008 04:04:34 +0000 (20:04 -0800)]
[Terminal] Add Close method to the DBus API
This method allows the user to close a terminal over DBus. This gives
TildaTerminal the same feature as TildaWindow.
Ira W. Snyder [Sun, 20 Jan 2008 03:29:16 +0000 (19:29 -0800)]
[Terminal] Add RunCommand method to the DBus API
The RunCommand method allows users to send arbitrary text over DBus,
and have it entered into the terminal as if they had typed it themselves.
This is a feature which was requested by Chris Ward. Thanks!
Ira W. Snyder [Sun, 20 Jan 2008 02:47:05 +0000 (18:47 -0800)]
[Window] Add Close DBus Method call
Add the Close method call to the DBus API. This allows users to close
a running window.
Ira W. Snyder [Sun, 20 Jan 2008 01:24:08 +0000 (17:24 -0800)]
[Window] Export the AddTerminal method over DBus
This exports a method to add a terminal to the window that the
AddTerminal message is sent to.
Ira W. Snyder [Sun, 20 Jan 2008 01:13:18 +0000 (17:13 -0800)]
[Terminal] Mark all translatable strings
Mark all translatable strings for translation with gettext.
Ira W. Snyder [Sat, 19 Jan 2008 23:14:41 +0000 (15:14 -0800)]
[Window] Mark strings for translation
This marks all of the eligible strings in TildaWindow for translation
with gettext.
Ira W. Snyder [Sat, 19 Jan 2008 23:04:47 +0000 (15:04 -0800)]
[Terminal] Rename constant TILDA_TERMINAL_TW to TILDA_TERMINAL_PARENT_WINDOW
The old name of this constant was a relic from the beginnings of
TildaTerminal, when I was still unfamiliar with the GObject system. There
is no longer any problem with using a much more descriptive name.
Ira W. Snyder [Sat, 19 Jan 2008 23:02:16 +0000 (15:02 -0800)]
[Terminal] Remove "window-number" attribute
TildaTerminal already has a direct reference to the parent window through
the "parent-window" property, therefore, this is no longer needed.
Ira W. Snyder [Sat, 19 Jan 2008 22:50:11 +0000 (14:50 -0800)]
Add signal handlers
This adds a signal handler which calls gtk_main_quit() for the following
signals: SIGINT, SIGQUIT, SIGABRT, SIGTERM, SIGKILL. It gives us a place
to clean up, even if we have a problem.
If handling is needed for more signals, they can be added later. They can
be differentiated in the signal handler by using the signum variable.
Ira W. Snyder [Sat, 19 Jan 2008 22:37:15 +0000 (14:37 -0800)]
Exit when out of terminals or windows
Previously, Tilda would continue to run even with no TildaTerminals
in the TildaWindow->terms array. A similar situation existed with the
Tilda->windows array.
This patch makes both places clean up after themselves and exit
their section when appropriate. The API isn't very good yet, it will
need to be improved in the future.
Ira W. Snyder [Sat, 19 Jan 2008 04:38:01 +0000 (20:38 -0800)]
Add single-instance detection
This makes the DBus startup routines discover if there is another instance
of Tilda already running, and if so, prints a message and exits.
Ira W. Snyder [Sat, 19 Jan 2008 04:28:27 +0000 (20:28 -0800)]
Warning Fixes
This adds -Wall to the default build flags, and fixes all of the important
warnings. The only ones left have to do with the type of argument for
the tomboy keybinder callback functions, and the non-casted pointers in
debug_printf() statements.
Ira W. Snyder [Sat, 19 Jan 2008 00:41:08 +0000 (16:41 -0800)]
Add initial command-line interface
This adds the first option to the command-line interface: version information.
More will be needed in the future, but I'm not ready for interface design yet,
so it will wait until later.
Ira W. Snyder [Fri, 18 Jan 2008 22:23:22 +0000 (14:23 -0800)]
[Window] Remove extra variable
TildaWindow's scrollbar_position variable was unused since the capability
for adjusting scrollbar position was moved into TildaTerminal. This removes
the variable, since it's no longer needed.
Ira W. Snyder [Fri, 18 Jan 2008 09:22:15 +0000 (01:22 -0800)]
Add gettext support to Tilda
This adds proper gettext support to Tilda, so that it can be
internationalized at a later date. Not all strings are marked, yet.
Note that this will not work as-is, because some additional #define's
are needed. They will be provided when the project is autoconfed.
Ira W. Snyder [Fri, 18 Jan 2008 06:40:37 +0000 (22:40 -0800)]
Remove old main() functions
Previously, there were main() functions in both tilda-terminal.c and
tilda-window.c. They were used for testing when originally implementing
the TildaTerminal and TildaWindow types, respectively.
Since they are no longer useful, and probably wouldn't run anyway,
they can be removed.
Ira W. Snyder [Fri, 18 Jan 2008 06:26:16 +0000 (22:26 -0800)]
Add debugging macros + use them
This adds three debugging macros (debug_enter(), debug_assert() and
debug_printf() for use printing debugging information. They are #define'd
in the same style as those in the Linux Kernel.
If DEBUG is defined, they do something useful, otherwise, they are compiled
away to nothing.
Ira W. Snyder [Fri, 18 Jan 2008 04:11:44 +0000 (20:11 -0800)]
[Window] Add centering capability
Add the missing implementations of the "centered-horizontally" and
"centered-vertically" properties. They now work as expected.
Ira W. Snyder [Fri, 18 Jan 2008 02:02:48 +0000 (18:02 -0800)]
[Window] Add more hardcoded settings for testing
Add some more settings which are just hardcoded in the source for the sake
of testing until the configuration system is integrated.
Ira W. Snyder [Fri, 18 Jan 2008 02:01:37 +0000 (18:01 -0800)]
Add ability to build in "see what symbols aren't used" mode
This is a very performance-degrading option, if turned on. Luckily, it's
only at build time. Since this project isn't autoconfed yet, we'll just
uncomment the proper options by hand.
Ira W. Snyder [Fri, 18 Jan 2008 01:11:06 +0000 (17:11 -0800)]
[Window] Add "hidden-at-start" support
Adding this feature required some fixes in TildaTerminal. Some widgets
weren't being shown at the right time. This was masked by the
gtk_widget_show_all() in the TildaWindow start-up code.
Ira W. Snyder [Fri, 18 Jan 2008 00:55:32 +0000 (16:55 -0800)]
[Window] Bugfixes in pull() code
This fixes numerous bugs in the pull() code. Some window properties were
being reset by Metacity when the window was hidden, so we must re-set them
every single time the window is re-shown. Lame.
Also, Metacity iconified (minimized) the window if it was pulled down on
one workspace, pulled up while on another workspace, then pulled down on
the current workspace. We'll have to work around that (stupid) behavior
too. Doubly lame.
Ira W. Snyder [Fri, 18 Jan 2008 00:42:50 +0000 (16:42 -0800)]
[Window] Add more property implementations
Gives most of the remaining directly-settable NOOP properties the correct
implementation.
Ira W. Snyder [Fri, 18 Jan 2008 00:27:01 +0000 (16:27 -0800)]
[Window] Rename property "pinned" to "stick"
This change continues the trend of keeping our properties the same as those
which we are exporting from GtkWindow.
Ira W. Snyder [Fri, 18 Jan 2008 00:21:28 +0000 (16:21 -0800)]
[Window] Rename property "show-in-taskbar" to "skip-taskbar-hint"
This change continues the trend of keeping our properties the same as those
which we are exporting from GtkWindow.
Ira W. Snyder [Thu, 17 Jan 2008 05:57:49 +0000 (21:57 -0800)]
[Window] Make TildaWindow respect size changes
This makes TildaWindow respect changes in its size via the "height" and
"width" properties. Previously, these were NOOPs.
Ira W. Snyder [Thu, 17 Jan 2008 05:52:47 +0000 (21:52 -0800)]
[Window] Rename max-height and max-width properties
Rename the max-height and max-width properties to height and width,
respectively. Now that min-height and min-width are gone, there is no need
for the "max" prefix.
Ira W. Snyder [Thu, 17 Jan 2008 05:11:58 +0000 (21:11 -0800)]
[Window] Remove min-height and min-width properties
The min-height and min-width properties are unused in the 0.9.6pre version
of Tilda, so remove them from this version. I haven't heard anyone asking
for us to keep Tilda "partially-open" when pulled up, so for now, this
feature can disappear.
Ira W. Snyder [Wed, 16 Jan 2008 21:07:43 +0000 (13:07 -0800)]
[Window] Focus the VteTerminal when pulled down
This has the PULL_DOWN code automatically focus the VteTerminal
so that the user can begin typing. This was originally handled by
a callback, but this seems not to be necessary. It seems easier to
handle it in the PULL_DOWN code.
Ira W. Snyder [Wed, 16 Jan 2008 20:19:44 +0000 (12:19 -0800)]
[Window] Hide window decorations
The window decorations should not be shown, ever.
Ira W. Snyder [Wed, 16 Jan 2008 20:16:42 +0000 (12:16 -0800)]
[Window] Add positioning capability
The TildaWindow class had the capability to set the x-position and
y-position properties, but they had no effect. This adds the appropriate
gtk_window_move() calls so the position is set up correctly.
Ira W. Snyder [Wed, 16 Jan 2008 07:05:45 +0000 (23:05 -0800)]
Add a basic pull() workalike
This really needs to be expanded into the full pull() that the
old Tilda has, but this is great for testing.
Ira W. Snyder [Wed, 16 Jan 2008 01:33:13 +0000 (17:33 -0800)]
Import utilities from Tomboy
This imports the global keybinder, along with its dependencies, as well
as the improved presentation functions (to deal properly with focus-stealing)
from Tomboy (http://www.gnome.org/projects/tomboy/). Thanks GPL!
The keybinder is minimally modified from the tomboy version. Instead of
returning void, it returns a gboolean indicating whether or not the
key-grab was successful.
The utilities package has only the #include "config.h" removed.
Ira W. Snyder [Tue, 15 Jan 2008 23:17:42 +0000 (15:17 -0800)]
[Window] Add all properties
This adds all of the properties that were present in the old Tilda. Note
that currently, none of them have implementations, so nothing more than
getting / setting works.
Ira W. Snyder [Tue, 15 Jan 2008 21:59:37 +0000 (13:59 -0800)]
[Terminal] Add scrollbar-position property
This was originally going to go in the TildaWindow class, but it really
is nice to have the scrollbar position customizable on a per-terminal
basis.
Ira W. Snyder [Tue, 15 Jan 2008 03:53:40 +0000 (19:53 -0800)]
[Terminal] Add URL matching support
This adds the excellent URL matching support, mostly copied from the old
tilda_terminal.c.
Ira W. Snyder [Tue, 15 Jan 2008 03:52:20 +0000 (19:52 -0800)]
Build with DEBUG defined
This will make sure that all extra debugging information is turned on, which
is especially important during this phase.
Ira W. Snyder [Mon, 14 Jan 2008 21:08:18 +0000 (13:08 -0800)]
[Terminal] Add web browser property
This adds the web-browser property to TildaTerminal. It will be used to
set the user's desired web browser for use when right clicking on WWW
hyperlinks.
Ira W. Snyder [Mon, 14 Jan 2008 08:24:43 +0000 (00:24 -0800)]
[Terminal] Add transparency support
This adds the ability to specify transparency. With the earlier TildaWindow
changes, this should give true transparency in a composited environment,
but falls back to fake transparency if true transparency is not available.
Ira W. Snyder [Mon, 14 Jan 2008 08:21:28 +0000 (00:21 -0800)]
[Window] Set up real transparency if possible
This adds the RGBA colormap code so that it is possible to have true
transparency if you have a compositor enabled.
Ira W. Snyder [Mon, 14 Jan 2008 07:47:10 +0000 (23:47 -0800)]
[Terminal] Make dynamic titles work properly
Dynamic title generation was not working at all before, now it is
handled by tilda_terminal_window_title_changed_cb().
Ira W. Snyder [Mon, 14 Jan 2008 07:32:02 +0000 (23:32 -0800)]
Make tilda generate only one TildaWindow at launch
The code for automatically figuring out TildaWindow numbers has been
sufficiently tested. The generation of 4 TildaWindows at launch is
no longer needed. One is sufficient for testing from here on out.
Ira W. Snyder [Mon, 14 Jan 2008 06:56:38 +0000 (22:56 -0800)]
[Terminal] Add proper handling of exit_action
This makes TildaTerminal do the proper thing when the child exits, according
to the exit_action member.
Ira W. Snyder [Mon, 14 Jan 2008 06:55:05 +0000 (22:55 -0800)]
[Window] Add tilda_window_remove_term() implementation
Before this, the tilda_window_remove_term() function was just a stub. This
fills it out to a real implementation, which will be used later to close
running terminals.
Ira W. Snyder [Mon, 14 Jan 2008 06:50:34 +0000 (22:50 -0800)]
[Terminal] Add mouse autohide property
This adds the capability to set the mouse to automatically hide itself when
typing into the terminal.
Ira W. Snyder [Mon, 14 Jan 2008 04:53:57 +0000 (20:53 -0800)]
[Terminal] Add tilda_terminal_start_shell()
This adds real capability of starting shells properly to TildaTerminal.
It will now start the proper shell on startup, as well as launching whatever
the user requested by setting the shell member.
Ira W. Snyder [Sat, 12 Jan 2008 21:20:00 +0000 (13:20 -0800)]
[Terminal] Add all properties
Add all of the definitions for all of the properties. Only some of
them are currently fully functional, however.
Ira W. Snyder [Sat, 12 Jan 2008 05:42:04 +0000 (21:42 -0800)]
Make TildaWindow properly generate terminal numbers
This removes the ugly hack of using a static variable to give
unique terminal numbers, and instead determines the correct
terminal number at runtime.
Ira W. Snyder [Sat, 12 Jan 2008 05:34:09 +0000 (21:34 -0800)]
Make TildaWindow determine number correctly
Rather than just using a static, monotonically increasing number
for the TildaWindow numbers, actually have tilda figure out the
correct number.
Ira W. Snyder [Fri, 11 Jan 2008 05:49:49 +0000 (21:49 -0800)]
Hook into DBus
This hooks both TildaWindow and TildaTerminal into DBus so that
methods can be called remotely. This makes all of the requested
scripting possible, which will be great.
This is mainly good for testing. The only functions that are exposed
are the Get and Set properties of the GObjects. I wired in the font-size
change in the terminal, so it is possible to see it in action.
Ira W. Snyder [Fri, 11 Jan 2008 04:45:23 +0000 (20:45 -0800)]
Move main() into its own file
This moves main() into its own file, which paves the way for a little
more realism in the design, and gets us set up for trying out DBus.
Ira W. Snyder [Fri, 11 Jan 2008 03:32:30 +0000 (19:32 -0800)]
Hook TildaTerminal and TildaWindow together
This is the most basic of connections, but it's a good point to start
testing with. We can add tabs to a TildaWindow, and all appears to work
as expected, so far.
Ira W. Snyder [Thu, 10 Jan 2008 01:20:17 +0000 (17:20 -0800)]
[Window] Get set up for integration with TildaTerminal
Ira W. Snyder [Thu, 10 Jan 2008 01:13:43 +0000 (17:13 -0800)]
[Terminal] Get ready for integration with TildaWindow
Ira W. Snyder [Wed, 9 Jan 2008 07:33:55 +0000 (23:33 -0800)]
[Terminal] Add enum types
This should probably be changed to use actual, GType-derived
enum types, instead of faking it with ints.
Ira W. Snyder [Wed, 9 Jan 2008 07:04:31 +0000 (23:04 -0800)]
[Terminal] Add Integer properties
Add the normal integer properties.
Ira W. Snyder [Wed, 9 Jan 2008 05:32:30 +0000 (21:32 -0800)]
[Terminal] Add string properties
This adds the first basic implementation of getting / setting all
of the string properties that will be used in TildaTerminal.
Ira W. Snyder [Tue, 8 Jan 2008 21:24:27 +0000 (13:24 -0800)]
Initial Commit