(defgroup gds-window-size-presets "Window Size Presets")

(defcustom gds:preset-one-width '504
	"Width of window for first preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))
(defcustom gds:preset-one-height '316
	"Height of window for first preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))
(defcustom gds:preset-two-width '504
	"Width of window for second preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))
(defcustom gds:preset-two-height '485
	"Height of window for second preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))
(defcustom gds:preset-three-width '800
	"Width of window for second preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))
(defcustom gds:preset-three-height '600
	"Height of window for second preset type."
	:type number
	:group gds-window-size-presets
	:after-set after-setting-frame-option
	:range (32 . 1600))

(defun gds-resize-window-to-preset-one-size (w)
	"Resizes a window to preset size one."
	(interactive "%W")
	(resize-window-to w gds:preset-one-width gds:preset-one-height)
	)
(defun gds-resize-window-to-preset-two-size (w)
	"Resizes a window to preset size two."
	(interactive "%W")
	(resize-window-to w gds:preset-two-width gds:preset-two-height)
	)
(defun gds-resize-window-to-preset-three-size (w)
	"Resizes a window to preset size three."
	(interactive "%W")
	(resize-window-to w gds:preset-three-width gds:preset-three-height)
	)
