Re: Doubts about GPeriodic

2010-10-22 Thread Soeren Sandmann
Owen Taylor otay...@redhat.com writes: I guess the basic question here is whether most stuff is updating the text of a label or whether most stuff is adding 1 elements to a GtkTreeView. If most things that applications are doing in response to timeouts/IO completions/IPC are cheap and

Re: pixbuf-cairo_surface_t conversion

2010-09-03 Thread Soeren Sandmann
Matthias Clasen matthias.cla...@gmail.com writes: On Thu, Sep 2, 2010 at 7:24 PM, Havoc Pennington h...@pobox.com wrote: I was thinking about the problem of wasting memory, writing to one internal representation and not changing the other, etc. How about this: we only keep one

Re: pixbuf-cairo_surface_t conversion

2010-09-03 Thread Soeren Sandmann
Matthias Clasen matthias.cla...@gmail.com writes: On Fri, Sep 3, 2010 at 3:22 AM, Soeren Sandmann sandm...@daimi.au.dk wrote: Not that it matters that much, but if you use cairo_mask() with the pixbuf data as both source and mask, the source as RGB24 and the mask as ARGB32, you could

Re: rendering-cleanup

2010-08-03 Thread Soeren Sandmann
Yasushi SHOJI ya...@atmark-techno.com writes: I'm for one wandering how to port my application to gtk+ 3.0. My problem is that the current gdk pixbuf nor cairo does not have a client side pixel buffer other than RGB888 or RGBA. Note that cairo 1.10 (which GTK+ 3.0 will depend on, as I

Re: Fwd: Persistent Binary Search Trees

2009-10-06 Thread Soeren Sandmann
Dana Jansens d...@cg.scs.carleton.ca writes: There are 2 other BSTs that would work effectively to provide a persistent BST, while also maintaining a very efficient implementation for when persistence is not used.  They are:  - Treaps  - Red-Black Trees Treaps can be expected to outperform

Re: A tale of waiting

2009-06-24 Thread Soeren Sandmann
Matthias Clasen matthias.cla...@gmail.com writes: Next I implemented sorting. Because I use an array, I can use qsort(), which is fast. I had thought about switching to GSequence to get ever closer to GtkListStore, but I did not do that, and one of the reasons is that GSequence uses

Re: drawing area and GPtrArray illogical error

2009-03-22 Thread Soeren Sandmann
frederico schardong frede@gmail.com writes: When I click with the mouse on the drawing area the callback button_pressed is called and the g_print message shows, and when I move the window the callback expose_event is called and shows its g_print. The only difference between both g_print

Re: Units and resolution independence for gtk+

2008-08-06 Thread Soeren Sandmann
Behdad Esfahbod [EMAIL PROTECTED] writes: Also, my only quick feedback is that you are hooking up on the font size, while you should instead hook on screen dpi. Think of screen dpi as a global scaling factor, and font size is relative size of the fonts to the other elements. I'll repeat

Re: gtk+ and randr

2008-07-25 Thread Soeren Sandmann
Adam Jackson [EMAIL PROTECTED] writes: On Wed, 2008-07-23 at 12:12 -0400, Matthias Clasen wrote: On Wed, 2008-07-23 at 11:12 -0400, Adam Jackson wrote: I hacked up a proof-of-concept addition to the protocol along these lines:

Aggregates for GSequence

2008-05-31 Thread Soeren Sandmann
At http://www.daimi.au.dk/~sandmann/aggregates.patch there is a patch to add aggregates to GSequence. In a tree data structure, an 'aggregate' is information stored in a node which is computed from that node's children. This field from GtkRBTree: /* count is the number of nodes

Re: Get rid of deprecated widgets

2007-12-05 Thread Soeren Sandmann
Alexander Larsson [EMAIL PROTECTED] writes: A possibly interesting approach would be to put all the deprecated code in another ELF section and place that section at the end. This will mean that the deprecated stuff will be in one continous place and might make paging in non-deprecated code

Re: Monitor and projector hotplug (aka RandR 1.2 support for GTK+)

2007-11-21 Thread Soeren Sandmann
Bastien Nocera [EMAIL PROTECTED] writes: On Wed, 2007-11-21 at 00:39 +0100, Soeren Sandmann wrote: Hi I have been doing some work on adding RandR 1.2 support to GTK+. There is an initial patch here: http://www.gnome.org/~ssp/randr/gtk.patch Was that based on the patch

Re: What's the purpose of gtk_menu_attach_to_widget ?

2007-11-21 Thread Soeren Sandmann
Kalle Vahlman [EMAIL PROTECTED] writes: What's the purpose of gtk_menu_attach_to_widget ? And is there any bad effect if I create a gtk menu without using this function ? In short, it's convenience function for tying the menu's lifecycle to a widget. I think the only thing to

Monitor and projector hotplug (aka RandR 1.2 support for GTK+)

2007-11-20 Thread Soeren Sandmann
Hi I have been doing some work on adding RandR 1.2 support to GTK+. There is an initial patch here: http://www.gnome.org/~ssp/randr/gtk.patch The interesting part is perhaps the API: A new signal on GdkScreen: void (*monitors_changed) (GdkScreen *screen); that is emitted whenever

Re: GdkPixbuf vs. Cairo, new image library needed?

2007-10-10 Thread Soeren Sandmann
BJörn Lindqvist [EMAIL PROTECTED] writes: Incidentally, blitting pixbufs is slower than it has to be because its format rarely matches the X11 server which uses either xRGB32 or ARGB32. I don't disagree with anything else you say, but this performance issue is really a non-issue. We are

Re: Smooth Scrolling

2007-03-28 Thread Soeren Sandmann
Alex Jones [EMAIL PROTECTED] writes: A few years ago there used to be a distributor patch in Gentoo to enable this, and it was sweet. What happened, here? As far as I know the patch was never reviewed - and the bug was put on future with no other comments. The bug in question is 103811.

Re: Usability of GSequence API

2007-02-16 Thread Soeren Sandmann
Behdad Esfahbod [EMAIL PROTECTED] writes: The main issues I see with it are (other than just the large number of functions for something as simple as a sequence): - GSequenceIter is used both as a node reference and as an iterator. For example, the way to get/set the value of a node is to

Re: GtkTreeView and fixed_height mode

2007-02-13 Thread Soeren Sandmann
Morten Welinder [EMAIL PROTECTED] writes: That depends on the data and how much we have seen before, but if we initially did a fair-sized sample -- last I looked we were doing 1000 rows -- then the probability is low and hence it is not annoying. If you did that, then you could also

Re: EggSequence

2007-02-13 Thread Soeren Sandmann
Jean-Yves Lefort [EMAIL PROTECTED] writes: Maybe you can explain how the name sequence is more appropriate for your container than for a GList, GSList, GQueue, GString, GArray, GPtrArray or GByteArray? It is not. I don't think GSortedList is accurate either, since a GSequence does not have to

Re: Generic CClosure marshaller using libffi

2007-02-07 Thread Soeren Sandmann
Johan Dahlin [EMAIL PROTECTED] writes: Attached is a patch that adds a generic cclosure marshaller using libffi to gobject. The reason for this is to allow signals of GObjects written in a language binding to call signal callbacks in C. It's not just a theoretical case, Edward Hervey recently

Re: EggSequence

2007-02-03 Thread Soeren Sandmann
Soeren Sandmann [EMAIL PROTECTED] writes: If accepted, I'll write API documentation and port GtkListModel to use it. There is already a through testsuite SVN. I wrote API documentation and committed it. Changes since last time: - Fixed a couple of bugs where the sequence would try

Re: EggSequence

2007-01-29 Thread Soeren Sandmann
Hans Petter Jansson [EMAIL PROTECTED] writes: (In retrospect using a splaytree was probably not a wise decision. A red/black tree might have been better, even though it would have a code-complexity cost in some areas). Could we change the implementation (say, to RBT) without introducing

Re: EggSequence

2007-01-27 Thread Soeren Sandmann
Hans Petter Jansson [EMAIL PROTECTED] writes: I'm not sure it's correct to call it an iterator when it's just a pointer to an internal data structure node. When a node is freed, any iterator pointing to that node will be freed as well, and that might not be what the user expects (e.g. she

Re: polling sockets using glib

2006-10-10 Thread Soeren Sandmann
Peter Robinson [EMAIL PROTECTED] writes: I am writing a server application (using glib) in which I want to be able to (frequently) turn polling on and off for given sockets. You may want to take a look at this: http://www.daimi.au.dk/~sandmann/watch.h http://www.daimi.au.dk/~sandmann/watch.c

Re: GTK+ canvas?

2006-09-09 Thread Soeren Sandmann
Havoc Pennington [EMAIL PROTECTED] writes: I think retained mode is interesting when the objects have two properties: - Does the object contain state that the application doesn't *care* about. - Is the object generic enough that many applications would need it That

Re: GTK+ canvas?

2006-09-09 Thread Soeren Sandmann
Yevgen Muntyan [EMAIL PROTECTED] writes: Much more people would make use of simple things like draw a rectangle and drag it around if it wasn't so hard. But applications generally need to do much more than draw a rectangle and drag it around. If dragging rectangles around was really all there

Re: GtkMenu doesn't recognize it's parents?

2006-08-31 Thread Soeren Sandmann
Jim George [EMAIL PROTECTED] writes: Am I doing something wrong? Is this a glade bug? I noticed this in programs which use glade code-generation as well as libglade. Or could it be because the popup menu is a top-level window in it's own right? Yes, the menu is a toplevel window in its own

Re: GTK+ canvas?

2006-08-31 Thread Soeren Sandmann
Someone posted a link to the minutes of the gtk+ meeting at GUADEC which reminded me that I promised to write up some of the ideas I had for a canvas-type widget. The reason model/view is a useful model is that it allows applications to keep a data structure (the model) containing all the

Re: GTK+ canvas?

2006-08-31 Thread Soeren Sandmann
Havoc Pennington [EMAIL PROTECTED] writes: It depends on the goals of a canvas right - you're thinking of it as drawing area plus hit testing while it can be thought of as solving a wider set of problems. In particular I think of it as a more flexible sort of widget system more like HTML or

Re: GSlice with tight memory (Re: Help Needed)

2006-08-22 Thread Soeren Sandmann
Tim Janik [EMAIL PROTECTED] writes: whether you benefit in terms of memory size by using GSlice instead of malloc/free depends heavily on your application. simply watch your memory requirements with G_SLICE=always-malloc and without it. In general, I'd recommend just always using

Re: GSlice with tight memory (Re: Help Needed)

2006-08-22 Thread Soeren Sandmann
Tim Janik [EMAIL PROTECTED] writes: In general, I'd recommend just always using g_slice_set_config (G_SLICE_CONFIG_ALWAYS_MALLOC, 1); This way the various tools, valgrind and memprof, will work with your application, and you don't get any surprises with pathological cases

Re: Callback based tooltips (Re: New tooltips API, continued)

2006-04-25 Thread Soeren Sandmann
Matthias Clasen [EMAIL PROTECTED] writes: On 4/25/06, Tim Janik [EMAIL PROTECTED] wrote: i don't think there's a point in implementing grouping unless the above question has been answered, i.e. we've gotten a resonable usage scenario. so until that happens, it's probably best to leave

Re: Callback based tooltips (Re: New tooltips API, continued)

2006-04-25 Thread Soeren Sandmann
Tim Janik [EMAIL PROTECTED] writes: That's because that feature simply doesn't work. Moving the mouse to a tooltip-less area does not turn off fast mode as it should, regardless of grouping. well, given that behaviour is implemented, there's no need for seperate groups, right? I am not

Re: Implementation of new EWMH spec

2006-04-19 Thread Soeren Sandmann
Federico Mena Quintero [EMAIL PROTECTED] writes: Spreading the is_composited/composited_changed API among GdkScreen and GtkWidget means that people will just ignore the latter's signals, since they won't ever see them. I don't think so; they are much more likely to ignore the signal on

Re: Implementation of new EWMH spec

2006-04-17 Thread Soeren Sandmann
Soeren Sandmann [EMAIL PROTECTED] writes: The attached patch implements all the properties dealing with compositing managers that were recently added to the EWHM spec. And here is the patch. Soren ? birnan ? emfle ? gtkcm ? gtklabel.ac ? net-wm-all-apr1 ? net-wm-all-apr12.patch ? net-wm

Re: Implementation of new EWMH spec

2006-04-17 Thread Soeren Sandmann
Johan Dahlin [EMAIL PROTECTED] writes: Index: gdk/gdkwindow.h + GDK_WINDOW_TYPE_HINT_DESKTOP, + GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU, /* A drop down menu (from a menubar) */ + GDK_WINDOW_TYPE_HINT_POPUP_MENU, /* A popup menu (from right-click) */ +

Re: Implementation of new EWMH spec

2006-04-17 Thread Soeren Sandmann
Matthias Clasen [EMAIL PROTECTED] writes: Comments on the patch: - The registration for the signal does not match the signature in the class struct (misses the boolean parameter). Yeah, a last minute change. I want to remove the boolean parameter since the information can be found through

Re: Updated proposal for making the GtkFileChooser code asynchronous

2005-12-09 Thread Soeren Sandmann
Kristian Rietveld [EMAIL PROTECTED] writes: 1. Let's start out with a somewhat more general change. We need to be able to cancel currently running asynchronous operations. For this we need to have a handle on an operation, so we need to introduce a GtkFileSystemHandle. The

Re: Updated proposal for making the GtkFileChooser code asynchronous

2005-12-09 Thread Soeren Sandmann
Soeren Sandmann [EMAIL PROTECTED] writes: Also, the callback is always called, even if you cancel the operation, right? If it isn't, then - How do you free the user data you passed in? - What good is the handle passed to the callback? You can't do anything

Watching filedescriptors

2005-09-06 Thread Soeren Sandmann
One thing I and many other people regularly need is to be notified whenever something happens on a file descriptor. This is needed when you write networked applications, or when you with to communicated with spawned child processes, and in many other circumstances. The way you are supposed to do

Re: canvas notes

2005-08-15 Thread Soeren Sandmann
Havoc Pennington [EMAIL PROTECTED] writes: So random thoughts. A few more random thoughts: - Ability for one canvas to view more than one model at the same time is useful so that you can have eg., the coordinate axes and the graph be separate models for a graphing display. - Zooming is

Re: some things in GTK+ 2.7.5

2005-08-09 Thread Soeren Sandmann
Benoit Carpentier [EMAIL PROTECTED] writes: lines 199 to 209 : if (GTK_WIDGET_MAPPED (widget) paned-child1-allocation.height child1_allocation.height) { gtk_widget_size_allocate (paned-child2, child2_allocation); gtk_widget_size_allocate (paned-child1,

Re: design advise needed/toolbar question

2005-07-08 Thread Soeren Sandmann
Paul Pogonyshev [EMAIL PROTECTED] writes: However, it seems that in the new (2.4 and up) toolbar API there is no easy way to add a random widget to a toolbar (well, I could subclass GtkToolItem, but...) Any suggestions? A different design might solve a problem as well as a simple way of

Re: GtkListStore and Threads problems

2005-06-16 Thread Soeren Sandmann
Lorena Salinas [EMAIL PROTECTED] writes: Here is part of the function... valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (my_model), iter); This function also needs to be protected by the GTK+ lock, because the GtkListStore rearranges the data structure every time it is accessed.

Global motion events

2005-05-09 Thread Soeren Sandmann
In bug 302486 http://bugzilla.gnome.org/show_bug.cgi?id=302486 there is a patch that adds the ability to get crossing events on a widget basis, instead of on a window basis. What this means is that a widget will receive enter/leave events even if it is NO_WINDOW widget or covered by a

Re: Themable colors

2005-03-30 Thread Soeren Sandmann
Bill Haneman [EMAIL PROTECTED] writes: The ONLY time that an application should choose a specific color (or even a specific value, i.e. 'black' or 'white') is when red means RED, i.e. if the application is a painting application, an image processing application, or something similar, where

Re: g_file_write()

2005-03-23 Thread Soeren Sandmann
[EMAIL PROTECTED] (Morten Welinder) writes: fchmod if available? The patch does use fchmod(). Are there systems we care about where fchmod() is not available? I don't think we care about the permissions being the same as the target file's while the file is being created. In fact, might

Re: g_file_write()

2005-03-23 Thread Soeren Sandmann
Tor Lillqvist [EMAIL PROTECTED] writes: Soeren Sandmann writes: The patch does use fchmod(). Are there systems we care about where fchmod() is not available? Win32... No such thing in the C library. As far as I know, there isn't even anything in the underlying Win32 API that would

Re: g_file_write()

2005-03-23 Thread Soeren Sandmann
[EMAIL PROTECTED] (Morten Welinder) writes: 1. It is hideously expensive. This is already a fairly expensive function. And fork() is really not that bad. My system can fork more than 20 times per second. If you need to write tons of small files quickly, you should (a) not use this

Re: Toolbar style

2005-03-22 Thread Soeren Sandmann
Paul Pogonyshev [EMAIL PROTECTED] writes: Ah, indeed. The problem is that I use KDE as the desktop. It seems to work when `gnome-settings-daemon' is running, however, for some reason ``Priority text beside icons'' works exactly as ``Text below icons'' (it works fine when set from my

Re: g_file_write()

2005-03-22 Thread Soeren Sandmann
Soeren Sandmann [EMAIL PROTECTED] writes: I think this is a serious problem. The file should be created with the umask permissions. You can do this: #ifndef G_OS_WIN32 { mode_t mode = umask (0); umask (mode); chmod (filename, mode); } #endif but then there is a race

Re: g_file_write()

2005-03-11 Thread Soeren Sandmann
Alexis S. L. Carvalho [EMAIL PROTECTED] writes: +static gchar * +write_to_temp_file (const gchar *contents, + gsize length, nitpick gssize to be consistent with g_file_replace? /nitpick I have changed it, but I don't see why it matters. write_to_temp_file() is not called

g_file_write()

2005-03-06 Thread Soeren Sandmann
Is it useful to add g_file_write() to complement g_file_get_contents()? It seems a feature many applications could use. Patch attached (not tested on Windows). It is also available at http://www.daimi.au.dk/~sandmann/filewrite.patch Søren Index: gfileutils.c

Re: g_file_write()

2005-03-06 Thread Soeren Sandmann
Havoc Pennington [EMAIL PROTECTED] writes: Should it do the atomic write thing? (write to a temporary file alongside the new file, then rename() to the final filename) The minus is that you need double the size of the file to write it, but the plus is that you aren't screwed if you run out