391 Commits

Author SHA1 Message Date
Colomban Wendling
3ec0369f47 Merge branch 'wip/configurable-mime-type--gicon' into wip/configurable-mime-type-gicon 2014-04-14 20:27:20 +02:00
Colomban Wendling
187e06bcb1 Use proper argument lists 2014-04-13 16:19:32 +02:00
Enrico Tröger
e802194ad3 Re-add the previous workaround to remember the directory Geany was started from
My previous fix (e1ce9cfbec) didn't fix all possible use cases (opening
files from CLI when starting Geany). This one should close the gap.
2014-04-13 15:14:35 +02:00
Enrico Tröger
e1ce9cfbec Change the working directory on Windows properly
On Windows we need to change the working directory on startup to not
lock the directory Geany was started from (bug #2626124).
However we can't change the directory to late in the startup process
otherwise plugins maybe unable to load resources from the installation
directory.

Though we also can't change it too early otherwise opening files given
with relative paths in Geany from the command line won't work anymore
(bug #3613096).

This change should fix both issues by changing the working directory after
command line file handling happened and before plugins will be loaded.
2014-04-10 22:24:15 +02:00
Colomban Wendling
4c8d2fb928 Fix handling of --list-documents when no other instance are running
Properly exit when passed --list-documents, even if no other instance
were already running.  This makes this option behave the same in any
case, making it easier to use in e.g. scripts.
2013-12-19 20:45:25 +01:00
Colomban Wendling
1f2279aefe Always use proper functions argument lists 2013-11-10 01:43:10 +01:00
Colomban Wendling
5918532ab2 Explicit a valid cast 2013-11-03 22:31:00 +01:00
Colomban Wendling
cb588a1b82 Plug a possible memory leak 2013-11-03 22:30:55 +01:00
Colomban Wendling
01e7fe4b79 Use GIcon for the filetype icon rather than rendered pixbuf
This allows to re-use the icon more easily since it's not rendered at
a particular size but simply an icon description.  It also allows for
implicit icon updating when the theme changes if the display code
implements it (and GTK widgets does).
2013-10-15 15:56:44 +02: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
Atanas Beloborodov
a3da0467d4 Add version check around deprecated g_thread_init() call.
g_thread_init has been deprecated since GLib version 2.32
2013-04-25 17:30:09 -07:00
Matthew Brush
d452d0b737 Cleanup statusbar template code a bit
* Unhardcode "pos" and "style" statusbar messages which were only
enabled when GEANY_DEBUG is defined and make them real possible
format chars.

* Move needless global "statusbar_template" into UIPrefs structure
with the other UI preferences, removing (now) pointless ui_finalize()
function.

* Rename "add_statusbar_statistics" to "create_statusbar_statistics"
and make it return a gchar* instead of passing in a GString argument
to update. Fixes a one-time "leak" of the GString and makes the code a
little easier to follow.

* Move the default statusbar template string to the top of the file
and use it as the default for the various preferences so the user has
something to base their customizations off of. TODO: check that the
N_() translations stuff works OK.
2013-04-14 19:03:58 -07:00
Lex
e18d75b23b Change signal used to kill executions to SIGTERM
The originally used SIGQUIT has problems:
1) see the deleted comment
2) some xterm alternatives ignore it, so they don't stop

Changed to SIGTERM which is the canonical "terminate" signal.

Removed associated unneeded ignore of SIGQUIT.
2013-03-23 11:58:45 +11:00
Colomban Wendling
57940e67a3 Windows: use absolute path to the icons directory 2013-03-19 16:59:32 +01:00
Enrico Tröger
fbce364182 Improve build date conversion code
Don't use strptime() as it is not very portable, instead use a GDate and use the
code also for the date output in --version.
2013-03-17 17:17:09 +01:00
Colomban Wendling
232290aad4 Fix our custom styles under KDE and for people using gtk-chtheme
We have a custom RC file defining various styles we need, and we want
the user to be able to override them (e.g. if they want -- or need --
other colors).  Fair enough, one would simply call gtk_rc_parse() with
the appropriate filename.  However, the styling rules applies in the
order they are loaded, then if we load our styles after GTK has loaded
the user's ones we'd override them.

There are 2 solutions to fix this:
1) set our styles' priority to something with lower than "user"
   (actually "theme" priority because rules precedence are first
   calculated depending on the priority no matter of how precise the
   rules is, so we need to override the theme).
2) prepend our custom style to GTK's list while keeping priority to
   user (which is the default), so it gets loaded before real user's
   ones and so gets overridden by them.

One would normally go for 1 because it's ways simpler and requires less
code: you just have to add the priorities to your styles, which is a
matter of adding a few ":theme" in the RC file.  However, KDE being a
bitch it doesn't set the gtk-theme-name but rather directly includes
the style to use in a user gtkrc file, which makes the theme have
"user" priority, hence overriding our styles.  So, we cannot set
priorities in the RC file if we want to support running under KDE,
which pretty much leave us with no choice but to go with solution 2,
which unfortunately requires writing ugly code since GTK don't have a
gtk_rc_prepend_default_file() function.  Thank you very much KDE.

Though, as a side benefit it also makes the code work with people using
gtk-chtheme, which also found it funny to include the theme in the user
RC file.
2013-03-16 16:19:20 +01:00
Enrico Troeger
775ef62868 Set the working directory on Windows very early to also help code which uses relative resource paths 2013-03-03 23:33:25 +01:00
Colomban Wendling
dabae1f94f Replace images embedded in the sources with proper themable icons
Additionally, provide SVG versions of the icons as well as them
rendered at the various icons sizes.
2013-01-01 19:10:48 +01:00
Colomban Wendling
bd02c009a1 Use the Geany icon from the theme everywhere 2013-01-01 19:10:04 +01:00
Colomban Wendling
003435e16d Revert "Make use of theme icon a various pref."
A preference for an icon doesn't make sense;  if someone don't like
her theme's icon she should either switch to another theme, override
that specific icon or don't bother.

This reverts commit 6897cd49c69535c6563e56ae011c6f8382fec485.
2013-01-01 19:04:59 +01:00
Lex
6897cd49c6 Make use of theme icon a various pref.
Some users want the theme icon, some dislike the icon provided by
their theme and want the traditional Geany icon.

This makes that choice a various pref.  Used a standalone global
to avoid impacting the plugin interface and CommandLineOptions
and GeanyStatus didn't make sense.
2012-10-14 13:05:11 +11:00
Matthew Brush
4c7ca69be0 Prefer to use Geany icon from theme over inline one
Note that no attempt is made to handle when the icon theme is changed
to update Geany's window icon (ex. using the style-set signal).
2012-10-13 15:37:00 -07:00
Colomban Wendling
64a47b9cb6 Allow to switch message window orientation to place it on the right 2012-10-01 21:38:56 +02:00
Lex Trotman
fbb89f523a Remove illegal signal handling
The SIGTERM handler called the standard exit callback which uses
functions that are illegal in signal handlers.  Commented out as
a prelude to full removal if no use case can be made.
2012-09-22 13:40:33 +10:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Matthew Brush
e62bec43fc Use g_build_filename() instead of g_strconcat() for paths 2012-08-09 18:21:43 -07:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Colomban Wendling
70e0f6eaa0 Fix verbose output with GLib 2.32 and newer
Since GLib 2.32, messages logged with levels INFO and DEBUG aren't
output by the default log handler unless the G_MESSAGES_DEBUG
environment variable contains the domain of the message or is set to
the special value "all".

Since we use INFO level messages for verbose mode, we need to make
sure this environment variable is properly set when in verbose mode.
2012-06-03 16:47:18 +02:00
Colomban Wendling
e87f393192 Create color scheme menu item with Glade
Now there is a dialog instead of a menu for selecting the color
schemes, the item under View->Editor can be created with Glade like the
rest of the menu.
2012-05-27 01:14:25 +02:00
Colomban Wendling
c04fd65a8f Add support for user-defined labels for custom commands
This allows the user to define a label to be displayed in the menu in
place of the command to be run.  This can be very useful if e.g. a
custom command is too complex to be easily read in the menu, or if two
custom commands are so similar could be confounded.
2012-05-14 22:22:29 +02:00
Dimitar Zhekov
ad1c08ebbe Load the default session even if opening file(s)
A slightly simplified variant of the "rewritten load startup files"
from Geany patch tracker. Does not check for CLI files when deciding
whether to load the default session.
2012-02-20 19:42:56 +01:00
Colomban Wendling
9876ce5a3f Remove a redundant check 2012-01-31 14:41:15 +01:00
Matthew Brush
9ff4eec853 Fix Color Schemes menu items activation when used with libdbusmenu.
I'm not even going to try to explain why this fixes it :)
2012-01-30 21:32:16 -08: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
Nick Treleaven
6de8f97cb3 Remove GNU regex now we have GRegex 2012-01-02 18:03:21 +00:00
Jiří Techet
ddbb2535f4 Move MRU tab handing from keybindings.c to notebook.c because this is where it belongs 2011-12-24 12:31:10 +01:00
Matthew Brush
a64c46c496 Initialize window geometry array on error conditions
Instead of using the garbage values in memory for default size.
This fixes what was attempted to be fixed in the last two reverted commits.
2011-12-11 13:10:05 -08:00
Matthew Brush
77a900b976 Revert "Use a sane default window size if config is missing"
This reverts commit 00473dff4e95c6d1b128edfc26038f4e98cbddf8.
2011-12-11 13:01:19 -08:00
Matthew Brush
36498ddfae Revert "Ensure Geany's default size takes effect (oops)"
This reverts commit d090e7dd854e5eec99c8176aacb6759081e9a4d4.
2011-12-11 13:00:49 -08:00
Matthew Brush
d090e7dd85 Ensure Geany's default size takes effect (oops) 2011-12-10 19:52:55 -08:00
Matthew Brush
00473dff4e Use a sane default window size if config is missing 2011-12-10 19:28:23 -08:00
Matthew Brush
2d41ee941b Merge branch 'gtkbuilder' 2011-12-10 15:50:05 -08:00
Nick Treleaven
d7f53f7f83 Fix offscreen window after quitting when minimized
Fixes #3421282.
Occurred with Windows e.g. Vista, 7.
2011-12-08 16:35:29 +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
Dimitar Zhekov
6738d43dee --read-only cleanup
Use the global variable only when needed and add an initializer for it
in the default options.
2011-11-21 21:48:32 +01:00
Thomas Martitz
8f280ed884 New --read-only commandline option
This adds a new commandline option --read-only (or -r). It's implemented
according to the behavior agreed on on the mailing list:

--read-only applies to all files on the command line
irrespective of positioning and has no effect on any other files
opened by session or menu (...)

Current behaviour on attempting to re-open a file with different
read-only status is that nothing happens, the already open
file is raised but not changed. (...)
2011-11-17 16:41:51 +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
b55a30c2bf Build recent data for GTK ourselves
This prevents GTK of trying to fetch the necessary information like
MIME-type itself, which leads to a significant speedup (> 30%), as
well as using the real MIME-type we use rather than the GIO-guessed
one.
2011-11-04 00:11:21 +01:00
Enrico Trger
3fd7e9f68e Wait for user input in the debug console
This way, Geany's standard out and error can be read if started in verbose
mode until a key is pressed which makes debugging of command line
actions easier.
2011-10-23 16:32:22 +02: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