all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Should we relax requirement from gtk 2.6 to gtk 2.4.
@ 2007-09-05 22:33 David Koppelman
  2007-09-05 22:59 ` Leo
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: David Koppelman @ 2007-09-05 22:33 UTC (permalink / raw)
  To: emacs-devel

Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
accommodate a use of gtk_image_new_from_icon_name and
gtk_image_set_from_icon_name. If that's all, then perhaps it would be
better to use 2.4-compatible functions to do the same thing.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-05 22:33 Should we relax requirement from gtk 2.6 to gtk 2.4 David Koppelman
@ 2007-09-05 22:59 ` Leo
  2007-09-06  8:42   ` David Hansen
  2007-09-06  5:33 ` David Kastrup
  2007-09-06  6:02 ` Jan Djärv
  2 siblings, 1 reply; 9+ messages in thread
From: Leo @ 2007-09-05 22:59 UTC (permalink / raw)
  To: emacs-devel

On 2007-09-05 23:33 +0100, David Koppelman wrote:
> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
> accommodate a use of gtk_image_new_from_icon_name and
> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
> better to use 2.4-compatible functions to do the same thing.

2.10 has been out for a long time. What's the merit of using 2.4?

GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.10.14, multi-tty)
of 2007-09-01

-- 
Leo <sdl.web AT gmail.com>                (GPG Key: 9283AA3F)

      Gnus is one component of the Emacs operating system.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-05 22:33 Should we relax requirement from gtk 2.6 to gtk 2.4 David Koppelman
  2007-09-05 22:59 ` Leo
@ 2007-09-06  5:33 ` David Kastrup
  2007-09-07  6:31   ` Richard Stallman
  2007-09-06  6:02 ` Jan Djärv
  2 siblings, 1 reply; 9+ messages in thread
From: David Kastrup @ 2007-09-06  5:33 UTC (permalink / raw)
  To: David Koppelman; +Cc: emacs-devel

David Koppelman <koppel@ece.lsu.edu> writes:

> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
> accommodate a use of gtk_image_new_from_icon_name and
> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
> better to use 2.4-compatible functions to do the same thing.

Multitty support crashed IIRC upon closing the last frame on a
terminal.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-05 22:33 Should we relax requirement from gtk 2.6 to gtk 2.4 David Koppelman
  2007-09-05 22:59 ` Leo
  2007-09-06  5:33 ` David Kastrup
@ 2007-09-06  6:02 ` Jan Djärv
  2007-09-06 15:52   ` David Koppelman
  2 siblings, 1 reply; 9+ messages in thread
From: Jan Djärv @ 2007-09-06  6:02 UTC (permalink / raw)
  To: David Koppelman; +Cc: emacs-devel



David Koppelman skrev:
> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
> accommodate a use of gtk_image_new_from_icon_name and
> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
> better to use 2.4-compatible functions to do the same thing.

AFAIK, there are no 2.4-compatible functions to do just that.  Do you know any?

	Jan D.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-05 22:59 ` Leo
@ 2007-09-06  8:42   ` David Hansen
  2007-09-06  9:04     ` Jan Djärv
  0 siblings, 1 reply; 9+ messages in thread
From: David Hansen @ 2007-09-06  8:42 UTC (permalink / raw)
  To: emacs-devel

On Wed, 05 Sep 2007 23:59:10 +0100 Leo wrote:

> On 2007-09-05 23:33 +0100, David Koppelman wrote:
>> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
>> accommodate a use of gtk_image_new_from_icon_name and
>> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
>> better to use 2.4-compatible functions to do the same thing.
>
> 2.10 has been out for a long time. What's the merit of using 2.4?

Cairo dependency or was that added later?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-06  8:42   ` David Hansen
@ 2007-09-06  9:04     ` Jan Djärv
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Djärv @ 2007-09-06  9:04 UTC (permalink / raw)
  To: emacs-devel



David Hansen skrev:
> On Wed, 05 Sep 2007 23:59:10 +0100 Leo wrote:
> 
>> On 2007-09-05 23:33 +0100, David Koppelman wrote:
>>> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
>>> accommodate a use of gtk_image_new_from_icon_name and
>>> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
>>> better to use 2.4-compatible functions to do the same thing.
>> 2.10 has been out for a long time. What's the merit of using 2.4?
> 
> Cairo dependency or was that added later?
> 


2.8 AFAIK.

	Jan D.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-06  6:02 ` Jan Djärv
@ 2007-09-06 15:52   ` David Koppelman
  2007-09-07  7:19     ` Jan Djärv
  0 siblings, 1 reply; 9+ messages in thread
From: David Koppelman @ 2007-09-06 15:52 UTC (permalink / raw)
  To: Jan Djärv; +Cc: emacs-devel

> AFAIK, there are no 2.4-compatible functions to do just that.  Do you know any?

gtk_icon_theme_load_icon and gtk_image_new_from_pixbuf.

The patch below shows how they might be used. The code compiles but I
don't know if it works because for some reason no icons are being
found (in code upstream of the changes).

--- gtkutil.c	05 Sep 2007 09:17:48 -0500	1.115
+++ gtkutil.c	06 Sep 2007 10:46:25 -0500	
@@ -3814,6 +3814,8 @@ update_frame_tool_bar (f)
       GtkStockItem stock_item;
       char *stock_name = NULL;
       char *icon_name = NULL;
+      GdkScreen* const screen = gtk_widget_get_screen(GTK_WIDGET(wtoolbar));
+      GtkIconTheme* const icon_theme = gtk_icon_theme_get_for_screen(screen);
       Lisp_Object rtl;
       GtkWidget *wbutton = NULL;
       GtkWidget *weventbox;
@@ -3844,9 +3846,6 @@ update_frame_tool_bar (f)
           stock_name = SSDATA (stock);
           if (stock_name[0] == 'n' && stock_name[1] == ':')
             {
-              GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (wtoolbar));
-              GtkIconTheme *icon_theme = gtk_icon_theme_get_for_screen (screen);
-
               icon_name = stock_name + 2;
               stock_name = NULL;
               stock = Qnil;
@@ -3932,7 +3931,10 @@ update_frame_tool_bar (f)
             }
           else if (icon_name) 
             {
-              w = gtk_image_new_from_icon_name (icon_name, icon_size);
+              GdkPixbuf* const pixbuf =
+                gtk_icon_theme_load_icon(icon_theme,icon_name,icon_size,0,NULL);
+
+              w = gtk_image_new_from_pixbuf(pixbuf);
               g_object_set_data_full (G_OBJECT (w), XG_TOOL_BAR_ICON_NAME,
                                       (gpointer) xstrdup (icon_name),
                                       (GDestroyNotify) xfree);
@@ -4029,8 +4031,9 @@ update_frame_tool_bar (f)
           else if (icon_name &&
                    (! old_icon_name || strcmp (old_icon_name, icon_name) != 0))
             {
-              gtk_image_set_from_icon_name (GTK_IMAGE (wimage),
-                                            icon_name, icon_size);
+              GdkPixbuf* const pixbuf =
+                gtk_icon_theme_load_icon(icon_theme,icon_name,icon_size,0,NULL);
+              gtk_image_set_from_pixbuf(GTK_IMAGE (wimage), pixbuf );
               g_object_set_data_full (G_OBJECT (wimage), XG_TOOL_BAR_ICON_NAME,
                                       (gpointer) xstrdup (icon_name),
                                       (GDestroyNotify) xfree);



Jan Djärv <jan.h.d@swipnet.se> writes:

> David Koppelman skrev:
>> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
>> accommodate a use of gtk_image_new_from_icon_name and
>> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
>> better to use 2.4-compatible functions to do the same thing.
>
> AFAIK, there are no 2.4-compatible functions to do just that.  Do you know any?
>
> 	Jan D.
>
>
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-06  5:33 ` David Kastrup
@ 2007-09-07  6:31   ` Richard Stallman
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Stallman @ 2007-09-07  6:31 UTC (permalink / raw)
  To: David Kastrup; +Cc: koppel, emacs-devel

    Multitty support crashed IIRC upon closing the last frame on a
    terminal.

With which Gtk versions does it crash?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Should we relax requirement from gtk 2.6 to gtk 2.4.
  2007-09-06 15:52   ` David Koppelman
@ 2007-09-07  7:19     ` Jan Djärv
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Djärv @ 2007-09-07  7:19 UTC (permalink / raw)
  To: David Koppelman; +Cc: emacs-devel



David Koppelman skrev:
>> AFAIK, there are no 2.4-compatible functions to do just that.  Do you know any?
> 
> gtk_icon_theme_load_icon and gtk_image_new_from_pixbuf.
> 

Not quite.  Your patch below does not produce a broken image if the icon is 
not found, nor does it make an icon the reacts to theme changes.

Lets move on to 2.6.  After all, it is two major versions before the current one.

	Jan D.


> The patch below shows how they might be used. The code compiles but I
> don't know if it works because for some reason no icons are being
> found (in code upstream of the changes).
> 
> --- gtkutil.c	05 Sep 2007 09:17:48 -0500	1.115
> +++ gtkutil.c	06 Sep 2007 10:46:25 -0500	
> @@ -3814,6 +3814,8 @@ update_frame_tool_bar (f)
>        GtkStockItem stock_item;
>        char *stock_name = NULL;
>        char *icon_name = NULL;
> +      GdkScreen* const screen = gtk_widget_get_screen(GTK_WIDGET(wtoolbar));
> +      GtkIconTheme* const icon_theme = gtk_icon_theme_get_for_screen(screen);
>        Lisp_Object rtl;
>        GtkWidget *wbutton = NULL;
>        GtkWidget *weventbox;
> @@ -3844,9 +3846,6 @@ update_frame_tool_bar (f)
>            stock_name = SSDATA (stock);
>            if (stock_name[0] == 'n' && stock_name[1] == ':')
>              {
> -              GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (wtoolbar));
> -              GtkIconTheme *icon_theme = gtk_icon_theme_get_for_screen (screen);
> -
>                icon_name = stock_name + 2;
>                stock_name = NULL;
>                stock = Qnil;
> @@ -3932,7 +3931,10 @@ update_frame_tool_bar (f)
>              }
>            else if (icon_name) 
>              {
> -              w = gtk_image_new_from_icon_name (icon_name, icon_size);
> +              GdkPixbuf* const pixbuf =
> +                gtk_icon_theme_load_icon(icon_theme,icon_name,icon_size,0,NULL);
> +
> +              w = gtk_image_new_from_pixbuf(pixbuf);
>                g_object_set_data_full (G_OBJECT (w), XG_TOOL_BAR_ICON_NAME,
>                                        (gpointer) xstrdup (icon_name),
>                                        (GDestroyNotify) xfree);
> @@ -4029,8 +4031,9 @@ update_frame_tool_bar (f)
>            else if (icon_name &&
>                     (! old_icon_name || strcmp (old_icon_name, icon_name) != 0))
>              {
> -              gtk_image_set_from_icon_name (GTK_IMAGE (wimage),
> -                                            icon_name, icon_size);
> +              GdkPixbuf* const pixbuf =
> +                gtk_icon_theme_load_icon(icon_theme,icon_name,icon_size,0,NULL);
> +              gtk_image_set_from_pixbuf(GTK_IMAGE (wimage), pixbuf );
>                g_object_set_data_full (G_OBJECT (wimage), XG_TOOL_BAR_ICON_NAME,
>                                        (gpointer) xstrdup (icon_name),
>                                        (GDestroyNotify) xfree);
> 
> 
> 
> Jan Djärv <jan.h.d@swipnet.se> writes:
> 
>> David Koppelman skrev:
>>> Recently Emacs changed the gtk version from 2.4? to 2.6, perhaps to
>>> accommodate a use of gtk_image_new_from_icon_name and
>>> gtk_image_set_from_icon_name. If that's all, then perhaps it would be
>>> better to use 2.4-compatible functions to do the same thing.
>> AFAIK, there are no 2.4-compatible functions to do just that.  Do you know any?
>>
>> 	Jan D.
>>
>>
>> _______________________________________________
>> Emacs-devel mailing list
>> Emacs-devel@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-devel
> 
> 
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-09-07  7:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-05 22:33 Should we relax requirement from gtk 2.6 to gtk 2.4 David Koppelman
2007-09-05 22:59 ` Leo
2007-09-06  8:42   ` David Hansen
2007-09-06  9:04     ` Jan Djärv
2007-09-06  5:33 ` David Kastrup
2007-09-07  6:31   ` Richard Stallman
2007-09-06  6:02 ` Jan Djärv
2007-09-06 15:52   ` David Koppelman
2007-09-07  7:19     ` Jan Djärv

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.