sawfish r4271 - in trunk: . lisp/sawfish/wm/state
- From: jkozicki svn gnome org
- To: svn-commits-list gnome org
- Subject: sawfish r4271 - in trunk: . lisp/sawfish/wm/state
- Date: Fri, 29 Aug 2008 12:08:31 +0000 (UTC)
Author: jkozicki
Date: Fri Aug 29 12:08:31 2008
New Revision: 4271
URL: http://svn.gnome.org/viewvc/sawfish?rev=4271&view=rev
Log:
Add maximize fullscreen xinerama patch by Jonathan Sambrook (Uploaded by Christopher Bratusek)
Modified:
trunk/ChangeLog
trunk/lisp/sawfish/wm/state/maximize.jl
Modified: trunk/lisp/sawfish/wm/state/maximize.jl
==============================================================================
--- trunk/lisp/sawfish/wm/state/maximize.jl (original)
+++ trunk/lisp/sawfish/wm/state/maximize.jl Fri Aug 29 12:08:31 2008
@@ -47,7 +47,9 @@
maximize-fill-window-vertically-toggle
maximize-fill-window-horizontally-toggle
maximize-window-fullscreen
- maximize-window-fullscreen-toggle)
+ maximize-window-fullscreen-toggle
+ maximize-window-fullxinerama
+ maximize-window-fullxinerama-toggle)
(open rep
rep.system
@@ -494,10 +496,10 @@
;; fullscreen commands
(define (maximize-window-fullscreen w state)
+ "Fullscreen maximize the window."
(cond ((and state (not (window-maximized-fullscreen-p w)))
(when (window-maximizable-p w)
- (let ((head-offset (current-head-offset w))
- (head-dims (current-head-dimensions w)))
+ (let ((head-offset (current-head-offset w)) (head-dims (current-head-dimensions w)))
(save-unmaximized-geometry w)
(window-put w 'unmaximized-type (window-type w))
(push-window-type w 'unframed 'sawfish.wm.state.maximize)
@@ -516,6 +518,7 @@
(unmaximize-window w 'fullscreen))))
(define (maximize-window-fullscreen-toggle w)
+ "Toggle the state of the window between fullscreen maximized and unmaximized."
(maximize-window-fullscreen w (not (window-maximized-fullscreen-p w))))
(define-command 'maximize-window-fullscreen
@@ -523,6 +526,36 @@
(define-command 'maximize-window-fullscreen-toggle
maximize-window-fullscreen-toggle #:spec "%W")
+ (define (maximize-window-fullxinerama w state)
+ "Fullscreen maximize the window across all Xinerama screens."
+ (cond ((and state (not (window-maximized-fullscreen-p w)))
+ (when (window-maximizable-p w)
+ ( let ((screen-dims (screen-dimensions w)))
+ (save-unmaximized-geometry w)
+ (window-put w 'unmaximized-type (window-type w))
+ (push-window-type w 'unframed 'sawfish.wm.state.maximize)
+ (move-resize-window-to w 0 0 (car screen-dims) (cdr screen-dims))
+ (raise-window* w)
+ (window-put w 'maximized-fullscreen t)
+ (window-put w 'maximized-vertically t)
+ (window-put w 'maximized-horizontally t)
+ (call-window-hook 'window-maximized-hook
+ w (list 'fullscreen))
+ (call-window-hook 'window-state-change-hook
+ w (list '(maximized))))))
+
+ ((and (not state) (window-maximized-fullscreen-p w))
+ (unmaximize-window w 'fullscreen))))
+
+ (define (maximize-window-fullxinerama-toggle w)
+ "Toggle the state of the window between fullscreen maximized across all Xinerama and unmaximized."
+ (maximize-window-fullxinerama w (not (window-maximized-fullscreen-p w))))
+
+ (define-command 'maximize-window-fullxinerama
+ maximize-window-fullxinerama #:spec "%W")
+ (define-command 'maximize-window-fullxinerama-toggle
+ maximize-window-fullxinerama-toggle #:spec "%W")
+
;;; initialisation
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]