Amit Gurdasani | 3 Feb 2005 18:51
Picon

[PATCH] ARGB visuals (for Composite)

Hi,

I have a small patch I'd like to submit that allows Sawfish to display windows 
utilizing the alpha channel provided by the RENDER extension in conjunction 
with Composite.

Currently, Sawfish (along with most window managers) picks a preferred visual 
reported by gdk-pixbuf and uses that for all X window frames, then reparents 
the windows into those frames. For ARGB windows, the net effect is that the 
alpha channel ends up being ignored and the window is rendered opaque.

The small patch causes frames for windows with an alpha channel (depth 32) to 
inherit the visual and colormap so that the compositor will correctly identify 
the alpha channel and render it correctly. (This essentially does what Keith 
Packard's patch for MetaCity does: 
http://bugs.gnome.org/show_bug.cgi?id=126875)

The patch doesn't work perfectly -- in particular, shaped window frames will 
cause the remainder of the rectangular frame window to simply remain unpainted -- 
but it should work for rectangular frames with the edges covered completely by 
frameparts. Unfortunately I'm not familiar with RENDER or Composite enough to 
know how to fix that.

The following are links to screenshots of what an alpha-channel-enabled 
application looks like with the patch (in this case, Keith Packard's hacked-up 
xterm at http://www.freedesktop.org/xterm-trans.tar.gz).

http://thorin.battleaxe.net/~prototyped/sawfish-trans.png (212KB)
http://thorin.battleaxe.net/~prototyped/sawfish-argb.png  (639KB)

(Continue reading)

Michal Maruška | 3 Feb 2005 22:40
Picon

librep: end-of-file is not an error worth showing backtrace.


i use (in sawfish) backtrace-on-error (set to #t). But eof is apparently
treated as an error, later `fixed'. This is my quick fix:

--- /p/librep-0.17.old/work/librep-0.17/src/streams.c	2002-02-19 06:33:53.000000000 +0100
+++ librep-0.17/src/streams.c	2005-02-03 22:09:07.000000000 +0100
 <at>  <at>  -738,6 +738,13  <at>  <at> 
     /* If an error occurred leave stream where it is.  */
     if (res && c != EOF)
 	rep_stream_ungetc (stream, c);
+    else
+       {
+          if (! res)
+             {
+                res = Fsignal (Qend_of_stream, rep_LIST_1(stream));
+             }
+       };
     return res;
 }

--- /p/librep-0.17.old/work/librep-0.17/src/lisp.c	2005-02-03 22:18:58.000000000 +0100
+++ librep-0.17/src/lisp.c	2005-02-03 22:10:55.000000000 +0100
 <at>  <at>  -1111,7 +1111,10  <at>  <at> 
     /* not reached */

 eof:
+    if (end_of_stream_error == Qpremature_end_of_stream)
     return signal_reader_error (end_of_stream_error, rep_LIST_1(strm), 0);
+    else 
+       return NULL;             /* rep_NULL */
(Continue reading)

Michal Maruška | 4 Feb 2005 23:34
Picon

using relative paths (for images) needs default-directory gaoled


For example if you want to run sawfish in place (without running make install),

SAWFISHDOCFILE=./DOC SAWFISHDIR=./ SAWFISHLISPDIR=./lisp  SAWFISHEXECDIR=./src/.libexec  src/sawfish

might fail w/ errors like: 
bad argument: make-image  () 1

which is very misleading, given that the wrong argument is given to the
file-name-as-directory alias  Ffile_name_as_directory, which is called w/ the
value of default-directory.

the images are used inside (gaoled) themes, so 
  lisp/sawfish/wm/gaol.jl  needs:

  
  (define safe-specials
-    '(default-foreground display-name canonical-display-name 
+    '(default-foreground display-name canonical-display-name default-directory

dataangel | 5 Feb 2005 02:31

Sawfish, not freedesktop.org compliant?

I'm asking because I'm trying to use gdesklets with it and the position 
of the desklets isn't being saved. The positions are stored correctly 
and the write numbers are in there -- but the desklets just don't get 
moved. I did some searching on the gnome forums and it sounds like most 
problems of this type are caused by the wm not being compliant with the 
freedesktop.org standards. Would this be easy to patch or am I missing a 
config option or something?

Unfortunately I'm not familiar enough with C to try and fix this myself 
:/ I could kludge it in with some lisp but that will get extremely 
annoying as I add desklets.

Phil | 6 Feb 2005 09:39

sawfish taskbar

Hi everyone,

I'm new to Sawfish (I use sawfish-1.2-3mdk, rpm for mandrake 10.0), and 
I'd like to give the taskbar a try, if possible -- I've read that the 
taskbar is hidden by default, and seen some screenshots of sawfish with 
a taskbar --.
*If* ever it is included in the rpm I installed, do I have to modify a 
file (sawmill-defaults or something) to be able to see it?

Thank you,

--

-- 
   Phil

   ~ covahcat <at> altern.org ~

Jonathan Koren | 6 Feb 2005 12:03

Re: sawfish taskbar

On Sun, 6 Feb 2005, Phil wrote:

> I'm new to Sawfish (I use sawfish-1.2-3mdk, rpm for mandrake 10.0), and I'd 
> like to give the taskbar a try, if possible -- I've read that the taskbar is 
> hidden by default, and seen some screenshots of sawfish with a taskbar --.
> *If* ever it is included in the rpm I installed, do I have to modify a file 
> (sawmill-defaults or something) to be able to see it?

Sawfish doesn't have a taskbar.  It doesn't have anything except a root 
menu and a lisp environment.

Are you sure you're not talking about gnome-panel?  Switch the wm by going 
into gnome's control center.  Under advanced, open the session properties. 
Remove metacity from the current session and click apply.  All the borders 
will disappear from the windows.  Go to gnome panel's foot menu and select 
run application.  Type '/usr/bin/sawfish'.  When you log out, remember to 
save your session.

--
Jonathan Koren			World domination?  I'll leave that to the 
jkoren <at> cs.siu.edu		religious nuts and Republicans, thank you.
http://www.cs.siu.edu/~jkoren/		-- The Monarch, "Venture Brothers"

Ewan Mellor | 6 Feb 2005 14:04
Picon

Re: sawfish taskbar

On Sun, Feb 06, 2005 at 09:39:22AM +0100, Phil wrote:

> Hi everyone,
> 
> I'm new to Sawfish (I use sawfish-1.2-3mdk, rpm for mandrake 10.0), and 
> I'd like to give the taskbar a try, if possible -- I've read that the 
> taskbar is hidden by default, and seen some screenshots of sawfish with 
> a taskbar --.
> *If* ever it is included in the rpm I installed, do I have to modify a 
> file (sawmill-defaults or something) to be able to see it?

I don't think that Sawfish has a taskbar of its own, but there are third-party
taskbars available.  You could use the Gnome taskbar, if you are using Gnome,
in which case you want to configure that under the Gnome Control Centre, or
there is a taskbar here:

http://freshmeat.net/projects/taskbar/

HTH,

Ewan.

dataangel | 6 Feb 2005 15:04

Re: sawfish taskbar

Ewan Mellor wrote:

>On Sun, Feb 06, 2005 at 09:39:22AM +0100, Phil wrote:
>
>  
>
>>Hi everyone,
>>
>>I'm new to Sawfish (I use sawfish-1.2-3mdk, rpm for mandrake 10.0), and 
>>I'd like to give the taskbar a try, if possible -- I've read that the 
>>taskbar is hidden by default, and seen some screenshots of sawfish with 
>>a taskbar --.
>>*If* ever it is included in the rpm I installed, do I have to modify a 
>>file (sawmill-defaults or something) to be able to see it?
>>    
>>
>
>I don't think that Sawfish has a taskbar of its own, but there are third-party
>taskbars available.  You could use the Gnome taskbar, if you are using Gnome,
>in which case you want to configure that under the Gnome Control Centre, or
>there is a taskbar here:
>
>http://freshmeat.net/projects/taskbar/
>
>HTH,
>
>Ewan.
>
>  
>
(Continue reading)

John Harper | 6 Feb 2005 20:37

Re: using relative paths (for images) needs default-directory gaoled

If the only reason for this is so you can run sawfish uninstalled, I 
don't think it's a good idea to add that variable to the sandbox - 
especially since it's involved in I/O

also, I don't understand why it doesn't already work as intended - 
image-load-path should include the absolute path to the theme 
directory..?

     John

On Feb 4, 2005, at 2:34 PM, Michal Maruška wrote:

> For example if you want to run sawfish in place (without running make 
> install),
> SAWFISHDOCFILE=./DOC SAWFISHDIR=./ SAWFISHLISPDIR=./lisp  
> SAWFISHEXECDIR=./src/.libexec  src/sawfish
> might fail w/ errors like:
> bad argument: make-image  () 1
> which is very misleading, given that the wrong argument is given to the
> file-name-as-directory alias  Ffile_name_as_directory, which is called 
> w/ the
> value of default-directory.
> the images are used inside (gaoled) themes, so
>   lisp/sawfish/wm/gaol.jl  needs:
>   (define safe-specials
> -    '(default-foreground display-name canonical-display-name
> +    '(default-foreground display-name canonical-display-name 
> default-directory

(Continue reading)

John Harper | 6 Feb 2005 20:46

Re: librep: end-of-file is not an error worth showing backtrace.

that looks like a very strange way of achieving what you want; this 
looks like a better change..?
diff -u -p -r1.142 lisp.c
--- lisp.c      20 Jan 2005 06:44:59 -0000      1.142
+++ lisp.c      6 Feb 2005 19:43:02 -0000
 <at>  <at>  -2493,7 +2493,7  <at>  <at>  handler.
      rep_DECLARE1(error, rep_SYMBOLP);
      on_error = Fsymbol_value (Qbacktrace_on_error, Qt);
-    if (on_error == Qt
+    if ((on_error == Qt && error != Qend_of_stream)
         || (rep_CONSP(on_error)
             && (tmp = Fmemq (error, on_error)) && tmp != Qnil))
      {
 <at>  <at>  -2504,7 +2504,7  <at>  <at>  handler.
      errlist = Fcons(error, data);
      on_error = Fsymbol_value(Qdebug_on_error, Qt);
-    if(((on_error != rep_NULL && on_error == Qt)
+    if(((on_error != rep_NULL && on_error == Qt && error != 
Qend_of_stream)
         || (rep_CONSP(on_error)
             && (tmp = Fmemq(error, on_error)) && !rep_NILP(tmp))))
      {
On Feb 3, 2005, at 1:40 PM, Michal Maruška wrote:
> i use (in sawfish) backtrace-on-error (set to #t). But eof is 
> apparently
> treated as an error, later `fixed'. This is my quick fix:
> --- /p/librep-0.17.old/work/librep-0.17/src/streams.c    2002-02-19 
> 06:33:53.000000000 +0100
> +++ librep-0.17/src/streams.c    2005-02-03 22:09:07.000000000 +0100
>  <at>  <at>  -738,6 +738,13  <at>  <at> 
(Continue reading)


Gmane