Does this library only support logging of text messages, or is
it also possible to log other type of data? Here is an example
what I would like to have:
start of log
12:00:00 Starting algo loop# -- A rich text message
12:10:01 image/png: Video snapshot # - mime/type
I'm investigating a problem under windows that appears to be a missed event.
My test viewer application is built as follows:
1. A top level widget with a GtkImage widget that shows an image.
2. The program also listens to http requests through the gnet library and
allows to remote control the
There is a standard way, and that is to have each gtk application install
its own copy of gtk under Windows. I.e. there is no gtk at all in
system/software, and thus there can be no conflicts. The gtk runtime is very
small, around 10-15MB and with todays hard drives and download speeds that
Even if you link statically, there are dynamic modules in gtk that are
pulled in at run time.
Also, remember that linking statically has license implications, as you in
such a case are forced to release your source code under the LGPL.
Regards,
Dov
On Tue, Jun 15, 2010 at 10:19, Steve Frécinaux
While playing around with a general system for doing polygon overlays (e.g.
for rectangle or line selection) I got stuck on the following problem.
Assume that I have a widget A that has an expose handler exp_A().
Now assume that I would temporarily like to draw an overlay on A from the
code in
);
do_my_overlay_drawing (widget);
return TRUE;
}
else
return FALSE;
On Tue, Aug 17, 2010 at 1:51 AM, Dov Grobgeld dov.grobg...@gmail.com
wrote:
While playing around with a general system for doing polygon overlays
(e.g.
for rectangle or line selection) I got stuck on the following
Assume I have a routine:
int draw(cairo_t *cr)
used to draw an overlay in a GdkWindow.
In order to minimize redrawing, I would like to get the minimal (up to some
accuracy to be determined) set of GdkRegion's that encompasses all the
drawing of draw().
I thought of doing this by creating a
for each motion event is
too slow.
Dov
On Tue, Aug 17, 2010 at 11:14, Claudio Saavedra csaave...@gnome.org wrote:
On Tue, 2010-08-17 at 10:35 +0300, Dov Grobgeld wrote:
Assume I have a routine:
int draw(cairo_t *cr)
used to draw an overlay in a GdkWindow.
In order to minimize
an earlier call. I will try using a generic handler and
will see if it works better.
On Tue, Aug 17, 2010 at 10:04, Dov Grobgeld dov.grobg...@gmail.com wrote:
Great! I just had to block myself when calling the other expose handler as
follows:
:
g_signal_handler_block(widget, selfp
How is update() supposed to know what region to invalidate? By a list of
GdkRegions as a parameters? The dual functionality of draw is just a way of
automizing this.
Dov
On Tue, Aug 17, 2010 at 18:50, Paul Davis p...@linuxaudiosystems.comwrote:
On Tue, Aug 17, 2010 at 9:11 AM, Dov Grobgeld
-17 at 10:35 +0300, Dov Grobgeld wrote:
Assume I have a routine:
int draw(cairo_t *cr)
used to draw an overlay in a GdkWindow.
In order to minimize redrawing, I would like to get the minimal (up to
some accuracy to be determined) set of GdkRegion's that encompasses
all
or the actual drawing. This can be used to avoid drawing gradients and
other expensive drawing operations during mask creation.
In any case, thanks for your input.
Dov
On Wed, Aug 18, 2010 at 14:47, Paul Davis p...@linuxaudiosystems.comwrote:
On Tue, Aug 17, 2010 at 4:22 PM, Dov Grobgeld dov.grobg
I suggest that you learn how to create your own widget. A widget like
GtkCurve is very easy to develop by subclassing one of the canvas widgets,
e.g. GooCanvas. Or do it directly through Cairo on a GtkDrawingArea. This is
described here:
http://live.gnome.org/Vala/CustomWidgetSamples
Regards,
I created jsonrpc client/server (http://json-rpc.org/) library through
glib/gio for remote controlling my application. It is available at:
https://github.com/dov/glib-jsonrpc
Comments and contributions are welcome.
Regards,
Dov
___
gtk-devel-list
to school.
It's not up on a public git repo right now but it's a tad more feature
complete than yours. I was working on supporting all encodings when I
last left off.
On Tue, 2011-12-27 at 06:52 +0200, Dov Grobgeld wrote:
I created jsonrpc client/server (http://json-rpc.org/) library through
glib
On Tue, 2011-12-27 at 09:30 +0200, Dov Grobgeld wrote:
It would be nice to compare and perhaps merge the two projects. Any
chance of you putting it up on a git repo?
Regarding async commands, my glib server does support it through the
glib_jsonrcp_register_async_command(). There is an example
Thanks for your comments. Though I am agreeing with most of them, I am
unlikely to implement them on my own, as I am mostly interested in
remote controlling my own applications in situations where I am in
control of both the server and the client.
(I have just implemented such control in my image
No, I don't think it is universally reasonable. Because in general an icon
may have a style that is broken when the image is flipped. Imagine e.g. if
the buttons in some style contains arrows that were drawn with an
elliptical pen slanted at 45 degrees to the right. In such a case the left
and the
Hi all,
After lots of years I finally got around to porting my widget
GtkImageViewer to gtk3. After doing lots of reading of man pages, did I
realize that i can turn off double buffering. I did it, and everything
worked fine, except for one artefact. Once I turned it off, the scrolled
bars of the
, 2018 at 12:41 PM, Emmanuele Bassi <eba...@gmail.com> wrote:
> On 16 April 2018 at 10:19, Dov Grobgeld <dov.grobg...@gmail.com> wrote:
>
>> Hi all,
>>
>> After lots of years I finally got around to porting my widget
>> GtkImageViewer to gtk3. After doing lots
Just do:
gtk_rc_parse_string(include \/usr/share/themes/Bumblebee\\n)
and you will use the Bumblebee theme.
Regards,
Dov
On Wed, May 11, 2005 at 07:41:52AM +0100, abhi rocks wrote:
hi
Well i couldnt change my gtk theme using the .gtkrc
file in my home directory. Is there anyway i can
Box is one dimensional, either horizontal (hbox) or vertical (vbox)
and the widgets are packed in the beginning or the end of them.
Table is two dimensional and widgets are packed by specifying the
coordinates of the four sides to which the widget is to be attached.
You can also get two
Hi Lazy (great name),
The way to do it is to set the name of the label through:
gtk_widget_set_name(label, foo);
and then define a style for the name foo, that includes a font
specification:
gtk_rc_parse_string(style \foo\ {\n
font = \Serif 32\\n
Hi Tomas,
You are certainly right The style method is more suited when you want to
change additional properties like background color, etc. I stand corrected.
Regards,
Dov
2008/8/28 Tomas Carnecky [EMAIL PROTECTED]
Dov Grobgeld wrote:
Hi Lazy (great name),
The way to do it is to set
Both GtkImage and GtkLabel are subclasses of GtkMisc, which means that you
can set their alignments through the GtkMisc methods. Thus after after
packing them together, set the yalignment of the image to 1.0 and the
yalignment of the label to 0.0 (default for both are 0.5) and you should be
ok.
I just tested your compilation line and except from the fact that I needed
to add:
-I$MINGW/lib/gtk-2.0/include
to the include flags, I had no problem compiling with it. So either the
download at gtk is broken or you made some mistake when downloading it.
Btw, you might be interested in
It is almost correct except the fact that the rows of a pixbuf may be
padded. You are therefore supposed to use gdk_pixbuf_get_rowstride(pixbuf)
to get the distance between the rows.
Here is e.g. an example of vertically flip an image:
guint8 *buf = gdk_pixbuf_get_pixels(img);
gint w =
Just loop over the pixels and calculate a gray level through a linear
combination of R, G, and B. For example ppmtopgm uses:
grey = .299 r + .587 g + .114 b
Then assign the resulting gray to the red, green, and blue components, and
voila! You've got yourself a gray scale image.
See my previous
The data of a GdkPixbuf is layed out as a continous allocated chunk of
memory in one of the following format RGBRGBRGB for 24-bit images, or
RGBARGBARGBA, for 32-bit images, where R,G,B,A stands for the red, green,
blue, and alpha components respectively. Lines may be also padded to
row_stride
If you use glade, then after loading the interface, the widget has already
been created for you. There is therefore no need to generate another image
widget through a call to gtk_image_new_from_file() and you should use
gtk_image_set_from_file instead:
GtkWidget *image = ...*get widget pointer
In glade, try erasing the size. There is almost never any need to set the
size of a widget in glade. Instead the size of a widget should be the size
of its contained widgets.
Regards,
Dov
2009/1/29 frederico schardong frede@gmail.com
2009/1/29 Dov Grobgeld dov.grobg...@gmail.com
Here are a couple of options:
- Parse your variable list through regular expressions and dynamically
build your interface.
- Offline generate a glade (or GtkBuilder file) based on the same
parsing. The syntax of glade and GtkBuilder is very straight forward.
Regarding the callback,
The message means exactly what it sais, that you try to reduce the ref count
of an object that doesn't exist. If it is a C-program the way to trace this
is to rerun the program with the flag g-fatal-warnings in which case the
program will exit such that if you run the program in a debugger, the
Hi Dominique,
Do yourself a favour and take the time to get rid of the use of XOR for
drawing and erasing. You'll have to keep a backing store of your data and
restore it when erasing. I've done the same thing for creating a rubber band
distance measuring tool in my image viewer giv. (Look at
First of all, since C++ is basically a superset of C, you can add as much or
little C++ as you want to your C-program. In another word, you can program
in C++, but use the C-api for widget creation, etc. That is what I have been
doing e.g. in my projects GemTCL and giv. In contrast to what was
Hi Frederico,
(Copied from my own post from Mar 23, 2006 12:31:00 pm)
Here are four additional possibilities:
1. Use global variables for your widgets.
2. Create a struct containing pointers to all your widgets and use the
userdata field to pass this struct around in all callbacks.
3. Use the
No, GtkImage doesn't resize the pixbuf automatically for you. You will have
to do it manually whenever you get a resize event. Thus you will need to
store your original image in an off screen GdkPixbuf, and on an resize event
create a resized copy through gdk_pixbuf_scale_simple() that you then
No, doing it for the GtkImage is enough. Manually resizing or maximizing is
one and the same.
Regards,
Dov
2009/3/15 Luis Gonzalez ghempr...@hotmail.com
Hi,
I have do this in size-request event of the GtkViewport?, Does it works if
the user maximize the window?
Thanks.
No, GtkImage
Hi Chen,
For the application that you described, using a canvas doesn't give you much
and you can just as well create a cairo context and draw on the image
directly. But there are a few things that you should be aware of:
- Drawing overlays on av full realtime speed is going to take a lot of
and gdk_pixbuf have different ideas about
their order.
(These examples are copied from the GtkImageViewer tutorial.)
Regards,
Dov
2009/3/26 Alexander b3n...@yandex.ru
Hi, Dov.
On Thursday 26 March 2009, Dov Grobgeld wrote:
- If the annotation is static, it certainly faster to prepare
Since hex characters only has an alphabet of 16 characters, you can draw
these once into separate pixbufs, and then use gdk_pixbuf_copy_area() to
draw the prerendered characters to the screen. If you have the memory you
can e.g. create 256 two-nibble precomposed glyphs. I'm not sure how much
more
I know this is not answering your question, but you can get the same effect
of the drawing area by using my GtkImageViewer widget, without an image. See
the tutorial at:
http://giv.sourceforge.net/gtk-image-viewer/gtkimageviewer_tutorial.html
for an example.
Regards,
Dov
2009/4/12 Paolo
gdk_draw_line() is deprecated. Use cairo instead.
Regards,
Dov
2009/4/13 Paolo pra...@gmail.com
Hi!
I'm drawing lines into GtkDrawingArea through gdk_draw_line function. The
results is good, but not enough. How can I increase the rendering?
___
at:
http://giv.sourceforge.net/gtk-image-viewer/gtkimageviewer_tutorial.html
for an example of how to use agg with gtk.
Regards,
Dov
2009/4/13 Jose Hevia jose.francisco.he...@gmail.com
2009/4/13 Dov Grobgeld dov.grobg...@gmail.com:
gdk_draw_line() is deprecated. Use cairo instead.
And the problem
Hello Frederico,
What you are doing is basically hit detection. What I wonder is why you are
doing it the hard way. Why don't you use one of the canvas widgets, e.g.
goocanvas? It allows you to tie events to specific geometric objects.
If you want to do it on your own I first of all suggest that
As I've said in he past, I believe the best thing is to sub-class GtkWindow
and then make all the pointers you want to pass around members of your new
class. Conceptually this looks like:
class MyWindow : GtkWindow {
GtkWidget *w_label;
GtkWidget *w_button;
I've been doing cross platform development and windows installer during the
last few years of lots of C/C++ programs. Here is an outline of my
practices:
- Build done through scons.
- Special scons rules for doing cross compilation for Windows from Linux.
- Use NSIS for Windows installer
Oops. Make that:
http://ftp.gnome.org/pub/gnome/binaries/win32/
Regards,
Dov
2009/7/11 Dov Grobgeld dov.grobg...@gmail.com
I've been doing cross platform development and windows installer during the
last few years of lots of C/C++ programs. Here is an outline of my
practices:
- Build
Here are two programs that implement through the text viewer widget what you
are asking for:
- The Python console in gimp
- GemTcl - a tcl interpreter
The way I set up the interaction is to listen to both the key-press-event
and the insert-text events of the text-viewer. The
You don't manually loop for events, but instead set up your drawing in the
expose handle of the drawing widget. You then connect to this handle
through:
g_signal_connect(drawing_area, expose-event,
G_CALLBACK(my_expose_handler),
user_data);
See the
//==
// stdout-to-textview.c
//
// An example how to place stdout from a an external process
// into a text view buffer by running the process in a separate
// thread.
//
// This program is released under the LGPL v3.0.
//
// Dov Grobgeld dov.grobg...@gmail.com
// Fri Nov 20 09:22:39 2009
I don't really understand what you mean with emiting a changed event. You
mean that someone is doing something like:
gtk_label_set_text(GTK_LABEL(gtk_container_get_child(GTK_CONTAINER(my_button)),
new text)
or something simar (e.g. changing the image shown on the
No, don't use gtk-i18n-list and don't cross post. gtk-app-devel-list is just
fine.
Gtk works only with unicode in utf8 encoding internally, so if you want a
different format on the disk you will have to convert your text on input and
output.
Regards,
Dov
On Mon, Dec 28, 2009 at 19:59, Han
No, you don't create threads to handle events. Instead you connect to
callbacks through g_signal_connect().
But in order to get an intelligent reply from this list, you should provide
a complete compilable program that exhibit the problem that you experience.
Regards,
Dov
On Tue, Jan 12, 2010
On 02/03/2010 12:02 PM, Dov Grobgeld wrote:
Even if your image has more than eight bits you can always convert it to
8-bit according to a user setting defining the grey level max and min to
be
used for the convertion (known as window and level in the medical image
community). That's exactly how I
I've been using GtkPlot for real time plots for a number of years. It
basically does the job, though its feature set is quite limited.
In case you will be using PyGtk then there is no doubt that you should be
using MatPlotLib which has vastly more options. I have often wished that
there was a C
Attached below is a simple example. Something that you should keep in mind
is that gtkplot expects you to keep the data around as long as the plot is
displayed, i.e. it accepts a pointer to the data, but it does not copy it.
Presumably for perfomance reasons.
Regards,
Dov
#include gtk/gtk.h
Why don't you just draw a grid with lines on the canvas, and then whenever
you select a square you create a canvas rectangle item and put it in the
grid between the grid lines? When you unselect, you just destroy the canvas
item. You will still need 2 items, which might still be too much...
What do you mean with drawing text? Through the text property of the label
widget? Then the answer is indeed no.
But you can always create a drawing area and draw whatever you want with
cairo in the expose event. You will then have no problem drawing in a circle
as you can loop over each
The following solution does the job though it causes flickering.
- If there is a previous backing store (see below) then restore it to the
underlying image.
- Define the rectangle to draw by the button-press and the
motion-notify-events.
- Copy the four edges of below the rectangle
I don't know if you noticed it in another thread, but I created a working
example of the approach that I described in my earlier email. See:
http://github.com/dov/dovtk-lasso
See the program test-dovtk-lasso.c for an example of how to use it.
Please let me know if you need more explanations.
.
//==
// test-gtk-lasso.c - This example is in the public domain
//
// Dov Grobgeld dov.grobg...@gmail.com
// Mon Aug 16 09:09:56 2010
//--
#include stdlib.h
#include gtk
I might be missing something but it seems like this is a Linux kernel
question and doesn't have much to do with Gtk. Unless I'm missing something
you need to write a device driver for your kernel than makes your hardware
buttons appear as keyboard key-presses, e.g. F1-F10, and then use standard
I use gdk-pixbuf-csource in my build system to generate c-files from my
icons that I then insert into the source list of programs.
Let me know if you need more examples.
Regards,
Dov
On Sun, Oct 10, 2010 at 17:46, Arne Pagel a...@pagelnet.de wrote:
Hello,
I created some special icons for my
For an example of how to do it without having a secondary thread do any gtk
commands, see my example program in:
http://www.mail-archive.com/gtk-app-devel-list@gnome.org/msg14213.html
Basically the work thread, that is taking a long time doing its thing,
requests the gui thread to update the GUI
Last time I checked (which was a long time ago) gtksourceview did not
support BiDi and possibly other i18n issues. But this per se is no
explanation for it being slower. And yes, performance can always be
improved.
Regards,
Dov
On Thu, Nov 4, 2010 at 18:12, Olivier Sessink
If all you want is a popup, then you might as well create a new process
instead of a new thread. There is no advantage of using a thread as it does
not seem like you want to pass any info between the window and the
monitoring loop. Further, the way you described it, if more than one event
occurs,
As far as I know (but perhaps someone else knows better) the only freely
available postscript interpreter is ghostscript (which is used by gv).
Ghostscript is distributed under the GPL license which prevents Gtk, which
is distributed under the LGPL, to depend on it. The easiest way round this
is
There is no such thing as default folder under Linux/Unix. The user might
want to install an application in her home directory, or in /opt, or in
/usr/bin depending on permissions or the visibility of the application.
Perhaps you meant to ask if it is possible to know where the application was
run
One way of doing this is as follows:
- Cross compile for windows from Linux. E.g. on Fedora, this may be done
by installing the mingw32* packages.
- Install the cross compiled makensis package to create an installer for
Windows under Linux.
- Run the installer under Windows
Just use gtk_label_set_markup().
Regards,
Dov
On Sat, Sep 10, 2011 at 20:35, Craig craigbakal...@verizon.net wrote:
Hi,
I am not expert on this issue, but isn't Pango the way to go. I think
you should look up the Pango functions or how gtk deals with the Pango
thing.
Craig Bakalian
On Wed, Feb 29, 2012 at 01:17, Roger Davis r...@soest.hawaii.edu wrote:
[stuff deleted]
Does Cairo have a way
of mimicking an X11 XOR-op GC for doing low-overhead ephemeral drawing ops
of rubberband-lines, etc.?
I have over the years been intrigued of how to do flicker free rubberband
Indeed there is no higher level override determine the text direction. You
have to change the buffer contents to get what you want. The easiest way of
doing this is by inserting the character zero-width character LRM (U+200E)
before your first RTL character.
Lots of years ago we spoke about
. But it is much better than
the being blindfolded. ;-)
Regards,
Dov
On Tue, Apr 24, 2012 at 23:36, Ferdinand Ramirez
ramirez.ferdin...@yahoo.com wrote:
--- On Mon, 4/23/12, Dov Grobgeld dov.grobg...@gmail.com wrote:
Lots of years ago we spoke about having a direction override as a
paragraph
attribute
The following, though a bit old and referring to perl, might still help:
http://gtk2-perl.sourceforge.net/doc/yapc-2004-perl-gtk2/slides.html
Regards,
Dov
On Sun, Apr 29, 2012 at 20:41, Steve iteratio...@gmail.com wrote:
I'm using linux. I've tried dozens of different methods and a few
See http://developer.gnome.org/pango/stable/PangoMarkupFormat.html for the
syntax for subscripts and superscripts.
Regards,
Dov
On Mon, May 14, 2012 at 3:38 PM, David Nečas y...@physics.muni.cz wrote:
On Mon, May 14, 2012 at 08:20:26PM +0800, Rudra Banerjee wrote:
Can anybody please take
Is there any keybinding that allows copying into the clip-board the full
path of a filename that you hover over in the file chooser dialog? E.g.
when looking at the Recent file menu, there is a tooltip popup of the
full path of a file. Is it possible to copy the contents of this tooltip so
that
You just need to use gtk_widget_hide() on the widget and it and its child
widgets will not be shown.
On Sun, Jun 16, 2013 at 4:28 AM, John Coppens j...@jcoppens.com wrote:
Hi...
I created a program with three elements in an HBox (gtk2): two
treeviews and a GtkGlExt drawing area. I'd like to
There is another solution that I have used extensively, which is to draw
the cairo commands twice. Once for the actual drawing, and once again in an
offline image (called label image), with the following differences:
1. Use solid colors corresponding to labels of the different graphical
Please define what you mean with an output widget. All widgets are output
widgets in a sense, but e.g. GtkLabel is an output label for text messages
(and images).
On Mon, Oct 7, 2013 at 12:44 PM, Mahesh Chaudhari
mahesh.chaudh...@ymail.com wrote:
Are there any output widgets available with
Another equivalent scons-based way of compiling for windows with gcc is
shown in my program giv.
See: https://github.com/dov/giv/blob/master/SConstruct
SCons uses the Sconstruct files to do the cross-compilation and also calls
out to nsis to create a windows installer.
The complete gtk run time
Note that if you are using fedora (and possibly other Linux distributions)
it comes with lots of win32 packages precompiled. E.g. all you need to do
to get gtk2 and its dependencies is to do:
dnf install mingw32-gtk2
You can then compile your gtk programs for windows through cross
compilation
The key is to not draw directly, but to invalidate one or more rectangles
needed to for changing the image from the old to the new one.
I worked on this problem some years ago and I think my solution is very
relevant to your question.
See the gtk3 branch at: https://github.com/dov/dovtk-lasso .
Why don't you cross compile from Linux to Windows?
I have for years maintained several gtk based applications, including the
building of installers for windows through make-nsis, and done everything
from Linux.
Regards,
Dov
On Mon, May 7, 2018 at 10:30 AM, arkkimede wrote:
Indeed, you were right regarding gtk_comb_box_set_entry_text_column().
For the record, below find a translation into C of your python program.
Here are some enhancements that I thought of, though I highly doubt that
they will be adapted because they are too specialized.
- Turn it into a
.
Is there a GNOME guide line about this?
Regards,
Dov
On Thu, Jul 26, 2018 at 8:38 PM Reuben Rissler wrote:
> On 07/26/2018 07:36 AM, Dov Grobgeld via gtk-devel-list wrote:
>
> Is there a widget that combines a searchbox with a combobox?
>
> A use case would be to search for a fon
() with gtk_combo_box_new_with_entry(). I'm
still trying to figure out what went wrong.
Regards,
Dov
On Fri, Jul 27, 2018 at 2:25 PM Reuben Rissler wrote:
> On 07/27/2018 12:15 AM, Dov Grobgeld wrote:
>
> Thanks. This is exactly what I was looking for! I didn't realize that a
>
Is there a widget that combines a searchbox with a combobox?
A use case would be to search for a fontname in a very long font list.
I would like to be able to type a search string, and have the opened
combobox display only entries that match the typed string. A plus would be
if it is possible to
John,
I am maintaining several gtk2 applications for windows that I'm cross
compiling from Linux. I'm using Fedora for the cross compilation and the
way I'm working is as follows:
- Install the necessary mingw64 packages through dnf
- Install mingw32-nsis for the generation of a windows
89 matches
Mail list logo