Window operations functions

Zoltán Kócsi zoltan at
Fri Apr 9 12:48:47 CEST 2010


I'm new to Xfce, having been living on fvwm for some 15+ years. So,
I picked up a few habits and I wonder if Xfce, or more likely, Xfwm is
capable of doing these. I would assume so, considering that fvwm is a
very ancient beast, but I could not figure out how. I have an Xfce 4.4
install. I hope someone can point me to docs that explain how to do
what I want.

First, when I start a new application by clicking on, for example, the
little terminal icon to fire up an xterm, the new window may or may not
appear on top of all other windows. When almost all of my screen is
covered with other windows, the new application appearing underneath
them is not really intuitive. I have to scan the taskbar to find the
new item and click on it to get it to front. So, how can I tell Xfwm to
always place any new window (on the current desktop) on the top?

Second, I set up fvwm so that single clicking on a window brings it to
front and double clicking on the title bar sends it to the back. A very
handy feature when you have editor windows and terminal windows all
around the place covering each other. I could not find any options to do
that. I tried to edit the XML file's double click on window title entry
and change the value to "lower" but it didn't work.

Third, fvwm allows you to write little functions, composed of basic
window operations like minimise, raise, lower, resize, move etc. and
bind these functions to events, such as keyboard shortcuts or click,
double click, drag, etc on certain parts of the window decorations. Very
handy and is in sync with unix's "everything is configurable and
everything is programmable" philosophy. I could not find any reference
in the documentation with regards to do anything like that.

Fourth, fwvm allowed me to treat the workspaces as a single huge
desktop. If you have a say, 2x2 workspace arrangement and in the
top-left workspace you place a window such that the it overhangs on the
right hand side, then if you switch to the top-right workspace, you can
see the overhanging part of the window. That is, it operates as one huge
desktop, with four adjacent viewports onto it. In fact, with the fvwm
scripting facility (which is on top of the above mentioned little
functions and is much more capable) I created a little widget that
allows me to toggle between two modes: one mode switches workspaces
like Xfce does if you enable switching when the mouse hits the edge of
the screen and the other simply treats the whole desktop as a very large
area and the screen is just a view, which automatically scrolls (with
dynamically adjustable step size) when the mouse hits the edge of the
screen (the view's current position is shown in the little
workspaces widget, so you know where you are). Note that this facility
is different from the virtual and real screen resolution, which is an
other, unrelated fvwm feature. I wonder how can I tell Xfwm or Xfce to
do that?

Fifth, fvwm has the 'swallow' facility, where you can create a button
that 'swallows' a window. That is, when the button is created, it
starts a normal X application, like xclock, xeyes, xload (or that
little fvwm script widget mentioned above) etc. and puts its window
(setting its size to fit the button) inside the button. That way you
can add any existing simple X app to your button bars and you do not
have to write (or hope that someone writes) an fvwm version of an
otherwise common and/or already existing utility. Again, looking
through the docs I could not find any reference to do anything similar,
possibly because the docs seem to be limited to the GUI configurator
and there's no word on the text config files where I assume all the
powerful cruft is.

Any pointers to documentation that explains how to do the above things
with Xfce/Xfwm would be greatly appreciated.



More information about the Xfce mailing list