SAlut! j'aimerais savoir s'il est possible de faire du plein écran avec GTK? Si oui comment? Merci de me répondre
Version imprimable
SAlut! j'aimerais savoir s'il est possible de faire du plein écran avec GTK? Si oui comment? Merci de me répondre
Salut,
oui, j'utilise le code svuivant :
Essaye ca et on verra :-)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 //fenetre, qui doit etre en "full screen" GtkWidget *m_window; gboolean m_fullscreen; //c'est clair, n'est-ce pas ? //retenir dans mémoire pour "full screen" les dernieres valeurs gint m_window_x; gint m_window_y; gint m_window_w; gint m_window_h; void CMapWindow::SwitchFullScreen () { if ( m_fullscreen ) { gtk_widget_hide ( m_window ); gtk_window_set_type_hint ( GTK_WINDOW ( m_window ), GDK_WINDOW_TYPE_HINT_NORMAL ); // gtk_window_set_accept_focus ( GTK_WINDOW ( m_window ), TRUE ); // gtk_window_unfullscreen ( GTK_WINDOW ( m_window ) ); gtk_window_set_decorated ( GTK_WINDOW ( m_window ), TRUE ); gtk_window_move ( GTK_WINDOW ( m_window ), m_window_x, m_window_y ); gtk_window_resize ( GTK_WINDOW ( m_window ), m_window_w, m_window_h ); } else { gtk_window_get_position ( (GtkWindow*)( m_window ), &m_window_x, &m_window_y ); gtk_window_get_size ( GTK_WINDOW ( m_window ), &m_window_w, &m_window_h ); gtk_widget_hide ( m_window ); gtk_window_set_decorated ( GTK_WINDOW ( m_window ), FALSE ); gtk_window_set_type_hint ( GTK_WINDOW ( m_window ), GDK_WINDOW_TYPE_HINT_DESKTOP ); // gtk_window_set_accept_focus ( GTK_WINDOW ( m_window ), TRUE ); // gtk_window_fullscreen ( GTK_WINDOW ( m_window ) ); gtk_window_move ( GTK_WINDOW ( m_window ), 0, 0 ); GdkScreen *screen = gtk_window_get_screen ( GTK_WINDOW ( m_window ) ); gtk_window_resize ( GTK_WINDOW ( m_window ), gdk_screen_get_width (screen), gdk_screen_get_height (screen) ); } m_fullscreen = !m_fullscreen; gtk_window_present ( GTK_WINDOW ( m_window ) ); }
Bon courage. Fredy
(Desole pour mon francais)
Pas persuadé puisque la fenêtre est en plein écran quand m_fullscreen vaut false :koi:
Bref, voici un code complet et minimale qui fait ça :
Et pour info quand on fait du C++, gtkmm c'est mieux :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <gtk/gtk.h> int main (int argc, char **argv) { GtkWidget *window = NULL; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_decorated (GTK_WINDOW (window), FALSE); gtk_window_maximize (GTK_WINDOW (window)); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DESKTOP); g_signal_connect (G_OBJECT(window), "destroy", gtk_main_quit, NULL); gtk_widget_show_all (window); gtk_main (); return 0; }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <gtkmm.h> class FSWindow : public Gtk::Window { public: FSWindow () { this->set_type_hint (Gdk::WINDOW_TYPE_HINT_DESKTOP); this->set_decorated (false); this->maximize (); } }; int main (int argc, char **argv) { Gtk::Main kit(argc, argv); FSWindow win; win.show_all (); kit.run(win); return 0; }
Je sais que ce sujet est ancien, mais
au lieu de
gtk_window_maximize()
qui laisse apparaitre la barre des tâches,
préférez
gtk_window_fullscreen()