[sawfish] added new frame-classes (extra buttons for decos) -- removed built-in audio support (instead rely on
- From: Christopher Bratusek <chrisb src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [sawfish] added new frame-classes (extra buttons for decos) -- removed built-in audio support (instead rely on
- Date: Thu, 1 Oct 2009 17:38:00 +0000 (UTC)
commit 08c4aaaf09332b132c48b6fbc4a8d1f99d92a3df
Author: chrisb <zanghar freenet de>
Date: Thu Oct 1 19:36:59 2009 +0200
added new frame-classes (extra buttons for decos) -- removed built-in audio support (instead rely on an extern playbin)
ChangeLog | 25 ++
KEYBINDINGS | 30 ++-
Makedefs.in | 4 -
OPTIONS | 12 +-
config.h.in | 6 -
configure.in | 36 ---
lisp/sawfish/wm/ext/audio-events.jl | 6 +-
lisp/sawfish/wm/frames.jl | 5 +
lisp/sawfish/wm/keymaps.jl | 51 ++++
lisp/sawfish/wm/menus.jl | 2 +-
lisp/sawfish/wm/util/play-audio.jl | 32 +--
man/news.texi | 26 ++-
man/sawfish.texi | 14 +-
sawfish.ebuild.in | 4 +-
src/Makefile.in | 10 +-
src/play-sample.c | 549 -----------------------------------
16 files changed, 174 insertions(+), 638 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index acfbbb3..421742c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2009-10-01 Christopher Bratusek <zanghar freenet de>
+ * configure.in
+ * OPTIONS
+ * src/play-sample.c
+ * src/Makefile.in
+ * Makedefs.in
+ * sawfish.ebuild.in
+ * lisp/sawfish/wm/util/play-audio.jl: removed built-in audio support, using /usr/bin/paplay by default
+
+ * man/sawfish.texi
+ * KEYBINDINGS
+ * lisp/sawfish/wm/frames.jl
+ * lisp/sawfish/wm/keymaps.jl: added new buttons (frame-classes) (+ keymaps and docs):
+ - sticky button
+ - lock button
+ - rename button
+ - move/resize button
+ - raise/lower button
+
+ * lisp/sawfish/wm/menus.jl: string change in customize-menu
+
+ * man/news.texi: updated
+
+ * OPTIONS: updated
+
2009-09-29 Jeremy Hankins <nowan nowan org>
* lisp/sawfish/cfg/apply.jl
* lisp/sawfish/cfg/config.jl
diff --git a/KEYBINDINGS b/KEYBINDINGS
index 7d3156c..739cfd8 100644
--- a/KEYBINDINGS
+++ b/KEYBINDINGS
@@ -113,7 +113,7 @@ for example:
( unbind-keys global-keymap "W-Tab" 'cycle-windows )
another thing would be nested keybindings (I prefer `macros' instead of `nested keyinbindgs'),
-like in emacs. nested means you first press keys which together act as a new modifier
+like in emacs. nested means you first press keys which together act as a new modifier
(this new modifier works like the compose key does -> you don't have to keep it pressed, like other modifiers),
then you press another key (or keybinding) to actually perform the desired action, example:
@@ -189,3 +189,31 @@ Button1-Click1 -> Popup Window Menu
shade-button-keymap (Those bindings are active when the pointer is on the shade button)
Button1-Off -> Toggle Window Shaded
+
+sticky-button-keymap (Those bindings are active when the pointer is on the sticky button)
+
+Button1-Off -> Toggle Window Sticky
+Button2-Off -> Toggle Window Viewport-Sticky
+
+lock-button-keymap (Those bindings are active when the pointer is on the lock button)
+
+Button1-Off -> Toggle Window Fixed-Position
+
+rename-button-keymap (Those bindings are active when the pointer is on the rename button)
+
+Button1-Off -> Rename Window
+
+move-resize-button-keymap (Those bindings are active when the pointer is on the move/resize button)
+
+Button1-Off -> Move Window Interactively
+Button2-Off -> Resize Window Interactively
+Button3-Off -> Move Window Center
+Button4-Off -> Double Window Size
+Button5-Off -> Halve Window Size
+
+raise-lower-button-keymap (Those bindings are active when the pointer is on the raise/lower button)
+
+Button1-Off -> Raise Window
+Button2-Off -> Lower Window
+Button4-Off -> Raise Window Depth
+Button5-Off -> Lower Window Depth
diff --git a/Makedefs.in b/Makedefs.in
index 699af63..545e5da 100644
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -66,10 +66,6 @@ GTK_CFLAGS= GTK_CFLAGS@
GTK_LIBS= GTK_LIBS@
REP_CFLAGS= REP_CFLAGS@
REP_LIBS= REP_LIBS@
-AUDIOFILE_CFLAGS= AUDIOFILE_CFLAGS@
-AUDIOFILE_LIBS= AUDIOFILE_LIBS@
-ESD_CFLAGS= ESD_CFLAGS@
-ESD_LIBS= ESD_LIBS@
LINGUAS= LINGUAS@
PANGO_CFLAGS= PANGO_CFLAGS@
PANGO_LIBS= PANGO_LIBS@
diff --git a/OPTIONS b/OPTIONS
index 4dbbe0f..f6af76c 100644
--- a/OPTIONS
+++ b/OPTIONS
@@ -307,9 +307,8 @@
;; ".")
;; "List of directories to search for sound samples.")
-;; (define-special-variable play-sample-program nil
-;; "The program used to play audio samples. If unset, built-in
-;;support for ESD is used.")
+;; (define-special-variable play-sample-program "/usr/bin/paplay"
+;; "The program used to play audio samples.")
;; edge flip options
@@ -573,6 +572,8 @@
;; tab options
+;; (require 'sawfish.wm.tabs.tab)
+
;; (define-special-variable tab-left-dec-width 11
;; "Width of tab's left-edge decoration")
@@ -582,7 +583,6 @@
;; (define-special-variable tab-left-margin 16
;; "Width of tab area's left-edge decoration")
-
;; (define-special-variable tab-right-margin 16
;; "Width of tab area's right-edge decoration")
@@ -599,6 +599,8 @@
;; infinite-desktop options
+;; (require 'sawfish.wm.ext.infinite-desktop)
+
;; (define-special-variable infinite-desktop-p 1
;; "Simulate an infinite desktop (Conflicts edge-flipping).")
@@ -630,6 +632,8 @@
;; view-clipboard options
+;; (require 'sawfish.wm.commands.user)
+
;; (define-special-variable clipboard-preview-clip-length 60
;; "Maximum number of chars to display in `view-clipboard'")
diff --git a/config.h.in b/config.h.in
index 4125686..615489a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -24,9 +24,6 @@
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
-/* Have ESD */
-#undef HAVE_ESD
-
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
@@ -48,9 +45,6 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
-/* Have libaudiofile */
-#undef HAVE_LIBAUDIOFILE
-
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
diff --git a/configure.in b/configure.in
index f405ab1..7376a9d 100644
--- a/configure.in
+++ b/configure.in
@@ -261,36 +261,6 @@ if test "$with_gdk_pixbuf" = "no"; then
,AC_MSG_ERROR([cannot locate imlib1 library]))
fi
-dnl Check for libaudiofile
-AUDIOFILE_MIN_VER="0.2.3"
-
-AC_ARG_WITH(audiofile,
- [ --with-audiofile Use libaudiofile for sound manipulation
- --without-audiofile], [], [with_audiofile=yes])
-
-if test "$with_audiofile" = "yes"; then
- PKG_CHECK_MODULES(AUDIOFILE, audiofile >= ${AUDIOFILE_MIN_VER},
- ,AUDIOFILE_LIBS="`pkg-config --libs audiofile`"
- AUDIOFILE_CFLAGS="`pkg-config --cflags audiofile`"
- AC_DEFINE(HAVE_LIBAUDIOFILE, 1, [Have libaudiofile])
- ,AC_MSG_ERROR([cannot locate libaudiofile]))
-fi
-
-dnl Check for esound
-ESD_MIN_VER="0.2.23"
-
-AC_ARG_WITH(esd,
- [ --with-esd Use the Enlightened Sound Daemon
- --without-esd], [], [with_esd=yes])
-
-if test "$with_esd" = "yes"; then
- PKG_CHECK_MODULES(ESD, esound >= ${ESD_MIN_VER}
- ,ESD_LIBS="`pkg-config --libs esound`"
- ESD_CFLAGS="`pkg-config --cflags esound`"
- AC_DEFINE(HAVE_ESD, 1, [Have ESD])
- ,AC_MSG_ERROR([cannot locate esound]))
-fi
-
dnl Check wether to install mo files
AC_ARG_WITH(nls,
@@ -411,12 +381,6 @@ AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(REP_MIN_VER)
AC_SUBST(REP_GTK_MIN_VER)
-AC_SUBST(AUDIOFILE_MIN_VER)
-AC_SUBST(AUDIOFILE_LIBS)
-AC_SUBST(AUDIOFILE_CFLAGS)
-AC_SUBST(ESD_MIN_VER)
-AC_SUBST(ESD_LIBS)
-AC_SUBST(ESD_CFLAGS)
AC_SUBST(VERSION)
AC_SUBST(PACKAGE)
AC_SUBST(GETTEXT_PACKAGE)
diff --git a/lisp/sawfish/wm/ext/audio-events.jl b/lisp/sawfish/wm/ext/audio-events.jl
index 738df0b..1709bc1 100644
--- a/lisp/sawfish/wm/ext/audio-events.jl
+++ b/lisp/sawfish/wm/ext/audio-events.jl
@@ -28,12 +28,12 @@
rep.system
sawfish.wm.custom
sawfish.wm.windows
- sawfish.wm.state.maximize)
+ sawfish.wm.state.maximize
+ sawfish.wm.util.play-audio)
(define-structure-alias audio-events sawfish.wm.ext.audio-events)
- (defgroup audio "Sound"
- :require sawfish.wm.ext.audio-events)
+ (defgroup audio "Sound" :require sawfish.wm.ext.audio-events)
;; XXX it would be cool to merge the customization with the GNOME sound prefs
diff --git a/lisp/sawfish/wm/frames.jl b/lisp/sawfish/wm/frames.jl
index 98b4596..6ccfa51 100644
--- a/lisp/sawfish/wm/frames.jl
+++ b/lisp/sawfish/wm/frames.jl
@@ -644,6 +644,11 @@ generate.")
(define-frame-class 'iconify-button '((keymap . iconify-button-keymap)))
(define-frame-class 'maximize-button '((keymap . maximize-button-keymap)))
(define-frame-class 'shade-button '((keymap . shade-button-keymap)))
+ (define-frame-class 'sticky-button '((keymap . sticky-button-keymap)))
+ (define-frame-class 'lock-button '((keymap . lock-button-keymap)))
+ (define-frame-class 'rename-button '((keymap . rename-button-keymap)))
+ (define-frame-class 'move-resize-button '((keymap . move-resize-button-keymap)))
+ (define-frame-class 'raise-lower-button '((keymap . raise-lower-button-keymap)))
(define-frame-class 'title `((keymap . title-keymap)
(cursor . ,(cursor-for-frame-part 'title))))
diff --git a/lisp/sawfish/wm/keymaps.jl b/lisp/sawfish/wm/keymaps.jl
index 1b1c0f7..da44f17 100644
--- a/lisp/sawfish/wm/keymaps.jl
+++ b/lisp/sawfish/wm/keymaps.jl
@@ -176,6 +176,57 @@ of a window. (Only mouse-bindings are evaluated in this map.)"
:group bindings
:type keymap)
+ (defcustom sticky-button-keymap (bind-keys (make-keymap)
+ "Button1-Off" 'toggle-window-sticky
+ "Button2-Off" '(call-command
+ (lambda ()
+ (if (window-get (current-event-window) 'sticky-viewport)
+ (window-put (current-event-window) 'sticky-viewport nil)
+ (window-put (current-event-window) 'sticky-viewport t)))))
+ "Keymap containing bindings active when the pointer is in the sticky button
+of a window. (Only mouse-bindings are evaluated in this map.)"
+ :group bindings
+ :type keymap)
+
+ (defcustom lock-button-keymap (bind-keys (make-keymap)
+ "Button1-Off" '(call-command
+ (lambda ()
+ (if (window-get (current-event-window) 'fixed-position)
+ (window-put (current-event-window) 'fixed-position nil)
+ (window-put (current-event-window) 'fixed-position t)))))
+ "Keymap containing bindings active when the pointer is in the lock button
+of a window. (Only mouse-bindings are evaluated in this map.)"
+ :group bindings
+ :type keymap)
+
+ (defcustom rename-button-keymap (bind-keys (make-keymap)
+ "Button1-Off" 'rename-window)
+ "Keymap containing bindings active when the pointer is in the rename button
+of a window. (Only mouse-bindings are evaluated in this map.)"
+ :group bindings
+ :type keymap)
+
+ (defcustom move-resize-button-keymap (bind-keys (make-keymap)
+ "Button1-Off" 'move-window-interactively
+ "Button2-Off" 'resize-window-interactively
+ "Button3-Off" 'move-window-center
+ "Button4-Off" 'double-window-size
+ "Button5-Off" 'halve-window-size)
+ "Keymap containing bindings active when the pointer is in the move/resize button
+of a window. (Only mouse-bindings are evaluated in this map.)"
+ :group bindings
+ :type keymap)
+
+ (defcustom raise-lower-button-keymap (bind-keys (make-keymap)
+ "Button1-Off" 'raise-window
+ "Button2-Off" 'lower-window
+ "Button4-Off" 'raise-window-depth
+ "Button5-Off" 'lower-window-depth)
+ "Keymap containing bindings active when the pointer is in the raise/lower button
+of a window. (Only mouse-bindings are evaluated in this map.)"
+ :group bindings
+ :type keymap)
+
(defvar pointer-motion-threshold 2
"Distance in pixels pointer must move before generating motion events.")
diff --git a/lisp/sawfish/wm/menus.jl b/lisp/sawfish/wm/menus.jl
index ae145e0..3b20976 100644
--- a/lisp/sawfish/wm/menus.jl
+++ b/lisp/sawfish/wm/menus.jl
@@ -376,7 +376,7 @@ before killing it.")
(define (custom-menu)
`(,@(and custom-menu-includes-all-settings
- (list (list (_ "S_awfish-UI") 'customize) nil))
+ (list (list (_ "S_awfishConfig") 'customize) nil))
,@(mapcar (lambda (sub)
(list (_ (cadr sub))
(intern (concat "customize:"
diff --git a/lisp/sawfish/wm/util/play-audio.jl b/lisp/sawfish/wm/util/play-audio.jl
index 34561b3..8c5ac73 100644
--- a/lisp/sawfish/wm/util/play-audio.jl
+++ b/lisp/sawfish/wm/util/play-audio.jl
@@ -38,10 +38,9 @@
".")
"List of directories to search for sound samples.")
- (defcustom play-sample-program nil
- "The program used to play audio samples. If unset, built-in support for \
-ESD is used."
- :type (optional program)
+ (defcustom play-sample-program "/usr/bin/paplay"
+ "The program used to play audio samples."
+ :type program
:group audio)
;; currently running audio process
@@ -59,18 +58,13 @@ ESD is used."
(setq real-name (make-temp-name))
(copy-file filename real-name)
(setq delete-it t))
- (if play-sample-program
- ;; start programs asynchronously in case they block..
- (let ((sentinel (lambda (proc)
- (when (eq play-sample-process proc)
- (setq play-sample-process nil))
- (when delete-it
- (delete-file real-name)))))
- (when play-sample-process
- (kill-process play-sample-process))
- (setq play-sample-process (make-process standard-error sentinel))
- (start-process play-sample-process play-sample-program real-name))
- (require 'sawfish.wm.util.play-sample)
- (primitive-play-sample real-name)
- (when delete-it
- (delete-file real-name))))))
+ ;; start programs asynchronously in case they block..
+ (let ((sentinel (lambda (proc)
+ (when (eq play-sample-process proc)
+ (setq play-sample-process nil))
+ (when delete-it
+ (delete-file real-name)))))
+ (when play-sample-process
+ (kill-process play-sample-process))
+ (setq play-sample-process (make-process standard-error sentinel))
+ (start-process play-sample-process play-sample-program real-name)))))
diff --git a/man/news.texi b/man/news.texi
index 077c4bb..2604b7d 100644
--- a/man/news.texi
+++ b/man/news.texi
@@ -19,7 +19,13 @@ they occurred between. For more detailed information see the
@item rep-gtk 0.18.4 -> 0.90.0
@end itemize
+ item Removed requirements:
+ itemize @minus
+
+ item LibAudiofile
+ item ESounD
+ end itemize
@item User visible changes:
@itemize @minus
@@ -83,7 +89,7 @@ Shrink-yank functions and @code{send-to-workspace}.
@item Sawfish does now support theme-tarballs compressed with XZ (aka LZMA2) or LZMA [Christopher Bratusek]
- item 3 new sawfish-mmc based commands (@code{maximize-unframe}, @code{maximize-reframe} and @code{rename-window}) [Christopher Bratusek]
+ item 3 new sawfish-mmc based commands (@code{maximize-unframe}, @code{maximize-reframe} and @code{rename-window} (not ICCCM compliant)) [Christopher Bratusek]
@item 5 new move-cursor commands (@code{move-cursor-} @code{northwest}, @code{northeast}, @code{southwest}, @code{southeast}), and @code{move-cursor-center} [Christopher Bratusek]
@@ -126,6 +132,24 @@ In KDE4 WM Selector, Sawfish is added.
@item Added @code{get-window-by-class} and @code{get-window-by-class-re} [Christopher Bratusek]
@end itemize
+ item Removed Features:
+ itemize @minus
+
+ item Built-in audio support has been dropped, instead we rely on an extern playbin [Christopher Bratusek]
+ end itemize
+ item New Frame Classes:
+ itemize @minus
+
+ item @code{sticky-button}, a button to toggle window @code{sticky} or @code{viewport-sticky} [Christopher Bratusek]
+
+ item @code{lock-button}, a button to toggle window position @code{fixed} [Christopher Bratusek]
+
+ item @code{rename-button}, a button to rename the window-title and window-icon properties (not ICCCM compliant) [Christopher Bratusek]
+
+ item @code{move-resize-button}, a button to perform various move and resize actions on a window [Christopher Bratusek]
+
+ item @code{raise-lower-button}, a button to perform various raising and lowering actions on a window [Christopher Bratusek]
+ end itemize
@item Widget Transistion:
@itemize @minus
diff --git a/man/sawfish.texi b/man/sawfish.texi
index 4d14006..4fd46a9 100644
--- a/man/sawfish.texi
+++ b/man/sawfish.texi
@@ -3231,10 +3231,11 @@ The names of the pre-defined classes are as follows, their meanings
should be self-explanatory:
@code{title}, @code{menu-button}, @code{close-button},
- code{iconify-button}, @code{maximize-button}, @code{top-border},
- code{left-border}, @code{right-border}, @code{bottom-border},
- code{top-left-corner}, @code{top-right-corner},
- code{bottom-left-corner}, @code{bottom-right-corner}.
+ code{iconify-button}, @code{maximize-button}, @code{sticky-button},
+ code{lock-button}, @code{rename-button}, @code{move-resize-button},
+ code{raise-lower-button}, @code{top-border}, @code{left-border},
+ code{right-border}, @code{bottom-border}, @code{top-left-corner},
+ code{top-right-corner}, @code{bottom-left-corner}, @code{bottom-right-corner}.
@noindent
Extra classes can be created by adding to @code{frame-part-classes}.
@@ -5347,6 +5348,11 @@ Keymaps active in the title and borders of window frames.
@itemx maximize-button-keymap
@itemx menu-button-keymap
@itemx shade-button-keymap
+ itemx sticky-button-keymap
+ itemx lock-button-keymap
+ itemx rename-button-keymap
+ itemx move-resize-button-keymap
+ itemx raise-lower-button-keymap
Keymaps active in the standard window frame buttons.
@item override-keymap
diff --git a/sawfish.ebuild.in b/sawfish.ebuild.in
index cef4265..58747ea 100644
--- a/sawfish.ebuild.in
+++ b/sawfish.ebuild.in
@@ -11,14 +11,12 @@ SRC_URI="mirror://sourceforge/sawmill/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
-IUSE="gnome esd nls audiofile"
+IUSE="gnome nls"
RDEPEND=">=x11-libs/rep-gtk- REP_GTK_MIN_VER@
>=dev-libs/librep- REP_MIN_VER@
>=x11-libs/gtk+- GTK_MIN_VER@
>=x11-libs/pango- PANGO_MIN_VER@
- audiofile? ( >=media-libs/audiofile- AUDIOFILE_MIN_VER@ )
- esd? ( >=media-sound/esound- ESD_MIN_VER@ )
nls? ( sys-devel/gettext )"
DEPEND="${RDEPEND}
>=dev-util/pkgconfig-0.12.0"
diff --git a/src/Makefile.in b/src/Makefile.in
index b7b2d91..bfadc71 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -31,14 +31,13 @@ SRCS := colors.c cursors.c display.c events.c fonts.c frames.c \
property-cache.c server.c session.c stacking-list.c windows.c
OBJS := $(SRCS:.c=.o)
-DL_SRCS := gradient.c flippers.c x.c selection.c play-sample.c
+DL_SRCS := gradient.c flippers.c x.c selection.c
DL_OBJS := $(DL_SRCS:%.c=%.la) client.la
DL_DSTS = sawfish/wm/util/gradient.la sawfish/wm/util/flippers.la \
- sawfish/wm/util/x.la sawfish/wm/util/selection.la \
- sawfish/wm/util/play-sample.la
+ sawfish/wm/util/x.la sawfish/wm/util/selection.la
DL_DIRS = sawfish/wm/util
-override CFLAGS := $(CFLAGS) $(REP_CFLAGS) $(IMAGE_CFLAGS) $(X11_CFLAGS) $(ESD_CFLAGS) $(PANGO_CFLAGS)
+override CFLAGS := $(CFLAGS) $(REP_CFLAGS) $(IMAGE_CFLAGS) $(X11_CFLAGS) $(PANGO_CFLAGS)
all : sawfish libclient.o $(DL_OBJS) .libexec gtk-style
@@ -50,9 +49,6 @@ sawfish : $(OBJS) $(LIBOBJS)
%.la : %.lo
$(rep_DL_LD) $(LDFLAGS) -o $@ $<
-play-sample.la : play-sample.lo
- $(rep_DL_LD) $(LDFLAGS) -o $@ $< $(ESD_LIBS) $(AUDIOFILE_LIBS)
-
libclient_.lo : libclient.c
$(rep_LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]