3838import gi
3939
4040gi .require_version ("Gtk" , "3.0" ) # isort:skip
41- from gi .repository import Gtk , Gio , Gdk # isort:skip
41+ from gi .repository import Gtk , Gio , Gdk , GLib # isort:skip
4242
4343import gbulb
4444import pyinotify
4848t = gettext .translation ("desktop-linux-manager" , fallback = True )
4949_ = t .gettext
5050
51- from .utils import run_asyncio_and_show_errors
51+ from .utils import run_asyncio_and_show_errors , markup_format
5252
5353gbulb .install ()
5454
@@ -127,19 +127,19 @@ def _copy(self, metadata: dict) -> None:
127127 size = clipboard_formatted_size (metadata ["sent_size" ])
128128
129129 if metadata ["malformed_request" ]:
130- body = ERROR_MALFORMED_DATA . format ( vmname = metadata ["vmname" ])
130+ body = markup_format ( ERROR_MALFORMED_DATA , vmname = metadata ["vmname" ])
131131 icon = "dialog-error"
132132 elif (
133133 metadata ["qrexec_clipboard" ]
134134 and metadata ["sent_size" ] >= metadata ["buffer_size" ]
135135 ):
136136 # Microsoft Windows clipboard case
137- body = WARNING_POSSIBLE_TRUNCATION . format (
137+ body = markup_format ( WARNING_POSSIBLE_TRUNCATION ,
138138 vmname = metadata ["vmname" ], size = size
139139 )
140140 icon = "dialog-warning"
141141 elif metadata ["oversized_request" ]:
142- body = ERROR_OVERSIZED_DATA . format (
142+ body = markup_format ( ERROR_OVERSIZED_DATA ,
143143 vmname = metadata ["vmname" ],
144144 size = size ,
145145 limit = clipboard_formatted_size (metadata ["buffer_size" ]),
@@ -150,13 +150,13 @@ def _copy(self, metadata: dict) -> None:
150150 and metadata ["cleared" ]
151151 and metadata ["sent_size" ] == 0
152152 ):
153- body = WARNING_EMPTY_CLIPBOARD . format ( vmname = metadata ["vmname" ])
153+ body = markup_format ( WARNING_EMPTY_CLIPBOARD , vmname = metadata ["vmname" ])
154154 icon = "dialog-warning"
155155 elif not metadata ["successful" ]:
156- body = ERROR_ON_COPY . format ( vmname = metadata ["vmname" ])
156+ body = markup_format ( ERROR_ON_COPY , vmname = metadata ["vmname" ])
157157 icon = "dialog-error"
158158 else :
159- body = MSG_COPY_SUCCESS . format (
159+ body = markup_format ( MSG_COPY_SUCCESS ,
160160 vmname = metadata ["vmname" ],
161161 size = size ,
162162 shortcut = self .gtk_app .paste_shortcut ,
@@ -173,14 +173,14 @@ def _copy(self, metadata: dict) -> None:
173173 def _paste (self , metadata : dict ) -> None :
174174 """Sends Paste notification via Gio.Notification."""
175175 if not metadata ["successful" ] or metadata ["malformed_request" ]:
176- body = ERROR_ON_PASTE . format ( vmname = metadata ["vmname" ])
176+ body = markup_format ( ERROR_ON_PASTE , vmname = metadata ["vmname" ])
177177 body += MSG_WIPED
178178 icon = "dialog-error"
179179 elif (
180180 "protocol_version_xside" in metadata .keys ()
181181 and metadata ["protocol_version_xside" ] >= 0x00010008
182182 ):
183- body = MSG_PASTE_SUCCESS_METADATA . format (
183+ body = markup_format ( MSG_PASTE_SUCCESS_METADATA ,
184184 size = clipboard_formatted_size (metadata ["sent_size" ]),
185185 vmname = metadata ["vmname" ],
186186 )
@@ -355,9 +355,9 @@ def update_clipboard_contents(
355355
356356 else :
357357 self .clipboard_label .set_markup (
358- _ (
358+ markup_format ( _ (
359359 "<i>Global clipboard contents: {0} from <b>{1}</b></i>"
360- ). format ( size , vm )
360+ ), size , vm )
361361 )
362362 self .icon .set_from_icon_name ("edit-copy" )
363363
@@ -391,10 +391,10 @@ def setup_ui(self, *_args, **_kwargs):
391391
392392 help_label = Gtk .Label (xalign = 0 )
393393 help_label .set_markup (
394- _ (
394+ markup_format ( _ (
395395 "<i>Use <b>{copy}</b> to copy and "
396396 "<b>{paste}</b> to paste.</i>"
397- ). format ( copy = self .copy_shortcut , paste = self .paste_shortcut )
397+ ), copy = self .copy_shortcut , paste = self .paste_shortcut )
398398 )
399399 help_item = Gtk .MenuItem ()
400400 help_item .set_margin_left (10 )
@@ -442,9 +442,9 @@ def copy_dom0_clipboard(self, *_args, **_kwargs):
442442 '"protocol_version_xside":65544,\n '
443443 '"protocol_version_vmside":65544,\n '
444444 "}}\n " .format (
445- xevent_timestamp = str (Gtk .get_current_event_time ()),
446- sent_size = os .path .getsize (DATA ),
447- buffer_size = " 256000" ,
445+ xevent_timestamp = json . dumps (Gtk .get_current_event_time ()),
446+ sent_size = json . dumps ( os .path .getsize (DATA ) ),
447+ buffer_size = json . dumps ( 256000 ) ,
448448 )
449449 )
450450 except Exception : # pylint: disable=broad-except
0 commit comments