Patches (all)
From Sawfish
Welcome to the collection of all patches considered for applying to Sawfish. Here you can add new patches or review submitted patches for inclusion into SVN tree. A patch is included/rejected when sufficient number of people provided a good reasoning for such decision.
- To add a new patch (licensed under GPLv2), write the name and click below
- To review a submitted patch please try it and
- Write your verdict, using one of wiki templates below:
- Write your reasoning, please be as specific as possible - explain what it corrects, try to prove that this patch does not introduce new bugs, etc. Or on the contrary - point out what's wrong with the patch.
| Submitted patches | Suspended patches | Accepted patches | Rejected patches |
|---|
[edit] Accepted for 1.3.1
| Patch | Author | Description |
|---|---|---|
|
Yoshiaki Kasahara |
When I was trying to compile the source from svn on my FreeBSD box, I noticed one of port-local patches wasn't incorporated into the svn tree The following patch is for the stock 1.3 release, but it should be applied to the svn source, too. | |
|
Michal Jaegermann |
I tried to rebuild 1.3.1 on "CentOS release 4.5" installation and run into a minor problem that although a code in src/frames.c checks if 'ShapeInput' is available this is not the case in src/events.c. The following patch solves the issue: |
[edit] Accepted for 1.3.2
| Patch | Author | Description |
|---|---|---|
|
Fuchur |
This patch fix window placement with multihead setup. Look here | |
|
Harald van Dijk |
Don't grab focus on KDE menus. | |
|
Timo Korvola |
Ignore out of bounds _NET_CURRENT_DESKTOP requests silently. KDE system tray apps have a nasty habit of sending _NET_CURRENT_DESKTOP client messages with a parameter of -1, which confuses Sawfish. This patch adds some bounds checking. | |
|
Rodrigo Gallardo <rodrigo@nul-unu.com> |
This patch makes sawfish use the _NET_WM_NAME properties for window names, as mandated by the EWMH spec (http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html) This patch is a bit more invasive that it seems requiered, because, to make it work properly in my system I had to make sawfish assume all strings are UTF8 encoded (see the pieces of the patch touching fonts.c) Please test it and tell me what breaks. If there are no objections to the substance of the patch, I'd still like some feedback on what to do with text rendering with "normal" xlfd fonts. | |
|
Timo Korvola |
This fixes reparenting fights that occur between Sawfish and the KDE system tray. Both try to reparent system tray icons as they are mapped, leading to a lot of flicker and an unpredictable end result. After the patch, Sawfish will reparent windows to their frames at MapRequest time, never at MapNotify. Also, windows that are unmapped by the client should normally be reparented to the root, but if the unmapping was caused by the window being reparented by some other client, problems ensue. So we check for that. The patch also fixes an exotic race condition triggered at least with old versions of Monodevelop #308155 and Gnome Power Manager. Current versions of both programs don't expose the issue anymore. It was discussed on the mailing list on february 2007 and the follow up march 2007. There's a proof of concept available that should demonstrate the bug, a window isn't decorated if unmapped during the first reparenting. | |
|
Sven Schoenung |
The window opened by the | |
|
Luis Rodrigo Gallardo Cruz |
Sawfish saves the size of the desktop window, and although nautilus requests the widget to be the same size as your screen it's forced to the size that sawfish saved.. This patch is currently applied in the Debian package. | |
|
Rodrigo Gallardo |
The current Sawfish.desktop file does not comply with the freedesktop.org standard. | |
|
GSR |
Fixes select-workspace in lisp/sawfish/wm/workspace.jl to make sure it uses key params in its call to select-workspace* This patch is currently applied in the Debian package. debian: http://bugs.debian.org/413584 | |
|
Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org> |
This is a patch for Debian bug #406559, and possibly #403100, too. It seems these are ultimately caused by Xlib "helpfully" converting 32 bit messages from the server to the client's native long type, which is bad for sawfish since rep does distinguish these. A longer description can be found in the patch's author's message in [1]. |
[edit] Accepted for 1.3.3
| Patch | Author | Description |
|---|---|---|
|
Timo Korvola |
Patch against 1.3.2. To illustrate the difference, run Sawfish in a non-UTF-8 locale but with a title font capable of displaying Unicode (I use Freemono), start a uxterm and gucharmap, then try xterm -T 'funny characters' and konsole -T 'funny characters', where the funny characters are not representable in the locale of Sawfish. With the Net_wm_names patch, only konsole gets its title rendered correctly but xterm does not. With the attached patch, both windows get correct titles. | |
|
Yuuki Harano and Rodrigo Gallardo |
~/.sawfishrc:
(setq test-font1 (get-font-typed "pango" "Arial Italic 8"))
(setq test-font2 (get-font-typed "pango" "Arial Italic 20"))
(define (test-update w type)
`(((background . "white")
(foreground . "black")
(text . ,window-name)
(left-edge . 0)
(right-edge . 0)
(top-edge . -20)
(height . 20)
(font . ,(if (equal (window-class w) "XTerm") test-font2 test-font1))
))
)
(add-frame-style 'test test-update)
~/.sawfish/custom is empty. Then, text in title bar of xterm should be large font, and other title bar should be small font. But all is large. pango_context is created and set font with fontdesc in pango_load(), and used in pango_draw() without font changes. So, only one font is used. You should set font before using pango_context in pango_draw(). | |
|
Harald van Dijk and Timo Korvola |
When using a theme which updates itself as window titles change, such as the default theme Crux, the updates happen at the wrong time, and the title bar ends up messed up. When the netwm patch is applied, you can easily see this by normal browsing in Mozilla Firefox, or editing a document in editors that update the title to include "*" or "modified" when you start typing. This happens because the themes look for updates to the WM_NAME property, but sawfish now reads the _NET_WM_NAME property as well, so themes should check for updates to that too. This patch updates the default themes, and to prevent custom themes (not distributed with sawfish itself) from breaking, treats | |
|
Timo Korvola |
Another KDE system tray fix. The diff is against 1.3.2. The essential content is the one-line change in wm-spec.jl but I am bundling it with some other cleanups. As of 3.5.8, KDE has still not completely replaced their old wm-dependent system tray protocol with the freedesktop.org one. They just kluged it: KDE apps continue to use the old protocol, but a kded module called kdetrayproxy tries to perform the part of the wm in that protocol and docks the tray icons using the freedesktop.org protocol. It turned out that kdetrayproxy watches for new windows not by monitoring MapNotify events but by monitoring changes in the _NET_CLIENT_LIST root window property. Sawfish added windows to that list at a very early stage, before they had even been decorated. The result was kdetrayproxy being confused by the events caused by Sawfish decorating the window and Sawfish being confused by interference from kdetrayproxy. This patch delays the update of _NET_CLIENT_LIST to map-notify-hook. At that time the new window is already mapped (unless it starts iconic - map-notify-hook is executed even in that case). This patch also fixes a potential problem of reparent-notify-hook getting called with a removed window. I have never seen anyone use that hook though. I also modified unmap_notify so that removal of WM_STATE is the very last action there. That property change indicates to the client that we are done processing the window withdrawal. The client may then reuse the window, e.g., remap it. You can also get this patch with Git from http://www.elisanet.fi/tkorvola/sawfish.git, branch kde-tray-fix-2. |
[edit] Accepted for 1.3.4
| Patch | Author | Description |
|---|---|---|
|
Jonathan Sambrook (Uploaded by Christopher Bratusek) |
A hacky patch for maximizing windows fullscreen in the xinerama | |
|
Timo Korvola |
Fixes things to work better with the Composite extension. Adds new functions window-obscured and stacking-visibility, which compute window visibility from the stacking order and do not rely on VisibilityNotify events. Modifies raise-lower and grow-pack to use these functions instead of window-visibility. VisibilityEvents appear unreliable when Composite is in use: every window is reported unobscured by window-visibility. This patch is also available via Git from branch stacking-visibility at http://www.elisanet.fi/tkorvola/sawfish.git and you should pull it from there because Wiki may have messed with the formatting here. | |
|
Scott Scriven (ToyKeeper 00:13, 7 August 2008 (UTC)) |
Adds the Elberg-tabbed theme to themes/ | |
| Teika kazura |
This patch adds a new hook `cycle-hook' which is called each time you cycle windows. The timing corresponds to the release of tab key in Windows. I have updated the patch recently. Formerly it was a plain hook, but it is now a window hook. The manual is written too. | |
|
Christopher Bratusek (Patch) tooar (Theme) |
Add the mxflat theme. it's fast, highliy configurable and supports a lot of buttons. Ideal for daily use and as showcase. Scott said, he might add tab support to it. | |
|
This patch defines two functions, `window-plist' and `window-prop-del'.
Both lack in the current sawfish. The idea is suggested by Timo Korvola in the page of Focus policy improvement. The author thanks him. | ||
|
Scott Scriven (ToyKeeper 10:30, 5 August 2008 (UTC)) |
Adds the tabbed version of "get-S" into themes/. | |
|
Christopher Bratusek |
Recent versions of gnome-window-properties don't run sawfish-ui, because of the out-dated desktop file. This patch will also replace the capplet, which can then be safely removed from trunk. For GNOME-Session 2.23 this desktop file is also used, to set the default window-manager, via the /desktop/gnome/session/required-components/windowmanager gconf-key, since some user might think {s,}he has to set the value to the binary-name, we should rename the file from "Sawfish.desktop" to "sawfish.desktop", for consistency and to avoid confusion. | |
|
Christopher Bratusek |
Update the pot file, the po files and remove deprecated strings. | |
|
Fernando Carmona Varo and Guillermo S. Romero |
The keyboard support for menu items is not very good in sawfish in my opinion, making menus kind of ankward to use if you are not using a mouse. This patch activates some chars of the menu items to be used as shortcut keys. for example, if you have Alt+Space as a key-binding to popup the menu, you will be able to maximize the window pressing "Alt-Space x" ...or make it be always on top pressing "Alt-Space i u". Kind of key chain shortcuts. Also, the patch adds "Move" and "Resize" that were missing. | |
|
Mark Schreiber (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=69520 Focus behaviour changed from 1.0 to 1.0.1-20020116: The behavior used to be such that when I invoke the command move-window-<up, right, down, left>(), the window I move would always get the new focus on the viewports it got moved to. The behavior in the new version of sawfish is such that the previously focused window on the viewport I move to gets the focus instead, and the window that I am moving loses focus (and seems to go to the back of the focus-stack). This makes it difficult to move a single window across many viewports, since I might start out with a galeon in the upper-right -- but end up with an rxvt in the lower-left. | |
|
Christopher Bratusek |
We use SVN now. So no need for .cvsignore files. | |
|
Christopher Bratusek |
Major cleanup for Sawfish's c-part. Fixes most of the compiler-warnings and makes possible to build sawfish with CFLAGS="-Wall -ansi -pedantic" (previously: 68 (and build failed at fonts.c) / now: 9). Ok building with CFLAGS="-Wall -ansi -pedantic" still fails, but this time it's not Sawfish's fault, it's the fault of two librep headers. I'll therefore make clean-ups to librep and rep-gtk, too (not before 2 or 3 weeks, so be patient). | |
|
Andrea Vettorello |
I can't find in the EWMH specs how should be managed a window with _NET_WM_WINDOW_TYPE_TOOLBAR property enabled, but in this email http://mail.gnome.org/archives/wm-spec-list/2002-July/msg00002.html is stated that a toolbar should be decorated by the toolkit not the window manager. | |
|
This patch improves the treatment of the boolean property of the window. It modifies the function `window-get', by adding an optional argument. It has no side effect (I mean the ordinary, not lisp side effect), not requiring any fix in existing codes. The author thanks Tkorvola for the useful comment. [edit] Usage
The function `window-get' returns the value of the property PROP of WINDOW. The current version of `window-get' returns nil either when the property value is nil, or the property is not set at all. There isn't a way to distinguish these two different situations. In this patch, the function can take an optional argument CHECKER. If it is non-nil and PROP is unset, then it returns CHECKER. [edit] NotesAs a practical application of this patch, see my another patch focus policy improvement.
Thank you for reading. | ||
|
Christopher Bratusek |
Bump version requirements: - pango 1.16 - gtk 2.6 - gdk 2.6 Also includes the version bump for sawfish to 1.3.4 | |
|
Timo Korvola |
The Crux theme uses miniature versions of client icons in the window menu buttons. The scaled pixmaps are cached and are not updated if a client changes its icon. This patch fixes that. You can also get this patch with Git from http://www.elisanet.fi/tkorvola/sawfish.git, branch icon-refresh. | |
|
Dagfinn I. Mannsåke (Original Author) Christopher Bratusek (Update against 1.3.3) Timo Korvola (Simplyfied Code) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=72238 This patch defines a new focus mode, the union of enter-only and click. This is useful when one wishes to focus a window that has the mouse pointer in it (this occurs frequently when the mouse pointer is not warped to focuesd/cycled windows) | |
|
Christopher Bratusek |
Adds a POTFILE.in to make intltool-update work. This patch is needed by my updated Fix make-pot patch. | |
|
Christopher Bratusek |
Due to a wrong command the make-pot script is unable to update the pot file. The updated version of this patch depends on this patch: Add POTFILES.in Following patch fixes the issue. | |
|
Harald van Dijk |
This patch fixes the parallel build bug that can result in:
When make is run with -j2 (or higher), it's possible that src/fake-libexec gets executed before the targets of the symbolic links it is supposed to create exist. src/.libexec will be incomplete if this happens, and make fails in lisp. This patch tells make to not run src/fake-libexec before the build is ready. | |
|
Ian Dall (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=520040 The Spec-file shipped with Sawfish is useless, since some keywords have changed. This patch solves that issue. | |
|
Dagfinn I. Mannsåker (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=71895 This patch allows that the user-defined 'xterm' command is also used, then viewing the info file. |
[edit] Accepted patches
| Patch | Author | Description |
|---|---|---|
|
Jonathan Sambrook (Uploaded by Christopher Bratusek) |
A hacky patch for maximizing windows fullscreen in the xinerama | |
|
Timo Korvola |
Fixes things to work better with the Composite extension. Adds new functions window-obscured and stacking-visibility, which compute window visibility from the stacking order and do not rely on VisibilityNotify events. Modifies raise-lower and grow-pack to use these functions instead of window-visibility. VisibilityEvents appear unreliable when Composite is in use: every window is reported unobscured by window-visibility. This patch is also available via Git from branch stacking-visibility at http://www.elisanet.fi/tkorvola/sawfish.git and you should pull it from there because Wiki may have messed with the formatting here. | |
|
Scott Scriven (ToyKeeper 00:13, 7 August 2008 (UTC)) |
Adds the Elberg-tabbed theme to themes/ | |
| Teika kazura |
This patch adds a new hook `cycle-hook' which is called each time you cycle windows. The timing corresponds to the release of tab key in Windows. I have updated the patch recently. Formerly it was a plain hook, but it is now a window hook. The manual is written too. | |
|
Christopher Bratusek (Patch) tooar (Theme) |
Add the mxflat theme. it's fast, highliy configurable and supports a lot of buttons. Ideal for daily use and as showcase. Scott said, he might add tab support to it. | |
|
This patch defines two functions, `window-plist' and `window-prop-del'.
Both lack in the current sawfish. The idea is suggested by Timo Korvola in the page of Focus policy improvement. The author thanks him. | ||
|
Scott Scriven (ToyKeeper 10:30, 5 August 2008 (UTC)) |
Adds the tabbed version of "get-S" into themes/. | |
|
Christopher Bratusek |
Recent versions of gnome-window-properties don't run sawfish-ui, because of the out-dated desktop file. This patch will also replace the capplet, which can then be safely removed from trunk. For GNOME-Session 2.23 this desktop file is also used, to set the default window-manager, via the /desktop/gnome/session/required-components/windowmanager gconf-key, since some user might think {s,}he has to set the value to the binary-name, we should rename the file from "Sawfish.desktop" to "sawfish.desktop", for consistency and to avoid confusion. | |
|
Christopher Bratusek |
Update the pot file, the po files and remove deprecated strings. | |
|
Fernando Carmona Varo and Guillermo S. Romero |
The keyboard support for menu items is not very good in sawfish in my opinion, making menus kind of ankward to use if you are not using a mouse. This patch activates some chars of the menu items to be used as shortcut keys. for example, if you have Alt+Space as a key-binding to popup the menu, you will be able to maximize the window pressing "Alt-Space x" ...or make it be always on top pressing "Alt-Space i u". Kind of key chain shortcuts. Also, the patch adds "Move" and "Resize" that were missing. | |
|
Mark Schreiber (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=69520 Focus behaviour changed from 1.0 to 1.0.1-20020116: The behavior used to be such that when I invoke the command move-window-<up, right, down, left>(), the window I move would always get the new focus on the viewports it got moved to. The behavior in the new version of sawfish is such that the previously focused window on the viewport I move to gets the focus instead, and the window that I am moving loses focus (and seems to go to the back of the focus-stack). This makes it difficult to move a single window across many viewports, since I might start out with a galeon in the upper-right -- but end up with an rxvt in the lower-left. | |
|
Christopher Bratusek |
We use SVN now. So no need for .cvsignore files. | |
|
Christopher Bratusek |
Major cleanup for Sawfish's c-part. Fixes most of the compiler-warnings and makes possible to build sawfish with CFLAGS="-Wall -ansi -pedantic" (previously: 68 (and build failed at fonts.c) / now: 9). Ok building with CFLAGS="-Wall -ansi -pedantic" still fails, but this time it's not Sawfish's fault, it's the fault of two librep headers. I'll therefore make clean-ups to librep and rep-gtk, too (not before 2 or 3 weeks, so be patient). | |
|
Andrea Vettorello |
I can't find in the EWMH specs how should be managed a window with _NET_WM_WINDOW_TYPE_TOOLBAR property enabled, but in this email http://mail.gnome.org/archives/wm-spec-list/2002-July/msg00002.html is stated that a toolbar should be decorated by the toolkit not the window manager. | |
|
This patch improves the treatment of the boolean property of the window. It modifies the function `window-get', by adding an optional argument. It has no side effect (I mean the ordinary, not lisp side effect), not requiring any fix in existing codes. The author thanks Tkorvola for the useful comment. [edit] Usage
The function `window-get' returns the value of the property PROP of WINDOW. The current version of `window-get' returns nil either when the property value is nil, or the property is not set at all. There isn't a way to distinguish these two different situations. In this patch, the function can take an optional argument CHECKER. If it is non-nil and PROP is unset, then it returns CHECKER. [edit] NotesAs a practical application of this patch, see my another patch focus policy improvement.
Thank you for reading. | ||
|
Christopher Bratusek |
Bump version requirements: - pango 1.16 - gtk 2.6 - gdk 2.6 Also includes the version bump for sawfish to 1.3.4 | |
|
Timo Korvola |
The Crux theme uses miniature versions of client icons in the window menu buttons. The scaled pixmaps are cached and are not updated if a client changes its icon. This patch fixes that. You can also get this patch with Git from http://www.elisanet.fi/tkorvola/sawfish.git, branch icon-refresh. | |
|
Dagfinn I. Mannsåke (Original Author) Christopher Bratusek (Update against 1.3.3) Timo Korvola (Simplyfied Code) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=72238 This patch defines a new focus mode, the union of enter-only and click. This is useful when one wishes to focus a window that has the mouse pointer in it (this occurs frequently when the mouse pointer is not warped to focuesd/cycled windows) | |
|
Christopher Bratusek |
Adds a POTFILE.in to make intltool-update work. This patch is needed by my updated Fix make-pot patch. | |
|
Christopher Bratusek |
Due to a wrong command the make-pot script is unable to update the pot file. The updated version of this patch depends on this patch: Add POTFILES.in Following patch fixes the issue. | |
|
Harald van Dijk |
This patch fixes the parallel build bug that can result in:
When make is run with -j2 (or higher), it's possible that src/fake-libexec gets executed before the targets of the symbolic links it is supposed to create exist. src/.libexec will be incomplete if this happens, and make fails in lisp. This patch tells make to not run src/fake-libexec before the build is ready. | |
|
Ian Dall (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=520040 The Spec-file shipped with Sawfish is useless, since some keywords have changed. This patch solves that issue. | |
|
Dagfinn I. Mannsåker (Uploaded by Christopher Bratusek) |
taken from: http://bugzilla.gnome.org/show_bug.cgi?id=71895 This patch allows that the user-defined 'xterm' command is also used, then viewing the info file. | |
|
Timo Korvola |
Patch against 1.3.2. To illustrate the difference, run Sawfish in a non-UTF-8 locale but with a title font capable of displaying Unicode (I use Freemono), start a uxterm and gucharmap, then try xterm -T 'funny characters' and konsole -T 'funny characters', where the funny characters are not representable in the locale of Sawfish. With the Net_wm_names patch, only konsole gets its title rendered correctly but xterm does not. With the attached patch, both windows get correct titles. | |
|
Yuuki Harano and Rodrigo Gallardo |
~/.sawfishrc:
(setq test-font1 (get-font-typed "pango" "Arial Italic 8"))
(setq test-font2 (get-font-typed "pango" "Arial Italic 20"))
(define (test-update w type)
`(((background . "white")
(foreground . "black")
(text . ,window-name)
(left-edge . 0)
(right-edge . 0)
(top-edge . -20)
(height . 20)
(font . ,(if (equal (window-class w) "XTerm") test-font2 test-font1))
))
)
(add-frame-style 'test test-update)
~/.sawfish/custom is empty. Then, text in title bar of xterm should be large font, and other title bar should be small font. But all is large. pango_context is created and set font with fontdesc in pango_load(), and used in pango_draw() without font changes. So, only one font is used. You should set font before using pango_context in pango_draw(). | |
|
Harald van Dijk and Timo Korvola |
When using a theme which updates itself as window titles change, such as the default theme Crux, the updates happen at the wrong time, and the title bar ends up messed up. When the netwm patch is applied, you can easily see this by normal browsing in Mozilla Firefox, or editing a document in editors that update the title to include "*" or "modified" when you start typing. This happens because the themes look for updates to the WM_NAME property, but sawfish now reads the _NET_WM_NAME property as well, so themes should check for updates to that too. This patch updates the default themes, and to prevent custom themes (not distributed with sawfish itself) from breaking, treats | |
|
Timo Korvola |
Another KDE system tray fix. The diff is against 1.3.2. The essential content is the one-line change in wm-spec.jl but I am bundling it with some other cleanups. As of 3.5.8, KDE has still not completely replaced their old wm-dependent system tray protocol with the freedesktop.org one. They just kluged it: KDE apps continue to use the old protocol, but a kded module called kdetrayproxy tries to perform the part of the wm in that protocol and docks the tray icons using the freedesktop.org protocol. It turned out that kdetrayproxy watches for new windows not by monitoring MapNotify events but by monitoring changes in the _NET_CLIENT_LIST root window property. Sawfish added windows to that list at a very early stage, before they had even been decorated. The result was kdetrayproxy being confused by the events caused by Sawfish decorating the window and Sawfish being confused by interference from kdetrayproxy. This patch delays the update of _NET_CLIENT_LIST to map-notify-hook. At that time the new window is already mapped (unless it starts iconic - map-notify-hook is executed even in that case). This patch also fixes a potential problem of reparent-notify-hook getting called with a removed window. I have never seen anyone use that hook though. I also modified unmap_notify so that removal of WM_STATE is the very last action there. That property change indicates to the client that we are done processing the window withdrawal. The client may then reuse the window, e.g., remap it. You can also get this patch with Git from http://www.elisanet.fi/tkorvola/sawfish.git, branch kde-tray-fix-2. | |
|
Fuchur |
This patch fix window placement with multihead setup. Look here | |
|
Harald van Dijk |
Don't grab focus on KDE menus. | |
|
Timo Korvola |
Ignore out of bounds _NET_CURRENT_DESKTOP requests silently. KDE system tray apps have a nasty habit of sending _NET_CURRENT_DESKTOP client messages with a parameter of -1, which confuses Sawfish. This patch adds some bounds checking. | |
|
Rodrigo Gallardo <rodrigo@nul-unu.com> |
This patch makes sawfish use the _NET_WM_NAME properties for window names, as mandated by the EWMH spec (http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html) This patch is a bit more invasive that it seems requiered, because, to make it work properly in my system I had to make sawfish assume all strings are UTF8 encoded (see the pieces of the patch touching fonts.c) Please test it and tell me what breaks. If there are no objections to the substance of the patch, I'd still like some feedback on what to do with text rendering with "normal" xlfd fonts. | |
|
Timo Korvola |
This fixes reparenting fights that occur between Sawfish and the KDE system tray. Both try to reparent system tray icons as they are mapped, leading to a lot of flicker and an unpredictable end result. After the patch, Sawfish will reparent windows to their frames at MapRequest time, never at MapNotify. Also, windows that are unmapped by the client should normally be reparented to the root, but if the unmapping was caused by the window being reparented by some other client, problems ensue. So we check for that. The patch also fixes an exotic race condition triggered at least with old versions of Monodevelop #308155 and Gnome Power Manager. Current versions of both programs don't expose the issue anymore. It was discussed on the mailing list on february 2007 and the follow up march 2007. There's a proof of concept available that should demonstrate the bug, a window isn't decorated if unmapped during the first reparenting. | |
|
Yoshiaki Kasahara |
When I was trying to compile the source from svn on my FreeBSD box, I noticed one of port-local patches wasn't incorporated into the svn tree The following patch is for the stock 1.3 release, but it should be applied to the svn source, too. | |
|
Michal Jaegermann |
I tried to rebuild 1.3.1 on "CentOS release 4.5" installation and run into a minor problem that although a code in src/frames.c checks if 'ShapeInput' is available this is not the case in src/events.c. The following patch solves the issue: | |
|
Sven Schoenung |
The window opened by the | |
|
Luis Rodrigo Gallardo Cruz |
Sawfish saves the size of the desktop window, and although nautilus requests the widget to be the same size as your screen it's forced to the size that sawfish saved.. This patch is currently applied in the Debian package. | |
|
Rodrigo Gallardo |
The current Sawfish.desktop file does not comply with the freedesktop.org standard. | |
|
GSR |
Fixes select-workspace in lisp/sawfish/wm/workspace.jl to make sure it uses key params in its call to select-workspace* This patch is currently applied in the Debian package. debian: http://bugs.debian.org/413584 | |
|
Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org> |
This is a patch for Debian bug #406559, and possibly #403100, too. It seems these are ultimately caused by Xlib "helpfully" converting 32 bit messages from the server to the client's native long type, which is bad for sawfish since rep does distinguish these. A longer description can be found in the patch's author's message in [2]. |
[edit] Rejected patches
| Patch | Author | Description |
|---|---|---|
|
Fernando Carmona Varo |
If you have ever tried to use the keyboard when moving/resizing windows (by means of the move-window-interactively command) and you have set a bigger mouse-cursor-increment value to move faster (what is a need if you have not a low resolution display). You probably noticed that the window is not responsive at all, and it doesn't move when the mouse cursor does move. This patch is intended to fix that bug. If applied, windows will follow the mouse the way it should be. UPDATE: I was asked by Christopher to write a smooth-warp-cursor function too. I think this could be a good idea to be used for other purposes in next patches. A version of the patch including this function is here, but let's first discuss this one (I'm not very sure of making a second patch for the same file, better wait for next revision). |
