preview of my proposed changes



Hello,

Recently I have been trying to convert my modifications to sawfish
into a tree/graph of Git commits; in order to improve the quality as well.

It's a very difficult task(1).

Anyway, for the interested I want to provide a preview of the
features/fixes in the current situation,
as probably something can be understood already.

I have chosen Gitorious to publish the changes. I created a project
which mirrors the official SF repo, and my repo is a clone of that,
with the modifications.

http://gitorious.org/~mmaruska/sawfish-mirror/mmaruskas-sawfish

Get the  mmc-all branch, and care only about tags between it and master.


I have started with the modifications to the C part, as that is more
important. The changes on Gitorious are really the minimum, to get
basic things working.


I want to provide here some comments on the "feature branches", commit
messages maybe provide more.

I use the "click" focus mode --- I indeed change focus mostly by
keyboard, and would hate it changed by pointer position. That means
that I care a lot about correct key-event processing.

Git tags divide the graph into segments and merges. Comments for the
following tags try to explain the segment (sequence of commits) from
previous/ancestor   tag or merge up to the tag itself:

* mmc-bugfixes  ... only 1 real fix.

* mmc-delete-window ... a different strategy to treat windows which are gone
           I think this fixes many bugs.

* mmc-focus ... changing focus synchronized with ungrabbing ...
      probably goes in hand with:
* mmc-keys ... several important bugfixes & _correct_ strategy for Grabs


* mmc-stacking
   Well, this is useful for x-cycle commands. It allows the Lisp code
   to make any changes to the stacking-order, and "commit" the change
   in an optimized way --- the C part finds minimum sequence of
   transpositions.

* mmc-start ... (coded recently, not clear how SF could work without it) ...
    a sensible way to start managing windows;  that is ignore events
    generated by own actions at start-up

* mmc-events (probably depends on mmc-delete-window)  ... definitely
not final cut :(

* mmc-thk     anything that relies _only_ on XCheckTypedWindowEvent is
buggy for me.

* mmc-cache     some optimization.

* mmc-selection  --- setting X selection
               (might be useful for rewriting the selection, before
               using in commands)

* mmc-functions ..
* mmc-image ...
* mmc-x.c  ... some simple extensions, maybe not so useful.


And some indispensable changes in this "scheme/lisp" (2):
* mmc-lisp .. modifications due to the change in Grabbing strategy
* mmc-ws  ... my extension of the concept of viewport/workspace.
             For now it does not contain enhancements done by others
	     in recent years.


As always, I am reachable on #sawfish on IRC/freenode.

Michal


notes:
(1) the modifications were made years ago, while learning Xlib/X11, and no Git
  was available to me.
  Now I try to separate the modifications into logical steps, and keep
developing
  a tool, which rebases all the "ancestor" commits when needed.

(2) My future wish for Sawfish, is to get away from librep, to some
proper Scheme.
    As a first step I re-implemented years ago sawfish-ui using gauche
(& gauche-gtk).


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]