Merge branch 'exclipboard' of https://github.com/CendioOssman/tigervnc
diff --git a/common/rfb/Congestion.cxx b/common/rfb/Congestion.cxx
index 4a78452..f3f9cee 100644
--- a/common/rfb/Congestion.cxx
+++ b/common/rfb/Congestion.cxx
@@ -70,7 +70,7 @@
// Compare position even when wrapped around
static inline bool isAfter(unsigned a, unsigned b) {
- return (int)a - (int)b > 0;
+ return a != b && a - b <= UINT_MAX / 2;
}
static LogWriter vlog("Congestion");
diff --git a/common/rfb/Region.cxx b/common/rfb/Region.cxx
index beca482..e3d0642 100644
--- a/common/rfb/Region.cxx
+++ b/common/rfb/Region.cxx
@@ -185,7 +185,7 @@
}
bool rfb::Region::get_rects(std::vector<Rect>* rects,
- bool left2right, bool topdown, int maxArea) const
+ bool left2right, bool topdown) const
{
int nRects = xrgn->numRects;
int xInc = left2right ? 1 : -1;
@@ -209,16 +209,9 @@
i = firstInNextBand - yInc;
while (nRectsInBand > 0) {
- int y = xrgn->rects[i].y1;
- int h = maxArea / (xrgn->rects[i].x2 - xrgn->rects[i].x1);
- if (!h) h = xrgn->rects[i].y2 - y;
- do {
- if (h > xrgn->rects[i].y2 - y)
- h = xrgn->rects[i].y2 - y;
- Rect r(xrgn->rects[i].x1, y, xrgn->rects[i].x2, y+h);
- rects->push_back(r);
- y += h;
- } while (y < xrgn->rects[i].y2);
+ Rect r(xrgn->rects[i].x1, xrgn->rects[i].y1,
+ xrgn->rects[i].x2, xrgn->rects[i].y2);
+ rects->push_back(r);
i += xInc;
nRectsInBand--;
}
diff --git a/common/rfb/Region.h b/common/rfb/Region.h
index 9e53d36..7cc0eaa 100644
--- a/common/rfb/Region.h
+++ b/common/rfb/Region.h
@@ -68,7 +68,7 @@
bool is_empty() const { return numRects() == 0; }
bool get_rects(std::vector<Rect>* rects, bool left2right=true,
- bool topdown=true, int maxArea=0) const;
+ bool topdown=true) const;
Rect get_bounding_rect() const;
void debug_print(const char *prefix) const;
diff --git a/po/fr.po b/po/fr.po
index dfddbf0..168a2b3 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,17 +3,18 @@
# This file is distributed under the same license as the tigervnc package.
#
# Alain Portal <alain.portal@free.fr>, 2010
-# Stéphane Aulery <lkppo@free.fr>, 2015-2016.
+# Stéphane Aulery <lkppo@free.fr>, 2015-2016, 2019.
#
# Traduction complète et relecture, S. Aulery, 25-04-2015.
# Mise à jour, S. Aulery, 23-12-2016, 29-04-2017.
+# Mise à jour, S. Aulery, 12-05-2019.
#
msgid ""
msgstr ""
-"Project-Id-Version: tigervnc 1.7.90\n"
+"Project-Id-Version: tigervnc 1.8.90\n"
"Report-Msgid-Bugs-To: tigervnc-devel@googlegroups.com\n"
-"POT-Creation-Date: 2017-04-19 13:05+0000\n"
-"PO-Revision-Date: 2017-04-29 20:04+0200\n"
+"POT-Creation-Date: 2018-06-13 14:22+0000\n"
+"PO-Revision-Date: 2019-05-12 05:24+0200\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -24,132 +25,133 @@
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: vncviewer/CConn.cxx:110
+#: vncviewer/CConn.cxx:116
+#, c-format
+msgid "connected to socket %s"
+msgstr "connecté au socket %s"
+
+#: vncviewer/CConn.cxx:123
#, c-format
msgid "connected to host %s port %d"
msgstr "connecté à l’hôte %s par le port %d"
-#: vncviewer/CConn.cxx:169
+#: vncviewer/CConn.cxx:184
#, c-format
msgid "Desktop name: %.80s"
msgstr "Nom du bureau : %.80s"
-#: vncviewer/CConn.cxx:174
+#: vncviewer/CConn.cxx:189
#, c-format
msgid "Host: %.80s port: %d"
msgstr "Hôte : %.80s port : %d"
-#: vncviewer/CConn.cxx:179
+#: vncviewer/CConn.cxx:194
#, c-format
msgid "Size: %d x %d"
msgstr "Taille : %d x %d"
-#: vncviewer/CConn.cxx:187
+#: vncviewer/CConn.cxx:202
#, c-format
msgid "Pixel format: %s"
msgstr "Format de pixel : %s"
-#: vncviewer/CConn.cxx:194
+#: vncviewer/CConn.cxx:209
#, c-format
msgid "(server default %s)"
msgstr "(serveur par défaut %s)"
-#: vncviewer/CConn.cxx:199
+#: vncviewer/CConn.cxx:214
#, c-format
msgid "Requested encoding: %s"
msgstr "Encodage demandé : %s"
-#: vncviewer/CConn.cxx:204
+#: vncviewer/CConn.cxx:219
#, c-format
msgid "Last used encoding: %s"
msgstr "Dernier encodage utilisé : %s"
-#: vncviewer/CConn.cxx:209
+#: vncviewer/CConn.cxx:224
#, c-format
msgid "Line speed estimate: %d kbit/s"
msgstr "Vitesse estimée de la connexion : %d kbit/s"
-#: vncviewer/CConn.cxx:214
+#: vncviewer/CConn.cxx:229
#, c-format
msgid "Protocol version: %d.%d"
msgstr "Version du protocol : %d.%d"
-#: vncviewer/CConn.cxx:219
+#: vncviewer/CConn.cxx:234
#, c-format
msgid "Security method: %s"
msgstr "Méthode de sécurité : %s"
-#: vncviewer/CConn.cxx:343
+#: vncviewer/CConn.cxx:358
#, c-format
msgid "SetDesktopSize failed: %d"
msgstr "SetDesktopSize échoué : %d"
-#: vncviewer/CConn.cxx:413
+#: vncviewer/CConn.cxx:428
msgid "Invalid SetColourMapEntries from server!"
msgstr "Opération SetColourMapEntries du serveur invalide !"
-#: vncviewer/CConn.cxx:489
+#: vncviewer/CConn.cxx:479
msgid "Enabling continuous updates"
msgstr "Autorisation de mises à jour en continu"
-#: vncviewer/CConn.cxx:559
+#: vncviewer/CConn.cxx:556
#, c-format
msgid "Throughput %d kbit/s - changing to quality %d"
msgstr "Débit %d kbit/s - %d pour une meilleure qualité"
-#: vncviewer/CConn.cxx:581
+#: vncviewer/CConn.cxx:578
#, c-format
msgid "Throughput %d kbit/s - full color is now %s"
msgstr "Débit %d kbit/s - pleine couleur est à présent %s"
-#: vncviewer/CConn.cxx:583
+#: vncviewer/CConn.cxx:580
msgid "disabled"
msgstr "désactivé"
-#: vncviewer/CConn.cxx:583
+#: vncviewer/CConn.cxx:580
msgid "enabled"
msgstr "activé"
-#: vncviewer/CConn.cxx:593
+#: vncviewer/CConn.cxx:590
#, c-format
msgid "Using %s encoding"
msgstr "Utilise l’encodage %s"
-#: vncviewer/CConn.cxx:640
+#: vncviewer/CConn.cxx:637
#, c-format
msgid "Using pixel format %s"
msgstr "Utilisation du format de pixel %s"
-#: vncviewer/DesktopWindow.cxx:121
+#: vncviewer/DesktopWindow.cxx:122
msgid "Invalid geometry specified!"
msgstr "Géométrie spécifiée invalide !"
-#: vncviewer/DesktopWindow.cxx:434
+#: vncviewer/DesktopWindow.cxx:451
msgid "Adjusting window size to avoid accidental full screen request"
msgstr "Ajustement de la taille de la fenêtre pour éviter une demande accidentelle de plein écran"
-#: vncviewer/DesktopWindow.cxx:478
+#: vncviewer/DesktopWindow.cxx:495
#, c-format
msgid "Press %s to open the context menu"
msgstr "Appuyez sur %s pour ouvrir le menu contextuel"
-#: vncviewer/DesktopWindow.cxx:741 vncviewer/DesktopWindow.cxx:747
-#: vncviewer/DesktopWindow.cxx:760
+#: vncviewer/DesktopWindow.cxx:794 vncviewer/DesktopWindow.cxx:802
+#: vncviewer/DesktopWindow.cxx:822
msgid "Failure grabbing keyboard"
msgstr "Échec de saisie clavier"
-#: vncviewer/DesktopWindow.cxx:772
+#: vncviewer/DesktopWindow.cxx:896
msgid "Failure grabbing mouse"
msgstr "Échec de saisie souris"
-#: vncviewer/DesktopWindow.cxx:1002
+#: vncviewer/DesktopWindow.cxx:1120
msgid "Invalid screen layout computed for resize request!"
msgstr "Calcul de sortie d’écran invalide pour la demande de redimensionnement !"
-#: vncviewer/FLTKPixelBuffer.cxx:33
-msgid "Not enough memory for framebuffer"
-msgstr "Pas assez de mémoire pour le framebuffer"
-
#: vncviewer/OptionsDialog.cxx:57
msgid "VNC Viewer: Connection Options"
msgstr "Visionneuse VNC : options de la connexion"
@@ -344,220 +346,282 @@
msgid "Connect"
msgstr "Connexion"
-#: vncviewer/UserDialog.cxx:74
+#: vncviewer/ServerDialog.cxx:137 vncviewer/ServerDialog.cxx:171
+msgid "TigerVNC configuration (*.tigervnc)"
+msgstr "Configuration TigerVNC (*.tigervnc)"
+
+#: vncviewer/ServerDialog.cxx:138
+msgid "Select a TigerVNC configuration file"
+msgstr "Sélectionner un fichier de configuration TigerVNC"
+
+#: vncviewer/ServerDialog.cxx:172
+msgid "Save the TigerVNC configuration to file"
+msgstr "Enregistrer le fichier de configuration TigerVNC"
+
+#: vncviewer/ServerDialog.cxx:197
+#, c-format
+msgid "%s already exists. Do you want to overwrite?"
+msgstr "%s existe déjà. Souhaitez vous l'écraser ?"
+
+#: vncviewer/ServerDialog.cxx:198 vncviewer/vncviewer.cxx:279
+msgid "No"
+msgstr "Non"
+
+#: vncviewer/ServerDialog.cxx:198
+msgid "Overwrite"
+msgstr "Ecraser"
+
+#: vncviewer/UserDialog.cxx:85
msgid "Opening password file failed"
msgstr "Échec de l’ouverture du fichier mot de passe"
-#: vncviewer/UserDialog.cxx:86 vncviewer/UserDialog.cxx:96
+#: vncviewer/UserDialog.cxx:105
msgid "VNC authentication"
msgstr "Authentification VNC"
-#: vncviewer/UserDialog.cxx:87 vncviewer/UserDialog.cxx:102
-msgid "Password:"
-msgstr "Mot de passe :"
+#: vncviewer/UserDialog.cxx:112
+msgid "This connection is secure"
+msgstr "Cette connexion n'est pas sécurisée"
-#: vncviewer/UserDialog.cxx:89
-msgid "Authentication cancelled"
-msgstr "Authentification annulée"
+#: vncviewer/UserDialog.cxx:116
+msgid "This connection is not secure"
+msgstr "Cette connexion n'est pas sécurisée"
-#: vncviewer/UserDialog.cxx:99
+#: vncviewer/UserDialog.cxx:133
msgid "Username:"
msgstr "Nom d’utilisateur :"
-#: vncviewer/Viewport.cxx:586
+#: vncviewer/UserDialog.cxx:140
+msgid "Password:"
+msgstr "Mot de passe :"
+
+#: vncviewer/UserDialog.cxx:179
+msgid "Authentication cancelled"
+msgstr "Authentification annulée"
+
+#: vncviewer/Viewport.cxx:377
+#, c-format
+msgid "Failed to update keyboard LED state: %lu"
+msgstr "Echec de la mise à jour de l'état de la LED du clavier : %lu"
+
+#: vncviewer/Viewport.cxx:383 vncviewer/Viewport.cxx:389
+#, c-format
+msgid "Failed to update keyboard LED state: %d"
+msgstr "Echec de la mise à jour de l'état de la LED du clavier : %d"
+
+#: vncviewer/Viewport.cxx:419
+msgid "Failed to update keyboard LED state"
+msgstr "Echec de la mise à jour de l'état de la LED du clavier"
+
+#: vncviewer/Viewport.cxx:446 vncviewer/Viewport.cxx:454
+#: vncviewer/Viewport.cxx:471
+#, c-format
+msgid "Failed to get keyboard LED state: %d"
+msgstr "Impossible de récupérer l'état de la LED du clavier : %d"
+
+#: vncviewer/Viewport.cxx:817
+msgid "No key code specified on key press"
+msgstr "Aucun code de touche défini à l'enfoncement de touche"
+
+#: vncviewer/Viewport.cxx:959
#, c-format
msgid "No scan code for extended virtual key 0x%02x"
msgstr "Pas de scan code pour la clef virtuelle étendue 0x%02x"
-#: vncviewer/Viewport.cxx:588
+#: vncviewer/Viewport.cxx:961
#, c-format
msgid "No scan code for virtual key 0x%02x"
msgstr "Pas de scan code pour la clef virtuelle 0x%02x"
-#: vncviewer/Viewport.cxx:605
+#: vncviewer/Viewport.cxx:967
+#, c-format
+msgid "Invalid scan code 0x%02x"
+msgstr "Scan code 0x%02x invalide"
+
+#: vncviewer/Viewport.cxx:997
#, c-format
msgid "No symbol for extended virtual key 0x%02x"
msgstr "Pas de symbole pour la clef virtuelle étendue 0x%02x"
-#: vncviewer/Viewport.cxx:607
+#: vncviewer/Viewport.cxx:999
#, c-format
msgid "No symbol for virtual key 0x%02x"
msgstr "Pas de symbole pour la clef virtuelle 0x%02x"
-#: vncviewer/Viewport.cxx:645
+#: vncviewer/Viewport.cxx:1086
#, c-format
msgid "No symbol for key code 0x%02x (in the current state)"
msgstr "Pas de scan code pour le code clef 0x%02x (en l'état actuel)"
-#: vncviewer/Viewport.cxx:671
+#: vncviewer/Viewport.cxx:1119
#, c-format
msgid "No symbol for key code %d (in the current state)"
msgstr "Pas de scan code pour le code clef %d (en l'état actuel)"
-#: vncviewer/Viewport.cxx:708
+#: vncviewer/Viewport.cxx:1170
msgctxt "ContextMenu|"
msgid "E&xit viewer"
msgstr "&Quitte la visionneuse"
-#: vncviewer/Viewport.cxx:711
+#: vncviewer/Viewport.cxx:1173
msgctxt "ContextMenu|"
msgid "&Full screen"
msgstr "&Plein écran"
-#: vncviewer/Viewport.cxx:714
+#: vncviewer/Viewport.cxx:1176
msgctxt "ContextMenu|"
msgid "Minimi&ze"
msgstr "&Réduire"
-#: vncviewer/Viewport.cxx:716
+#: vncviewer/Viewport.cxx:1178
msgctxt "ContextMenu|"
msgid "Resize &window to session"
msgstr "Redimensionner la &fenêtre pour la session"
-#: vncviewer/Viewport.cxx:721
+#: vncviewer/Viewport.cxx:1183
msgctxt "ContextMenu|"
msgid "&Ctrl"
msgstr "&Ctrl"
-#: vncviewer/Viewport.cxx:724
+#: vncviewer/Viewport.cxx:1186
msgctxt "ContextMenu|"
msgid "&Alt"
msgstr "&Alt"
-#: vncviewer/Viewport.cxx:730
+#: vncviewer/Viewport.cxx:1192
#, c-format
msgctxt "ContextMenu|"
msgid "Send %s"
msgstr "Envoyer %s"
-#: vncviewer/Viewport.cxx:736
+#: vncviewer/Viewport.cxx:1198
msgctxt "ContextMenu|"
msgid "Send Ctrl-Alt-&Del"
msgstr "Envoyer Ctrl-Alt-&Sup"
-#: vncviewer/Viewport.cxx:739
+#: vncviewer/Viewport.cxx:1201
msgctxt "ContextMenu|"
msgid "&Refresh screen"
msgstr "R&afraîchir l’écran"
-#: vncviewer/Viewport.cxx:742
+#: vncviewer/Viewport.cxx:1204
msgctxt "ContextMenu|"
msgid "&Options..."
msgstr "&Options…"
-#: vncviewer/Viewport.cxx:744
+#: vncviewer/Viewport.cxx:1206
msgctxt "ContextMenu|"
msgid "Connection &info..."
msgstr "&Informations de connexion…"
-#: vncviewer/Viewport.cxx:746
+#: vncviewer/Viewport.cxx:1208
msgctxt "ContextMenu|"
msgid "About &TigerVNC viewer..."
msgstr "À propos de la visionneuse &TigerVNC…"
-#: vncviewer/Viewport.cxx:749
+#: vncviewer/Viewport.cxx:1211
msgctxt "ContextMenu|"
msgid "Dismiss &menu"
msgstr "Masquer le &menu"
-#: vncviewer/Viewport.cxx:833
+#: vncviewer/Viewport.cxx:1300
msgid "VNC connection info"
msgstr "Informations de la connexion VNC"
-#: vncviewer/parameters.cxx:286 vncviewer/parameters.cxx:320
+#: vncviewer/parameters.cxx:279 vncviewer/parameters.cxx:313
#, c-format
msgid "The name of the parameter %s was too large to write to the registry"
msgstr "Le nom du paramètre %s était trop long pour l’écrire dans le registre."
-#: vncviewer/parameters.cxx:292 vncviewer/parameters.cxx:299
+#: vncviewer/parameters.cxx:285 vncviewer/parameters.cxx:292
#, c-format
msgid "The parameter %s was too large to write to the registry"
msgstr "Le paramètre %s était trop long pour l’écrire dans le registre."
-#: vncviewer/parameters.cxx:305 vncviewer/parameters.cxx:326
+#: vncviewer/parameters.cxx:298 vncviewer/parameters.cxx:319
#, c-format
msgid "Failed to write parameter %s of type %s to the registry: %ld"
msgstr "Impossible d’écrire le paramètre %s de type %s dans le registre : %ld"
-#: vncviewer/parameters.cxx:341 vncviewer/parameters.cxx:380
+#: vncviewer/parameters.cxx:334 vncviewer/parameters.cxx:373
#, c-format
msgid "The name of the parameter %s was too large to read from the registry"
msgstr "Le nom du paramètre %s était trop long pour lire le registre"
-#: vncviewer/parameters.cxx:350 vncviewer/parameters.cxx:389
+#: vncviewer/parameters.cxx:343 vncviewer/parameters.cxx:382
#, c-format
msgid "Failed to read parameter %s from the registry: %ld"
msgstr "Impossible de lire le paramètre %s depuis le registre : %ld"
-#: vncviewer/parameters.cxx:359
+#: vncviewer/parameters.cxx:352
#, c-format
msgid "The parameter %s was too large to read from the registry"
msgstr "Le paramètre %s était trop long pour le lire depuis le registre"
-#: vncviewer/parameters.cxx:409
+#: vncviewer/parameters.cxx:402
#, c-format
msgid "Failed to create registry key: %ld"
msgstr "Impossible de créer la clef de regitre : %ld"
-#: vncviewer/parameters.cxx:423 vncviewer/parameters.cxx:472
-#: vncviewer/parameters.cxx:534 vncviewer/parameters.cxx:665
+#: vncviewer/parameters.cxx:416 vncviewer/parameters.cxx:465
+#: vncviewer/parameters.cxx:527 vncviewer/parameters.cxx:660
#, c-format
msgid "Unknown parameter type for parameter %s"
msgstr "Type de paramètre inconnu pour le paramètre %s"
-#: vncviewer/parameters.cxx:430 vncviewer/parameters.cxx:479
+#: vncviewer/parameters.cxx:423 vncviewer/parameters.cxx:472
#, c-format
msgid "Failed to close registry key: %ld"
msgstr "Impossible de fermer la clef de registre : %ld"
-#: vncviewer/parameters.cxx:446
+#: vncviewer/parameters.cxx:439
#, c-format
msgid "Failed to open registry key: %ld"
msgstr "Impossible d’ouvrir la clef de registre : %ld"
-#: vncviewer/parameters.cxx:503
+#: vncviewer/parameters.cxx:496
msgid "Failed to write configuration file, can't obtain home directory path."
msgstr "Impossible d'écrire le fichier de configuration, impossible d'obtenir le chemin du répertoire personnel."
-#: vncviewer/parameters.cxx:516
+#: vncviewer/parameters.cxx:509
#, c-format
msgid "Failed to write configuration file, can't open %s: %s"
msgstr "Impossible d'écrire le fichier de configuration, impossible d’ouvrir %s : %s"
-#: vncviewer/parameters.cxx:559
+#: vncviewer/parameters.cxx:554
msgid "Failed to read configuration file, can't obtain home directory path."
msgstr "Impossible de lire le fichier de configuration, impossible d’obtenir le chemin du répertoire personnel."
-#: vncviewer/parameters.cxx:572
+#: vncviewer/parameters.cxx:567
#, c-format
msgid "Failed to read configuration file, can't open %s: %s"
msgstr "Impossible de lire le fichier de configuration, impossible d’ouvrir %s : %s"
-#: vncviewer/parameters.cxx:585 vncviewer/parameters.cxx:590
-#: vncviewer/parameters.cxx:615 vncviewer/parameters.cxx:628
-#: vncviewer/parameters.cxx:644
+#: vncviewer/parameters.cxx:580 vncviewer/parameters.cxx:585
+#: vncviewer/parameters.cxx:610 vncviewer/parameters.cxx:623
+#: vncviewer/parameters.cxx:639
#, c-format
msgid "Failed to read line %d in file %s: %s"
msgstr "Impossible de lire la ligne %d du fichier %s : %s"
-#: vncviewer/parameters.cxx:591
+#: vncviewer/parameters.cxx:586
msgid "Line too long"
msgstr "Ligne trop longue"
-#: vncviewer/parameters.cxx:598
+#: vncviewer/parameters.cxx:593
#, c-format
msgid "Configuration file %s is in an invalid format"
msgstr "Fichier de configuration %s dans un format invalide"
-#: vncviewer/parameters.cxx:616
+#: vncviewer/parameters.cxx:611
msgid "Invalid format"
msgstr "Format invalide"
-#: vncviewer/parameters.cxx:629 vncviewer/parameters.cxx:645
+#: vncviewer/parameters.cxx:624 vncviewer/parameters.cxx:640
msgid "Invalid format or too large value"
msgstr "Format invalide ou valeur trop grande"
-#: vncviewer/parameters.cxx:672
+#: vncviewer/parameters.cxx:667
#, c-format
msgid "Unknown parameter %s on line %d in file %s"
msgstr "Paramètre %s inconnu à la ligne %d du fichier %s"
@@ -567,13 +631,13 @@
msgid ""
"TigerVNC Viewer %d-bit v%s\n"
"Built on: %s\n"
-"Copyright (C) 1999-%d TigerVNC Team and many others (see README.txt)\n"
+"Copyright (C) 1999-%d TigerVNC Team and many others (see README.rst)\n"
"See http://www.tigervnc.org for information on TigerVNC."
msgstr ""
"Visionneuse TigerVNC %d bits v%s\n"
-"Compilé sur : %s \n"
+"Compilé sur : %s\n"
"Copyright © 1999-%d L’équipe de TigerVNC et beaucoup d’autres (voir README.txt)\n"
-"Voir http://www.tigervnc.org pour plus d’informations sur TigerVNC."
+"Voir https://www.tigervnc.org pour plus d’informations sur TigerVNC."
#: vncviewer/vncviewer.cxx:127
msgid "About TigerVNC Viewer"
@@ -593,14 +657,10 @@
msgid "Termination signal %d has been received. TigerVNC Viewer will now exit."
msgstr "Signal de fin %d reçu. La visionneuse TigerVNC va se fermer."
-#: vncviewer/vncviewer.cxx:271
+#: vncviewer/vncviewer.cxx:271 vncviewer/vncviewer.desktop.in.in:3
msgid "TigerVNC Viewer"
msgstr "Visionneuse TigerVNC"
-#: vncviewer/vncviewer.cxx:279
-msgid "No"
-msgstr "Non"
-
#: vncviewer/vncviewer.cxx:280
msgid "Yes"
msgstr "Oui"
@@ -654,15 +714,23 @@
#. TRANSLATORS: "Parameters" are command line arguments, or settings
#. from a file or the Windows registry.
-#: vncviewer/vncviewer.cxx:534 vncviewer/vncviewer.cxx:535
+#: vncviewer/vncviewer.cxx:581 vncviewer/vncviewer.cxx:583
msgid "Parameters -listen and -via are incompatible"
msgstr "Les paramètres -listen et -via sont incompatibles"
-#: vncviewer/vncviewer.cxx:550
+#: vncviewer/vncviewer.cxx:598
#, c-format
msgid "Listening on port %d"
msgstr "Écoute du port %d"
-#: vncviewer/vncviewer.desktop.in.in:6
+#: vncviewer/vncviewer.desktop.in.in:4
+msgid "Remote Desktop Viewer"
+msgstr "Visionneuse de bureau à distance"
+
+#: vncviewer/vncviewer.desktop.in.in:5
msgid "Connect to VNC server and display remote desktop"
-msgstr "Se connecter à un serveur VNC et afficher le bureau distant"
+msgstr "Se connecter à un serveur VNC efficher le bureau à distance"
+
+#: vncviewer/vncviewer.desktop.in.in:7
+msgid "tigervnc"
+msgstr "tigervnc"
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
index 4860b92..1b666f9 100644
--- a/vncviewer/DesktopWindow.cxx
+++ b/vncviewer/DesktopWindow.cxx
@@ -284,6 +284,28 @@
}
+void DesktopWindow::show()
+{
+ Fl_Window::show();
+
+#if !defined(WIN32) && !defined(__APPLE__)
+ XEvent e;
+
+ // Request ability to grab keyboard under Xwayland
+ e.xany.type = ClientMessage;
+ e.xany.window = fl_xid(this);
+ e.xclient.message_type = XInternAtom (fl_display, "_XWAYLAND_MAY_GRAB_KEYBOARD", 0);
+ e.xclient.format = 32;
+ e.xclient.data.l[0] = 1;
+ e.xclient.data.l[1] = 0;
+ e.xclient.data.l[2] = 0;
+ e.xclient.data.l[3] = 0;
+ e.xclient.data.l[4] = 0;
+ XSendEvent(fl_display, RootWindow(fl_display, fl_screen), 0, SubstructureNotifyMask | SubstructureRedirectMask, &e);
+#endif
+}
+
+
void DesktopWindow::draw()
{
bool redraw;
diff --git a/vncviewer/DesktopWindow.h b/vncviewer/DesktopWindow.h
index 6b03325..ef3dbb0 100644
--- a/vncviewer/DesktopWindow.h
+++ b/vncviewer/DesktopWindow.h
@@ -75,10 +75,11 @@
void handleClipboardData(const char* data);
// Fl_Window callback methods
- void draw();
- void resize(int x, int y, int w, int h);
+ virtual void show();
+ virtual void draw();
+ virtual void resize(int x, int y, int w, int h);
- int handle(int event);
+ virtual int handle(int event);
void fullscreen_on();