1- # $Id: display.py,v 1.2 2000-08-07 10:30:19 petli Exp $
1+ # $Id: display.py,v 1.3 2000-08-08 09:47:45 petli Exp $
22#
33# Xlib.display -- high level display object
44#
2626import protocol .display
2727from protocol import request
2828
29- # Xlib.xoobjects modules
29+ # Xlib.xobjects modules
3030import xobject .resource
3131import xobject .drawable
32- import xobject .font
33- import xobject .gc
32+ import xobject .fontable
3433import xobject .colormap
3534import xobject .cursor
3635
@@ -40,8 +39,8 @@ class _BaseDisplay(protocol.display.Display):
4039 'drawable' : xobject .drawable .Drawable ,
4140 'window' : xobject .drawable .Window ,
4241 'pixmap' : xobject .drawable .Pixmap ,
43- 'font' : xobject .font .Font ,
44- 'gc' : xobject .gc .GC ,
42+ 'font' : xobject .fontable .Font ,
43+ 'gc' : xobject .fontable .GC ,
4544 'colormap' : xobject .colormap .Colormap ,
4645 'cursor' : xobject .cursor .Cursor ,
4746 }
@@ -60,11 +59,21 @@ def flush(self):
6059 self .display .flush ()
6160
6261 def next_event (self ):
63- self .display .next_event ()
62+ return self .display .next_event ()
6463
6564 def pending_events (self ):
66- self .display .pending_events ()
67-
65+ return self .display .pending_events ()
66+
67+ ###
68+ ### display information retrieval
69+ ###
70+
71+ def screen (self , sno = None ):
72+ if sno is None
73+ return self .display .info .roots [self .display .default_screen ]
74+ else :
75+ return self .display .info .roots [sno ]
76+
6877 ###
6978 ### X requests
7079 ###
@@ -79,8 +88,205 @@ def get_atom_name(self, atom):
7988 r = request .GetAtomName (display = self .display ,
8089 atom = atom )
8190 return r .name
82-
91+
92+ def get_selection_owner (self , selection ):
93+ r = request .GetSelectionOwner (display = self .display ,
94+ selection = selection )
95+ return r .owner
96+
97+ def send_event (self , destination , event , propagate = 0 , event_mask = 0 ):
98+ request .SendEvent (display = self .display ,
99+ propagate = propagate ,
100+ destination = destination ,
101+ event_mask = event_mask ,
102+ event = event )
103+
104+ def ungrab_pointer (self , time ):
105+ request .UngrabPointer (display = self .display ,
106+ time = time )
107+
108+ def change_active_pointer_grab (self , event_mask , cursor , time ):
109+ request .ChangeActivePointerGrab (display = self .display ,
110+ cursor = cursor ,
111+ time = time ,
112+ event_mask = event_mask )
113+
114+ def ungrab_keyboard (self , time ):
115+ request .UngrabKeyboard (display = self .display ,
116+ time = time )
117+
118+ def allow_events (self , mode , time ):
119+ request .AllowEvents (display = self .display ,
120+ mode = mode ,
121+ time = time )
122+
123+ def grab_server (self ):
124+ request .GrabServer (display = self .display )
125+
126+ def ungrab_server (self ):
127+ request .UngrabServer (display = self .display )
128+
129+ def warp_pointer (self , x , y , src_window = 0 , src_x = 0 , src_y = 0 ,
130+ src_width = 0 , src_height = 0 ):
131+
132+ request .WarpPointer (display = self .display ,
133+ src_window = src_window ,
134+ dst_window = X .NONE ,
135+ src_x = src_x ,
136+ src_y = src_y ,
137+ src_width = src_width ,
138+ src_height = src_height ,
139+ dst_x = x ,
140+ dst_y = y )
141+
142+ def set_input_focus (self , focus , revert_to , time ):
143+ request .SetInputFocus (display = self .display ,
144+ revert_to = revert_to ,
145+ focus = focus ,
146+ time = time )
147+
148+ def get_input_focus (self ):
149+ return request .GetInputFocus (display = self .display )
150+
151+ def query_keymap (self ):
152+ r = request .QueryKeymap (display = self .display )
153+ return r .map
154+
155+ def open_font (self , name ):
156+ fid = self .display .allocate_resource_id ()
157+ request .OpenFont (display = self .display ,
158+ fid = fid ,
159+ name = name )
160+
161+ return fontable .Font (self .display , fid , owner = 1 )
162+
163+ def list_fonts (self , pattern , max_names ):
164+ r = request .ListFonts (display = self .display ,
165+ max_names = max_names ,
166+ pattern = pattern )
167+ return r .fonts
168+
169+ def list_fonts_with_info (self , pattern , max_names ):
170+ return request .ListFontsWithInfo (display = self .display ,
171+ max_names = max_names ,
172+ pattern = pattern )
173+
174+ def set_font_path (self , path ):
175+ request .SetFontPath (display = self .display ,
176+ path = path )
177+
178+ def get_font_path (self ):
179+ r = request .GetFontPath (display = self .display )
180+ return r .paths
181+
182+ def query_extension (self , name ):
183+ r = request .QueryExtension (display = self .display ,
184+ name = name )
185+ if r .present :
186+ return r
187+ else :
188+ return None
189+
190+ def list_extensions (self ):
191+ r = request .ListExtensions (display = self .display )
192+ return r .names
193+
194+ def change_keyboard_mapping (self , first_keycode , keysyms ):
195+ request .ChangeKeyboardMapping (display = self .display ,
196+ first_keycode = first_keycode ,
197+ keysyms = keysyms )
198+
199+ def get_keyboard_mapping (self , first_keycode , count ):
200+ r = request .GetKeyboardMapping (display = self .display ,
201+ first_keycode = first_keycode ,
202+ count = count )
203+ return r .keysyms
204+
205+ def change_keyboard_control (self , ** keys ):
206+ request .ChangeKeyboardControl (display = self .display ,
207+ attrs = keys )
208+
209+ def get_keyboard_control (self ):
210+ return request .GetKeyboardControl (display = self .display )
211+
83212 def bell (self , percent = 0 ):
84213 request .Bell (display = self .display ,
85214 percent = percent )
86215
216+ def change_pointer_control (self , accel = None , threshold = None ):
217+
218+ if accel is None :
219+ do_accel = 0
220+ accel_num = 0
221+ accel_denum = 0
222+ else :
223+ do_accel = 1
224+ accel_num , accel_denum = accel
225+
226+ if threshold is None :
227+ do_threshold = 0
228+ else :
229+ do_threshold = 1
230+
231+ request .ChangePointerControl (display = self .display ,
232+ do_accel = do_accel ,
233+ do_thres = do_threshold ,
234+ accel_num = accel_num ,
235+ accel_denum = accel_denum ,
236+ threshold = threshold )
237+
238+ def get_pointer_control (self ):
239+ return request .GetPointerControl (display = self .display )
240+
241+ def set_screen_saver (self , timeout , interval , prefer_blank , allow_exposures ):
242+ request .SetScreenSaver (display = self .display ,
243+ timeout = timeout ,
244+ interval = interval ,
245+ prefer_blank = prefer_blank ,
246+ allow_exposures = allow_exposures )
247+
248+ def get_screen_saver (self ):
249+ return request .GetScreenSaver (display = self .display )
250+
251+ def change_hosts (self , mode , host_family , host ):
252+ request .ChangeHosts (display = self .display ,
253+ mode = mode ,
254+ host_family = host_family ,
255+ host = host )
256+
257+ def list_hosts (self ):
258+ return request .ListHosts (display = self .display )
259+
260+ def set_access_control (self , mode ):
261+ request .SetAccessControl (display = self .display ,
262+ mode = mode )
263+
264+ def set_close_down_mode (self , mode ):
265+ request .SetCloseDownMode (display = self .display ,
266+ mode = mode )
267+
268+ def force_screen_saver (self , mode ):
269+ request .ForceScreenSaver (display = self .display ,
270+ mode = mode )
271+
272+ def set_pointer_mapping (self , map ):
273+ r = request .SetPointerMapping (display = self .display ,
274+ map = map )
275+ return r .status
276+
277+ def get_pointer_mapping (self ):
278+ r = request .GetPointerMapping (display = self .display )
279+ return r .map
280+
281+ def set_modifier_mapping (self , keycodes ):
282+ r = request .SetModifierMapping (display = self .display ,
283+ keycodes = keycodes )
284+ return r .status
285+
286+ def get_modifier_mapping (self ):
287+ r = request .GetModifierMapping (display = self .display )
288+ return r .keycodes
289+
290+ def no_operation (self ):
291+ request .NoOperation (self )
292+
0 commit comments