Re: window with widgets and adjustable transparency
- From: Rafal Luzynski <digitalfreak lingonborough com>
- To: pablo andrade pereira via gtk-list <gtk-list gnome org>, pablo andrade pereira <pandradep hotmail com>
- Subject: Re: window with widgets and adjustable transparency
- Date: Tue, 31 Jul 2018 11:58:15 +0200 (CEST)
Hi Pablo,
30.07.2018 21:14 pablo andrade pereira via gtk-list <gtk-list gnome org> wrote:
Dear Sirs/Madams,
I am new in C programming and in GTK,[...]
You are welcome. :-)
[...]
void value_changed(GtkRange *range, gpointer window) {
val = gtk_range_get_value(range);
gtk_widget_set_opacity (GTK_WIDGET (window), val);
}
[...]
g_signal_connect(hscale, "value-changed", G_CALLBACK(value_changed),
NULL);
This should be:
g_signal_connect(hscale, "value-changed", G_CALLBACK(value_changed),
window);
The 4th argument of g_signal_connect() is the value which will be
passed later as the 2nd argument of the value_changed() callback,
that is also called window.
Once I did this change your program started working.
Few more remarks:
* The initial value of the hscale is 0 but the initial opacity
of the window is not 0.
* It is wrong idea to set the initial opacity of the window to 0
because the window would be invisible (fully transparent).
* The transparency/opacity setting works only if you use a compositing
window manager (which handles translucent windows).
* Setting the window opacity before the window is shown (gtk_widget_show
or gtk_widget_show_all) has no effect and may even disable setting
the opacity in future. This is the bug which I have discovered
recently and did not yet have time to report it.
Regards,
Rafal
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]