- fixed some problems with floatnums
- changed take-focus to assume #t for the wm-hint if it is not available
This commit is contained in:
		
							parent
							
								
									3ff3bcd364
								
							
						
					
					
						commit
						609cb1b61f
					
				| 
						 | 
				
			
			@ -22,6 +22,12 @@
 | 
			
		|||
	    (not (member e list1)))
 | 
			
		||||
	  list2))
 | 
			
		||||
 | 
			
		||||
(define (floor* x)
 | 
			
		||||
  (let ((y (floor x)))
 | 
			
		||||
     (if (inexact? y)
 | 
			
		||||
         (inexact->exact y)
 | 
			
		||||
         y)))
 | 
			
		||||
 | 
			
		||||
;; *** cml utilities *************************************************
 | 
			
		||||
 | 
			
		||||
(define select* select)
 | 
			
		||||
| 
						 | 
				
			
			@ -329,7 +335,7 @@
 | 
			
		|||
	 (wm-take-focus (intern-atom dpy "WM_TAKE_FOCUS" #f))
 | 
			
		||||
	 (wm-hints (get-wm-hints dpy window))
 | 
			
		||||
	 (t (and wm-hints (assq (wm-hint input?) wm-hints)))
 | 
			
		||||
	 (input? (if t (cdr t) #f)))
 | 
			
		||||
	 (input? (if t (cdr t) #t)))
 | 
			
		||||
    (if (and input? (window-viewable? dpy window))
 | 
			
		||||
	(set-input-focus dpy window (revert-to parent) time))
 | 
			
		||||
    (if (and protocols wm-take-focus
 | 
			
		||||
| 
						 | 
				
			
			@ -394,8 +400,8 @@
 | 
			
		|||
(define (text-center-pos rect font-struct str)
 | 
			
		||||
  (let* ((cs (text-extents font-struct str))
 | 
			
		||||
	 (tw (char-struct:width cs)))
 | 
			
		||||
    (cons (floor (/ (- (rectangle:width rect) tw) 2))
 | 
			
		||||
	  (+ (floor (/ (rectangle:height rect) 2))
 | 
			
		||||
    (cons (floor* (/ (- (rectangle:width rect) tw) 2))
 | 
			
		||||
	  (+ (floor* (/ (rectangle:height rect) 2))
 | 
			
		||||
	     (font-struct:descent font-struct)))))
 | 
			
		||||
 | 
			
		||||
;; maximize-window moves and resizes the window fill as much space of
 | 
			
		||||
| 
						 | 
				
			
			@ -525,7 +531,7 @@
 | 
			
		|||
                                                       height-inc))))))
 | 
			
		||||
 | 
			
		||||
    ;; result ********************************************************
 | 
			
		||||
    (cons width height)))
 | 
			
		||||
    (cons (floor* width) (floor* height))))
 | 
			
		||||
 | 
			
		||||
(define (minimal-size/hints dpy window default-width default-height)
 | 
			
		||||
  (let ((hints (get-wm-normal-hints dpy window)) ;; or group-leader?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue