Greetings !!

Je me base sur ces lignes de code qui font partie d'un code source censé simuler un RPG (tout simple sans les réseaux).
Je cherche à faire en sorte que dès que l'on lance le programme en ligne de commande (mode console), l'application fasse passer la console en plein écran (full screen).

Je travaille en mode émulé (xterm xfree4) sous KDE avec konsole -- je n'ai jamais réussi à faire en sorte qu'en mode "true console" (tty) les caractères utf8 s'affichent correctement, pareil pour les codes couleurs RGB en séquence ANSI --

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#ifdef _DBUS_ON
  DBusError DBUSerreur;
  dbus_error_init(&DBUSerreur);
  DBusConnection *ConnexionAuBureau=dbus_bus_get(DBUS_BUS_SESSION,&DBUSerreur);
	if(ConnexionAuBureau!=NULL)
	{
		DBusMessage *message;
		dbus_error_free(&DBUSerreur);
		message=dbus_message_new_method_call("org.kde.konsole","/konsole/MainWindow_1/actions/fullscreen","com.trolltech.Qt.QAction","trigger");
		if(message!=NULL)
		{
			//wprintf(L"[DBUS] envoi du message");
			//sleep(1);
			dbus_connection_send(ConnexionAuBureau,message,NULL);
			dbus_message_unref(message);
		}
	}
#endif
 
	GetConsoleDimensions(&uiWidth,&uiHeight);
#ifndef _DBUS_ON
	if(uiWidth<142 || uiHeight<48) // il faut pouvoir remplir la liste des équipements de 22 objets, comme la liste de l équipement fait la moitié verticale de l écran...
	{
		wprintf(L"Les dimensions de la console sont trop petites...\n");
		BackToShell(1,uiHeight+3);
	}
#endif
Quand je compile le code source et que je l'exécute c'est super Konsole passe en mode plein écran, ce qui veut dire que dbus a bien fait son boulot... youpie !! me diriez-vous !
Et bien non !!
Je voudrais pouvoir faire en sorte que la fonction GetConsoleDimensions() qui cache un appel à ioctl() -- TIOCGWINSZ -- permettant de récupérer le nombre de colonnes et de lignes (caractères) puisse
récupérer ces valeurs, MAIS POUR LA NOUVELLE DIMENSION DE LA FENETRE...

Apparemment, les valeurs obtenues correspondent à celles obtenues AVANT que dbus ne fasse son "trigger" (enclenche) le mode plein écran.

J'ai beau chercher dans la documentation, passer par qdbusviewer dbus-monitor, il n'y a rien qui m'indique comment/quoi/où/pourquoi ces valeurs ne sont pas mises à jour.

La documentation dbus étant plus que limite, je ne vois pas comment opérer.
L'idéal serait via dbus (ou ioctl()) d'envoyer à Konsole l'ordre de "mettre à jour les caractéristiques du terminal et surtout le nombre de lignes et le nombre de colonnes"...

Si quelqu'un avait une idée ce serait franchement sympa ^^
Merci d'avance bien entendu ^^