Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Andreas Shimokawa
committed
Oct 4, 2012
1 parent
f1b9914
commit 46d3a52
Showing
48 changed files
with
286 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
SaWMan | ||
------- | ||
|
||
DirectFB proudly presents SaWMan, the Shared application and Window Manager, | ||
as a co-development of Royal Philips and Denis Oliver Kropp. | ||
|
||
SaWMan is a new window manager module for use with DirectFB. Its main difference | ||
to the default module is that it allows one process to be an application and window | ||
manager, implementing all kinds of diversity, while SaWMan is only the working horse. | ||
|
||
On its own, SaWMan will behave similar to the default window manager, but as soon as | ||
there's an application manager, SaWMan will do synchronous RPCs to that application in | ||
relevant functions of the window manager module. That means it switches to the process | ||
and continues after it has completed the requested call and returned a result. The data | ||
which those calls operate on is already in shared memory, e.g. a window configuration. | ||
|
||
The application manager can hook itself into several operations with this, e.g. it can | ||
forbid or modify requested window configurations right before they're actually applied | ||
by SaWMan. | ||
|
||
For non-desktop and especially non-pointer environments like TVs, it is important to | ||
provide a simple and convenient layout and focus management. The layout of all windows | ||
can be completely overridden by the application manager, e.g. to implement a screen | ||
tiling mode. | ||
|
||
The integration of application management allows easy definition and handling of | ||
application specific constraints. The manager has a list of applications identified | ||
by their name. Launching applications is usually initiated by the application manager | ||
itself, e.g. based on global keys grabbed by an input only window. However, the public | ||
SaWMan interfaces provide a way to send launch/shutdown requests from any application | ||
to the application manager. | ||
|
||
While the key grabbing only provides asynchronous notification about keys which are | ||
then handled in the manager's main loop, SaWMan provides a hook to let the manager | ||
basically filter every single input event in a synchronous way, similar to the window | ||
configuration. Critical operations like layout and focus switching are best done in | ||
this callback. | ||
|
||
[...] | ||
|
||
For more information you can check the more or less documented header files in the | ||
include/ directory, or have a look at 'testman' - a minimal example of a manager | ||
implementation in the samples/ directory. You'll also find a small test program | ||
called 'testrun' which demonstrates launching of applications from another application. | ||
|
||
|
||
Running testman | ||
---------------- | ||
|
||
Once you have a session running after setting the option "wm = sawman" you'll notice | ||
that there's nothing new, except the old window manager hacks (builtin keys) are gone. | ||
|
||
However, if you start 'testman' from the samples/ directory, you'll see windows being | ||
tiled on the screen, unless these windows have the DWCAPS_NODECORATION flag, e.g. LiTE | ||
and XDirectFB use that. | ||
|
||
You can try running "df_andi --dfb:force-windowed" or even simply run df_window. | ||
|
||
Hitting F9 cycles the focus through managed windows. | ||
F10 would switch layout modes, but there's only one implemented in the test code. | ||
F11 switches between "smooth software" or "standard (hw/sw)" scaling (for windows only). | ||
|
||
The smooth scaling algorithms have also been developed in the scope of this project. | ||
|
||
|
||
Using testrun | ||
-------------- | ||
|
||
The command "testrun <name>" will start/stop an application. | ||
|
||
Available in the test code are: | ||
Penguins df_andi --dfb:mode=640x480,force-windowed | ||
Windows df_windows |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
SaWMan.cpp | ||
SaWMan.h | ||
SaWManManager.cpp | ||
SaWManManager.h | ||
SaWManProcess.cpp | ||
SaWManProcess.h | ||
sawman.pc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
## Makefile.am for SaWMan/src | ||
|
||
INCLUDES = \ | ||
-I$(top_builddir)/include \ | ||
-I$(top_builddir)/src \ | ||
-I$(top_builddir)/lib \ | ||
-I$(top_builddir)/sawman \ | ||
-I$(top_srcdir)/include \ | ||
-I$(top_srcdir)/src \ | ||
-I$(top_srcdir)/lib \ | ||
-I$(top_srcdir)/lib/sawman \ | ||
$(DIRECTFB_CFLAGS) | ||
|
||
AM_CPPFLAGS = \ | ||
-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" \ | ||
-DMODULEDIR=\"${RUNTIME_SYSROOT}@MODULEDIR@\" \ | ||
-DSYSCONFDIR=\"@sysconfdir@\" | ||
|
||
pkgconfigdir = $(libdir)/pkgconfig | ||
pkgconfig_DATA = sawman.pc | ||
|
||
includedir = @INCLUDEDIR@/sawman | ||
|
||
include_HEADERS = \ | ||
sawman.h \ | ||
sawman_types.h | ||
|
||
lib_LTLIBRARIES = libsawman.la | ||
|
||
libsawman_la_SOURCES = \ | ||
SaWMan.cpp \ | ||
SaWMan.h \ | ||
SaWMan_includes.h \ | ||
SaWMan_real.cpp \ | ||
SaWManManager.cpp \ | ||
SaWManManager.h \ | ||
SaWManManager_includes.h \ | ||
SaWManManager_real.cpp \ | ||
SaWManProcess.cpp \ | ||
SaWManProcess.h \ | ||
SaWManProcess_includes.h \ | ||
SaWManProcess_real.cpp \ | ||
isawman.c \ | ||
isawman.h \ | ||
isawmanmanager.c \ | ||
isawmanmanager.h \ | ||
region.c \ | ||
region.h \ | ||
sawman_core.c \ | ||
sawman_internal.h \ | ||
sawman_config.c \ | ||
sawman_config.h \ | ||
sawman_draw.c \ | ||
sawman_draw.h \ | ||
sawman_updates.c \ | ||
sawman_updates.h \ | ||
sawman_window.c \ | ||
sawman_window.h | ||
|
||
libsawman_la_LIBADD = \ | ||
$(DIRECTFB_LIBS) | ||
|
||
libsawman_la_LDFLAGS = \ | ||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ | ||
-release $(LT_RELEASE) | ||
|
||
|
||
# | ||
## and now rebuild the static version with the *correct* object files | ||
# | ||
if BUILD_STATIC | ||
|
||
clean-local: | ||
rm -f libsawman_fixed.a | ||
|
||
all-local: libsawman_fixed.a | ||
|
||
libsawman_fixed.a: .libs/libsawman.a | ||
rm -f libsawman_fixed.a | ||
${AR} cru libsawman_fixed.a `find . -name "*.o" | grep -v '.libs'` | ||
${RANLIB} libsawman_fixed.a | ||
cp -pf libsawman_fixed.a .libs/libsawman.a | ||
|
||
.libs/libsawman.a: libsawman.la | ||
|
||
else | ||
|
||
clean-local: | ||
|
||
all-local: | ||
|
||
endif | ||
|
||
|
||
distclean-local: | ||
rm -f SaWMan.cpp | ||
rm -f SaWMan.h | ||
rm -f SaWManManager.cpp | ||
rm -f SaWManManager.h | ||
rm -f SaWManProcess.cpp | ||
rm -f SaWManProcess.h | ||
|
||
include $(top_srcdir)/rules/flux_comp_sawman.make | ||
include $(top_srcdir)/rules/nmfile.make | ||
|
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
$(builddir)/%.cpp $(builddir)/%.h: $(srcdir)/%.flux | ||
fluxcomp $< |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,7 @@ mkdgifft | |
raw15toraw24 | ||
raw16toraw24 | ||
raw32toraw24 | ||
swmdump | ||
voodooplay | ||
voodooplay_client | ||
voodooplay_server |
Oops, something went wrong.