153 Commits

Author SHA1 Message Date
Colomban Wendling
1cea0b6a79 Merge pull request #411 from techee/shadows
Use consistent shadows across Geany
2015-03-26 22:53:29 +01:00
Jiří Techet
1a36eeaf4d Use consistent shadows across Geany
In principle, any scrolled window should have GTK_SHADOW_IN so the scrollbars
are not above the surface and there is a frame around the scrolled area.

The only exception are the elements of the main window where adding
GTK_SHADOW_IN causes there are too many shadows (or lines in 2D themes)
around the windows and the result isn't nice. So use GTK_SHADOW_NONE
for all main editor scrolled windows. (One additional exception is the
Help->Credits page which is gray and the extra frame doesn't look good.)

Replace frame around VTE with GtkViewport to avoid the extra line around.

Raise the second editor from the splitwindow plugin so it's at the same
level as the main editor.
2015-03-22 15:32:54 +01:00
Jiří Techet
e613d93187 Revert some OS X keybinding changes for VTE
While all normal keybindings use the Command key instead of
control key on OS X, all the command-line applications and
terminal emulators use the Ctrl key like on Linux. This includes
Ctrl+C (SIGINT) and Ctrl+D (EOF) for which there is some
special handling in the VTE support in Geany and which should
use GDK_CONTROL_MASK instead of GEANY_PRIMARY_MOD_MASK.
2015-02-13 00:37:21 +01:00
Jiří Techet
1ab9eac704 Use the .dylib extension when loading VTE on OS X 2015-02-10 15:58:01 +01:00
Jiří Techet
82b413e506 Fix keybindings on OS X
On OS X the Command key is used for common keybindings instead
of Ctrl. Introduce a new macro, GEANY_PRIMARY_MOD_MASK that
represents the Command key on OS X and Ctrl on other platforms.

For some events, such as mouse key press, GDK_MOD2_MASK is returned
for the Command key by GTK instead of GDK_META_MASK (which is returned
when Command is pressed together with some other key). To hide this
behavior from users, introduce keybindings_get_modifiers() which can be
used instead of gtk_accelerator_get_default_mod_mask() and which
inserts GDK_META_MASK when GDK_MOD2_MASK is found in the mask
on OS X.
2015-01-20 19:33:06 +01:00
Colomban Wendling
d6382e443f VTE: avoid exporting callbacks that are only used internally 2014-06-24 15:04:37 +02:00
Matthew Brush
4efcbab332 Include what you use
This is a mega-commit - because most of it had to be done in one go
otherwise some commits would fail to compile - that attempts to fix a
few problems with Geany's includes as well as various other related
cleanups. After this change it's easier to use includes and there's
little worry about which order things are included in or who includes
what.

Overview of changes:

* Include config.h at the start of each source file if HAVE_CONFIG_H
  is defined (and never in headers).
* Go through each source file and make the includes section generally
  like this:
  - Always config.h first as above
  - Then if the file has a header with the same name, include that
  - Then include in alphabetical order each other internal/geany header.
  - Then include standard headers
  - Then include non-standard system headers
  - Then include GLib/GTK+ related stuff
* Doing as above makes it easier to find implicit header include
  dependencies and it exposed quite a few weird problems with includes
  or forward declarations, fix those.
* Make geany.h contain not much besides some defines.
  - Add a little header file "app.h" for GeanyApp and move it there
  - Move "app" global to new "app.h" file
  - Move "ignore_callback" global to "callbacks.h"
  - Move "geany_object" global to "geanyobject.h"
* Add an include in "geany.h" for "app.h" since GeanyApp used to be
  defined there and some plugins included this header to access
  GeanyApp.
* Include "gtkcompat.h" everywhere instead of gtk/gtk.h so that
  everywhere sees the same definitions (not a problem in practice AFAIK
  so this could be changed back if better that way.
* Remove forward declarations from previous commits as some people
  apparently consider this bad style, despite that it reduces inter-
  header dependencies.

TODO:
* As always, to test on win32
* As always, to test with not Autotools
* Test plugins better, both builtin and geany-plugins, likely API/ABI bump
* Test with various defines/flags that may change what is included
* win32.[ch] not really touched since I couldn't test
2014-05-21 15:37:19 -07:00
Colomban Wendling
4aff511b01 Remove unnecessary allocation for VTE color settings 2013-12-05 20:16:54 +01:00
Nick Treleaven
0998f1c19c Make code more readable by renaming poorly named macros NZV and NVL
Closes #159
2013-08-14 21:54:20 -07:00
Colomban Wendling
f6e9ac094a Remove use of some of our own deprecated Scintilla wrappers
Remove most obvious calls to our very own deprecated Scintilla wrapper
functions sci_get_text(), sci_get_text_range() and
sci_get_selected_text().

Some calls are still left, but they either really benefit from these
functions or the fix would be more complex.
2013-05-22 04:22:53 +02:00
Colomban Wendling
8ece89096d Merge branch 'master' into gtk3-support 2013-01-29 15:29:10 +01:00
Mislav Blažević
15fddad323 Implement terminal background image 2012-12-18 12:19:53 +01:00
Colomban Wendling
ed2cf2e5f4 VTE: Grab focus upon middle click
When pasting with the X primary clipboard (middle mouse button), the
user expects the focus to be grabbed by the widget receiving the data.

No idea why the VTE itself don't grab upon middle click, though.
2012-12-04 21:52:05 +01:00
Colomban Wendling
394f223b49 Load GTK3 version of the VTE library when built against GTK3 2012-10-08 20:08:07 +02:00
Colomban Wendling
a763e307f7 Don't access GtkWidget fields directly
Since many accessor are new in GTK versions we don't depend on, add
a header that defines them to the direct access if they aren't
available.
2012-10-08 20:08:06 +02:00
Colomban Wendling
faeeaf4bd2 Check the VTE library we're loading actually have all symbols we need
This prevents a crash if the VTE library we happen to load lacks a
symbol we need, which can happen e.g. if the user passed an improper
library to the --vte-lib command-line option or if the VTE library is
loadable but broken.
2012-09-13 16:34:18 +02:00
Colomban Wendling
926744b4b7 Don't use pre-GObject types and macros 2012-09-13 16:34:18 +02:00
Colomban Wendling
8b181f7c79 Don't access GtkSelectionData fields directly 2012-09-13 16:34:18 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Nick Treleaven
b287553e4a Use 'SETPTR' instead of 'setptr'
This makes it clearer we're using a macro.
2012-01-25 16:26:16 +00:00
Matthew Brush
088b0bc362 Merge branch 'master' into gtkbuilder
Conflicts:
	geany.glade
	src/Makefile.am
	src/callbacks.c
2011-12-05 20:52:00 -08:00
Colomban Wendling
59eb0557b6 Add a configurable prefix for commands sent to the shell in the VTE
This adds an hidden VTE preference, send_cmd_prefix, that allows to
define a prefix for the commands Geany sends to the shell in the VTE
like "cd" when following current path.

This can be used for example to prevent some shells (Bash, ZSH, maybe
others) from putting these commands in the history by setting this to
a space.
2011-11-17 03:57:14 +01:00
Matthew Brush
0a16ec7520 Merge branch 'master' into gtkbuilder
Conflicts:
	src/interface.c
	src/vte.c
2011-11-06 23:44:24 -08:00
Colomban Wendling
36ebb1f2b7 Use canonical macros for stock items rather than plain strings
This makes the code more readable, potentially more future-proof (if
the actual string changes) and better style (catches possible typos at
build-time).
2011-10-30 22:01:49 +01:00
Matthew Brush
72e856947e Rework GtkBuilder code to behave more like old Glade 2 code
* Put back ui_hookup_widget and ui_lookup_widget functions
* Put back lookup_widget code in stash.c
* Emulate old create_*() functions from interface.[ch].
* Hookup all the GtkBuilder widget's to their top widgets like Glade 2
  generated code would've done.
* Misc changes to accomodate the above.
2011-10-19 00:44:35 -07:00
Colomban Wendling
a3e5044d4f Plug a few memory leaks
These leaks actually were not "real" leaks since the memory will anyway
be kept until quit.  Fixing those only makes the code "cleaner" and
will prevent them to "hide" some other (real) ones at debug times.
2011-10-19 03:19:30 +02:00
Matthew Brush
a670edfbe5 Remove no longer used global variable
This should've been removed in the previous commit (oops).
2011-10-14 21:23:52 -07:00
Matthew Brush
389d996b83 Show the correct Preferences tab when activated from the VTE context menu 2011-10-14 21:19:06 -07:00
Matthew Brush
caaf824f70 Fix VTE font and foreground/background colour preference callbacks
Remove `font-set` signal from Glade file since it's dependent on the VTE
being available and connect it from `vte.c`.

Add `color-set` handlers for foreground and background color preferences.
2011-10-14 20:58:13 -07:00
Matthew Brush
6b1088ea96 Port the Terminal UI to Glade 3/GtkBuilder.
Just don't show it if we don't have a VTE (ex. on Win32 or if it's disabled).
2011-10-10 13:17:35 -07:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Colomban Wendling
ddb4ad5fa5 Fix some whitespace style errors
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5886 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-06 18:34:14 +00:00
Colomban Wendling
5d606ce351 Deprecate ui_widget_set_tooltip_text() in favor of gtk_widget_set_tooltip_text()
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5840 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-13 18:41:50 +00:00
Nick Treleaven
e3d3765ae6 Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste
(Ctrl-Shift-V).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5623 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 17:33:47 +00:00
Enrico Tröger
6ac2623208 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Enrico Tröger
217fc5ab50 Inherit 'beep on errors' preference for the audible bell preference for the VTE (closes #3038215).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5117 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-05 21:45:58 +00:00
Enrico Tröger
45d5c856bb Fix build with GTK 2.8, use the stock icon name directly instead of the macro. Though, the icon is still missing for GTK 2.8.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5109 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-07-31 14:25:30 +00:00
Enrico Tröger
67c7f1bbfb Implement 'Select All' for the VTE widget.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5108 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-07-29 18:28:37 +00:00
Nick Treleaven
4476a79127 Use ui_hookup_widget() instead of g_object_set_data_full() for
widgets.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5063 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-06-23 16:57:28 +00:00
Nick Treleaven
806bb254c7 Apply patch from Yoann Le Montagner to set VTE bold color (thanks,
fixes #2976905).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4789 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-30 14:43:40 +00:00
Nick Treleaven
3ef6d41a53 Edit 2 labels.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4775 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-18 16:49:27 +00:00
Enrico Tröger
f72f6381df Add and use convenience function ui_is_keyval_enter_or_return() and add it to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4737 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-07 19:33:15 +00:00
Enrico Tröger
fa49065678 Add utils_copy_environment() and make use of it.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4538 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-24 14:18:00 +00:00
Enrico Tröger
7ba4a81181 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Enrico Tröger
2669ad3b1b Add a hidden pref to allow executing text which was sent to the terminal directly, i.e. do not strip trailing newline characters.
Also fix the stripping of trailing newline characters if there was more than one.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4456 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-29 20:59:31 +00:00
Enrico Tröger
8a5789814c Use the default dialog title set by ui_setup_open_button_callback() to be more consistent and to save one string.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4431 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-17 23:01:33 +00:00
Enrico Tröger
4b206d5462 Refactor color and font button callback functions in the preferences dialog. Move the VTE related callback functions into vte.c.
Make use of ui_setup_open_button_callback().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4429 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-17 21:49:43 +00:00
Enrico Tröger
03f92c92f5 Remove useless comment about applying settings only when libvte.so could be loaded which is only displayed *if* libvte.so is loaded.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4412 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-09 18:47:39 +00:00
Nick Treleaven
bc2b6829c5 Make ui_entry_add_clear_icon() take a GtkEntry, not GtkWidget.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4220 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-21 16:46:16 +00:00