On Sat, Sep 4, 2010 at 12:14 PM, Cornelius Hald <h...@icandy.de> wrote:

> Hi Luca,
>
> On Fri, 2010-09-03 at 16:24 +0200, Luca Donaggio wrote:
> > I know that compositing is disabled in fullscreen, as some composited
> > widget (for example the fullscreen button in hildon-extras) are shown
> > with a black background instead of a semi-transparent one.
> > But I noticed one thing: if a hildon-banner appears in fullscreen when
> > one of such widgets is on the screen, the window manager turns
> > compositing on (the translucid background of the other widget is
> > shown), just to turn it off when the banner disappears.
> >
> > Is there a way to trick the window manager to act the same for
> > arbitrary widgets as for hildon-banners?
>
> I can't really answer your question. Just add a comment. If I'm going
> into fullscreen mode in Conboy the button background is not black. It
> semi-transparent. Not sure that helps something, though...
>
> Cheers,
> Conny
>
>
>
I still had no luck solving this problem, but at least I can reproduce it; I
cooked a very simple program to show what's going on (attached), maybe
someone more skilled can help me!

-- 
Luca Donaggio
/*
 gcc -Wall `pkg-config gtk+-2.0 hildon-1 hildon-extras-1 --cflags --libs` he-fullscreen-example.c -o he-fullscreen-example
 */

#include <gtk/gtk.h>
#include <hildon/hildon.h>
#include <hildon-extras/he-fullscreen-button.h>

static void go_fullscreen(GtkWidget *callerobj,gpointer data) {
	if (!(gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET (data))) & GDK_WINDOW_STATE_FULLSCREEN)) {
		gtk_window_fullscreen(GTK_WINDOW (data));
	} else {
		gtk_window_unfullscreen(GTK_WINDOW (data));
	}
}

int main () {
	HildonProgram *prog;
	HildonWindow *mainwin;
	/* GtkWidget *panarea, *evbox, *image; */
	GtkWidget *textview;
	HeFullscreenButton *fsbut;
	HildonAppMenu *menu;
	GtkWidget *button;

	hildon_gtk_init (NULL, NULL);

	prog = HILDON_PROGRAM (hildon_program_get_instance ());
	mainwin = HILDON_WINDOW (hildon_window_new ());
	gtk_window_set_title (GTK_WINDOW (mainwin),"Example");
	hildon_program_add_window (prog, mainwin);

	menu = HILDON_APP_MENU (hildon_app_menu_new ());
	button = gtk_button_new_with_label ("Fullscreen");
	g_signal_connect_after (button, "clicked", G_CALLBACK (go_fullscreen), mainwin);
	hildon_app_menu_append (menu, GTK_BUTTON (button));
	button = gtk_button_new_with_label ("Quit");
	g_signal_connect_after (button, "clicked", G_CALLBACK (gtk_main_quit), NULL);
	hildon_app_menu_append (menu, GTK_BUTTON (button));
	gtk_widget_show_all (GTK_WIDGET (menu));
	hildon_window_set_app_menu (mainwin, menu);

	/*panarea = hildon_pannable_area_new();
	gtk_container_add (GTK_CONTAINER (mainwin), panarea);

	image = gtk_image_new_from_file("image.jpg");

	evbox = gtk_event_box_new();
	gtk_container_add (GTK_CONTAINER (evbox), image);
	hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA (panarea),evbox);*/
	textview = hildon_text_view_new();
	gtk_container_add(GTK_CONTAINER (mainwin), textview);

	gtk_widget_show_all (GTK_WIDGET (mainwin));

	fsbut = he_fullscreen_button_new(GTK_WINDOW (mainwin));

	gtk_main ();
	return 0;
}

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to