larswm seconda revisione
Alessandro Foresi
tp@lists.linux.it
Fri Jan 10 10:24:13 2003
On Fri, Jan 10, 2003 at 12:07:57AM +0100, Francesco Potorti` wrote:
> Non usare allegati, inserisci nel corpo del messaggio.
Segue la seconda revisione della traduzione della documentazione
di larswm. Nella prima era stata tradotta solo la man del window manager,
ora anche il README, larsremote.man, larsclock.man e le due refcard.
La man principale è stata rivista, tradotto il mancante e terminata in
base ai suggerimenti ricevuti. Grazie a tutti.
-------- ELENCO FILE
en/keyboard_refcard.ms
it/keyboard_refcard.ms
en/larswm.man
it/larswm.man
en/mouse_refcard.ms
it/mouse_refcard.ms
en/README
it/README
en/larsclock.man
it/larsclock.man
en/larsremote.man
it/larsremote.man
-------- FINE ELENCO
-------- INIZIO DI en/keyboard_refcard.ms
.TS
allbox;
c s s
c c c
l l l.
larswm Keyboard Reference
Modifier Key Function
Shift-Control Prior Prev Screen
Shift-Control Next Next Screen
Shift-Control Left Prev Desktop
Shift-Control Right Next Desktop
Shift-Control Up Prev Window
Shift-Control Down Next Window
Shift-Control BackSpace Toggle Subdesktop
Shift-Control F1-F12 Jump to virtual desktop 1-12
Control-Alt z Hide Window
Control-Alt x Unhide last hidden window
Control-Alt w Close Window
Shift-Control KP_Home Move to northwest corner (untiled)
Shift-Control KP_Up Move to north edge (untiled)
Shift-Control KP_Prior Move to northeast corner (untiled)
Shift-Control KP_Left Move to west edge (untiled)
Shift-Control KP_Begin Move to center of screen (untiled)
Shift-Control space Select Zoom
Shift-Control KP_Right Move to east edge (untiled)
Shift-Control KP_End Move to southwest corner (untiled)
Shift-Control KP_Down Move to south edge (untiled)
Shift-Control KP_Next Move to southeast corner (untiled)
Shift-Alt space Move window to other subdesktop
Shift-Alt KP_Insert Toggle 5% of screen or 1 pixel move/resize increment (untiled)
Shift-Alt KP_Up Move window up (untiled)
Shift-Alt KP_Down Move window down (untiled)
Shift-Alt KP_Left Move window left (untiled)
Shift-Alt KP_Right Move window right (untiled)
Shift-Alt KP_Home Maximize window vertically (untiled)
Shift-Alt KP_End Maximize window horizontally (untiled)
Shift-Alt KP_Begin Maximize window both ways (untiled)
Shift-Alt KP_Home/End/Begin Move window to/from left track (tiled)
Shift-Control-Alt KP_Up Maximize left track (tiled)
Shift-Control-Alt KP_Down Restore left track (tiled)
Shift-Control-Alt KP_Right Grow left track (tiled)
Shift-Control-Alt KP_Left Shrink left track (tiled)
Shift-Control-Alt KP_Up Grow window vertically (untiled)
Shift-Control-Alt KP_Down Shrink window vertically (untiled)
Shift-Control-Alt KP_Right Grow window horizontally (untiled)
Shift-Control-Alt KP_Left Shrink window horizontally (untiled)
Shift-Control-Alt KP_Home Grow window both ways (untiled)
Shift-Control-Alt KP_End Shrink window both ways (untiled)
.TE
-------- FINE DI en/keyboard_refcard.ms
-------- INIZIO DI it/keyboard_refcard.ms
.TS
allbox;
c s s
c c c
l l l.
Riferimenti alla tastiera per larswm
Modificatore Tasto Funzione
Shift-Control PgSu Schermo precedente
Shift-Control PgGiù Schermo successivo
Shift-Control Sinistra Desktop precedente
Shift-Control Destra Desktop successivo
Shift-Control Su Finestra precedente
Shift-Control Giù Finestra successiva
Shift-Control BackSpace Cambia sottodesktop
Shift-Control F1-F12 Salta al desktop 1-12
Control-Alt z Nasconde la finestra
Control-Alt x Ripristina l'ultima finestra nascosta
Control-Alt w Chiude la finestra
Shift-Control Tn_Home Sposta nell'angolo nodrovest (non affiancato)
Shift-Control Tn_Su Sposta nel bordo nord (non affiancato)
Shift-Control Tn_PgSu Sposta nell'angolo nordest (non affiancato)
Shift-Control Tn_Left Sposta al bordo ovest (non affiancato)
Shift-Control Tn_Begin Sposta al centro dello schermo (non affiancato)
Shift-Control spazio Select Zoom
Shift-Control Tn_Right Sposta nel bordo est (non affiancato)
Shift-Control Tn_End Sposta nell'angolo sudovest (non affiancato)
Shift-Control Tn_Giù Sposta al bordo sud (non affiancato)
Shift-Control Tn_PgGiù Sposta nell'angolo sudest (non affiancato)
Shift-Alt spazio Sposta la finestra nell'altro sottodesktop
Shift-Alt Tn_Insert Alterna tra 5% dello schermo e 1 pixel (non affiancato)
Shift-Alt Tn_Su Sposta la finestra su (non affiancato)
Shift-Alt Tn_Giù Sposta la finestra giù (non affiancato)
Shift-Alt Tn_Sinistra Sposta la finestra verso sinistra (non affiancato)
Shift-Alt Tn_Destra Sposta la finestra verso destra (non affiancato)
Shift-Alt Tn_Home Ingrandisce la finestra verticalmente (non affiancato)
Shift-Alt Tn_Fine Ingrandisce la finestra orizzontalmente (non affiancato)
Shift-Alt Tn_Begin Ingrandisce la finestra in entrambe le dimensioni (non affiancato)
Shift-Alt Tn_Home/Fine/Begin Sposta la finestra da/verso la sezione sinistra (affiancato)
Shift-Control-Alt Tn_Su Ingrandisce al massimo la sezione sinistra (affiancato)
Shift-Control-Alt Tn_Giù Ripristina la sezione sinistra (affiancato)
Shift-Control-Alt Tn_Destra Ingrandisce la sezione sinistra (affiancato)
Shift-Control-Alt Tn_Sinistra Rimpicciolisce la sezione sinistra (affiancato)
Shift-Control-Alt Tn_Su Ingrandisce la finestra verticalmente (non affiancato)
Shift-Control-Alt Tn_Giù Rimpicciolisce la finestra verticalmente (non affiancato)
Shift-Control-Alt Tn_Destra Ingrandisce la finestra orizzontalmente (non affiancato)
Shift-Control-Alt Tn_Sinistra Rimpicciolisce la finestra orizzontalmente (non affiancato)
Shift-Control-Alt Tn_Home Ingrandisce la finestra in entrambi le dimensioni (non affiancato)
Shift-Control-Alt Tn_Fine Rimpicciolisce la finestra in entrambi le dimensioni (non affiancato)
.TE
-------- FINE DI it/keyboard_refcard.ms
-------- INIZIO DI en/larswm.man
.TH larswm 1
.SH NAME
larswm \- Tiling Window Manager for X
.SH SYNOPSIS
.B larswm
[
.B \-display
.I dpy
] [
.B \-f
.I file
] [
.B \-defaults
] [
.B \-v
]
.SH DESCRIPTION
.I larswm
is a small window manager for X. What makes it unique compared to most window managers is its automatic window tiling.
.SH OPTIONS
The following command line options are supported:
.TP 18
.BI \-display " dpy"
lets you specify which display you want
.I larswm
to manage.
.TP 18
.BI \-f " file"
lets you specify a preferences file other than $HOME/.larswmrc to use for configuration.
.TP 18
.B \-defaults
prints to standard out a complete resource file for
.I larswm
containing all options and their defaults.
.TP 18
.B \-v
prints the current version on standard error, then exits.
.SH FILES
.TP 18
.B $HOME/.larswmrc /etc/X11/larswmrc
these two files are looked for in the above order when
.I larswm
starts up.
.SH Getting and Installing larswm
Both source and RPMS are available at http://www.fnurt.net/larswm
.B Standard install from source
After unpacking the source file, compile and install
with the following commands:
xmkmf -a
make install install.man
.B Building RPMS
If you use RedHat and have downloaded version 7.2.8
of larswm, you can build RPMS by running the command:
rpm -ta larswm-7.2.8.tar.gz
And then install the i386 binary RPM with:
rpm -Uvh /usr/src/redhat/RPMS/i386/larswm-7.2.8-1.i386.rpm
With the RPM, sample.larswmrc is installed in
/etc/X11/larswmrc and sample.xsession is installed in
/etc/X11/gdm/Sessions/LarsWM so that it can be chosen
from the login screen. It is ready to use by all users
without further configuration on their part, though
most users will probably want to copy larswmrc and
modify it to their taste.
.SH Making Terminal Windows Behave
In order to make terminal windows know that they have
been resized when they are first opened and tiled, put
this line in your .cshrc or .bashrc:
eval `resize`
It will ensure that it is set to the correct number of
rows and columns when it is opened.
.SH The Idea
When I started working on larswm I had a few ideas that
I think are important in a window manager. They are as follows:
1. The user should not have to spend alot of time
arranging windows on the screen, leaving more time
for the actual work that he or she is trying to accomplish.
2. Direct manipulation. Instead of accessing windows
and desktops through representations of these, access
them directly. That means: No icons when a window is
iconified. No graphical map of the virtual desktops,
larswm is fast enough that it is easier to browse the
actual desktops instead, something that is very quick
and easy to do, escpecially if you have a wheel
mouse, and since the windows are tiled, you usually
don't need much time looking at a desktop to know
what's on it. And within one desktop, tiling is a
good example of direct manipulation, a common way to
deal with multiple windows on the screen is to
overlap them and select which one you want my
clicking on a representation in the form of a button
on a task bar, however, larswm does not need that
because the actual window, with enough content
visible to know which one it is, is always visible.
3. No precision clicking. Use the edges of the monitor
to make it easy to aim with the mouse pointer.
4. It must be predictable. If the user ever wonders how
focus ended up on a window that he or she did not
click on, something is wrong. larswm has alot of code
that deals with figuring out where focus should go
when different events occur.
5. It must have a solid feel to it. Part of this is
speed, when you switch desktops or windows are moved
around as the result of being tiled it must go quick,
and part of it is predictability.
6. The window manager should not use more system
resources (CPU time, virtual memory) than is
absolutely necessary for performing the task of
managing windows. The GUI is minimal, providing
borders around the windows, and a status bar at the
bottom of the screen. It provides all feedback using
plain text on the status bar.
7. Quality control. It has been tested with Electric
Fence to catch memory access errors and profiled with
gprof. So far I have been able to fix everything that
I found with these tools, but I am no CS major and I
am sure some things could be done better.
Nevertheless, it works, and during normal
circumstances it works using minimal system
resources.
.SH Terminology
Some of this is unique to larswm and some is borrowed
from other GUI designs.
.I Screen
Physical monitor. By default larswm will use
up to 4 monitors. This can be adjusted in the dat.h file.
.I Virtual Desktop
Each screen is logically divided into
up to 16 workspaces. A window is usually only visible
on one of these workspaces.
.I Subdesktop
Each virtual desktop is then logically
divided between two subdesktops. First we have
normal, untiled, windows. They are managed in a way
similar to most other window managers. Second we the
tiled subdesktop, where no window is allowed to
overlap another. Switching between the tiled and the
untiled set of windows is very fast with a hotkey or
mouse click.
.I Track
On the tiled subdesktop, windows are laid out
in one of two tracks. The left track occupies the
left 2/3 of the screen, while the right track
occupies the rest. The ratio can be changed
dynamically through hotkeys, and a different default
can be set in the .larswmrc file. The left track
always contains one window filling it from top to
bottom while the right track contains any other
windows, evenly sized. There are hotkeys to make any
window in the right track expand and move to the left
track while the window that was in the left track is
shrunk and placed at the top of the right track.
.I Status Bar
The status bar fills two functions. First
off, as the name implies, it shows status messages.
This includes the window title of the focused window,
the selected virtual desktop, flags that shows what
modes are set on the current virtual desktop and a
user defined message that is used by the sample clock
app to show the current date and time. Second, it is
a very big button that can be clicked to perform
various functions. It's easy to target, since you
just move the mouse down against the bottom of the
screen, no need to precision aim for it.
.I Tool
A special kind of window that belongs to the
untiled subdesktop, but is still tiled around. It is
also visible on all virtual desktops. Used for things
like clocks and load meters.
.I Select Zoom
Maximize a window so that the height/width
ratio is the same as for a US letter sized paper, and
centering it on the screen. Besides wanting to tile
windows, this was the most common manual move/resize
operation I used before it was automated.
.SH A Sample Session
The following assumes you are using the sample.xsession
and sample.larswm config files included in the source
and RPM files. If you installed the RPM on a RedHat system
with GDM as the login manager (default), all you have
to do is select the LarsWM session on the login screen
to use larswm with this config. After logging in,
you'll see a mostly empty gray desktop. Along the
bottom of the screen is the status bar, and in the
lower right corner are two smaller windows (xload and
xbiff) which in the default config are tagged as tool
windows. What this means is they should be visible on
all virtual desktops, and should not be covered by
windows that are placed automatically on the tiled subdesktop.
.B Working with tiled windows
Now hit Shift-Control-Return. This will bring up a new
terminal window. Notice how it occupies the left 2/3 of
the screen. Type something in this window and hit
Shift-Control-Return again. The first window is moved
to the right side and shrunk, while the new xterm
occupies the bigger area to the left. Notice that the
two toolwindows (xload and xbiff) are not overlapped.
Hit Shift-Control-Return once more and notice how the
two previous windows now both are on the right side and
using half the space each.
Now hit Control-Button1 on the first window you opened,
it should be the xterm right above the tool windows on
the right side. This will put that window in the left
track, while putting the left track window at the top
of the right track.
That's all there is to never having to manually line up
your xterms again!
.B Working with untiled windows
For demonstration purposes, we can use xlogo. By
default, the xlogo window class is not set to be tiled,
so it will be opened on the untiled subdesktop,
separate from all the xterms. In the focused xterm,
type xlogo and hit Return. The xlogo window should
appear in the middle of the screen above the tiled
windows. If you need to switch between tiled and
untiled windows, you can use Shift-Control-BackSpace.
Hit that key twice and see how xlogo is first hidden
behind the tiled xterms and then brought to the front
again. If you had more untiled windows open, they would
all have been lowered and raised together.
.B Moving windows to predefined areas
You can move untiled windows to 9 different predefined
locations on the screen with only one keystroke. With
the xlogo window focused, hit Shift-Control-KP_6. The
xlogo window should be against the right edge of the
screen, halfway between the top and bottom, just like 6
on the numeric keypad is among the keys 1 through 9.
Hit Shift-Control and each number on the numeric keypad
to see the locations. When done, leave the window on
the right edge in the middle (Shift-Control-KP_6).
.B Select zooming
With the xlogo window focused and off to the side of
the screen, hit Shift-Control-space. Notice how it is
centered and sized to make it easy to work with. When
you hit Shift-Control-space again, it is returned to
its former place and size. This can be used as an
alternative to tiling, if you have some windows you
would like to mostly manage yourself, but want a quick
way to concentrate on one of them.
.B Using the mouse to move and resize windows
With the xlogo window unzoomed and focused, move the
mouse down onto the status bar, anywhere will do, and
hold down Shift-Alt-Button1. The mousepointer moved to
the top left corner of the window and you are able to
move the window around by moving the mouse. To place
the window, let go of the mouse button. Move xlogo to
somewhere near the top left of the screen.
Next, with the mouse on the status bar, hold down
Shift-Control-Alt-Button1. The mouse pointer is moved
to the bottom right corner of the xlogo window and when
you move the mouse, you resize the window. To set the
size, let go of the mouse button.
.B Moving a window between subdesktops
Make sure the xlogo window is focused and then hit
Shift+Alt+space. The xlogo should now be tiled and
focused in the left track. If you hit Shift+Alt+space
once more, it becomes untiled again and the other tiled
windows moves to fill the vacated spot in the left
track. When a window has been tiled and is moved to the
untiled subdesktop, it is given a generic size and
position that is half the screen height and width and centered.
.B Working with virtual desktops
So far, we've only used the first desktop. The way to
switch between desktops is easy. Shift-Control-Left and
Shift-Control-Right on the keyboard will move you back
and forth between the desktops. Hit Shift-Control-Right
four times. Notice how the status bar label changes to
show what desktop is active. By default there are four
virtual desktops per screen, so you should be back to
the first desktop now.
.B Using the mouse wheel
With larswm, the mouse wheel can be used for quite a
few operations. The most common is to switch virtual
desktop. This can be done by moving the pointer to the
status bar, or above any unfocused window and rolling
the wheel up and down. I recommend moving the pointer
to the status bar, because when you switch virtual
desktop, a focused window might end up under your mouse
pointer, and then the next roll of the wheel would not
switch desktop, but rather be sent to that window.
You can also use the mouse wheel to move and resize
windows quickly. With xlogo focused, move the pointer
to the status bar and hold down Shift-Alt while rolling
the wheel to move the window sideways. If you hold down
Shift-Control-Alt you move the window up and down, and
with Shift-Control you can grow and shrink the window.
If you have more than one window open, hold down Shift
whle rolling the wheel down to cycle focus through each
window. To try it now, shift to the tiled subdesktop by
clicking on any of the tiled xterms then move the mouse
pointer to the status bar, hold down shift and roll the wheel.
This is not exactly intuitive, but very fast once you
learn the combinations of Shift, Control and Alt keys
to do these things.
.SH Status Bar Menu System
The status bar is used for a simple menu system. With
the pointer on the status bar, hold down Control and
click Button1 and Button3, or roll the wheel up and
down, to scroll between the menu entries.
Control-Button2 selects the current menu entry, usually
toggling a desktop or window setting.
If you instead of Control hold down Alt, you can scroll
through the list of iconified windows, and Alt-Button2
uniconifies the selected window.
.SH Things You Can Configure
You can affect alot (but not all!) of the behaviour of
larswm by making your own .larswmrc file and putting it
in your home directory.
.B Default setup
Included in the distribution files is a file called
sample.larswmrc that you can use as a starting point
for your own config. When the RPM is installed, this
file is also at /etc/X11/larswmrc
.B Complete list of config keywords
Another way to get a default .larswmrc is to run larswm
with the -defaults flag. It will print out all the
possible options with their defaults filled in, all you
have to do is uncomment and edit any lines you wish to
change. Rather than reproduce that here, you can create
your own up to date version by running the command
larswm -defaults and piping it to a file.
.B Indexed resources
In the sample.larswmrc, all the entries that end in a
number are indexed resources. The number can be between
0 and 63, and must be unique within each resource type.
.B Multi-head
When specifying an option that only affects one of the
virtual desktops, you can also limit it to a specific
monitor. For instance, larswm.0.0.dtname: One would
name the first virtual desktop on the first monitor
only. Due to precedence, you can set an option for all
desktops one way, and then specific desktops another.
The ways to specify screens and desktops are, listed in
order of precedence:
.I larswm.S.D.resource
Affects only desktop D on screen S.
.I larswm.S.?.resource
Affects all desktops on screen S.
.I larswm.?.D.resource
Affects only desktop D on all screens.
.I larswm.?.?.resource
Affects all desktops on all screens.
.I larswm*resource
Another way to specify all desktops on all screens.
As an example, if you want all desktops except the
first on the second monitor to not resize windows that
are tiled, you would put the following lines in you .larswmrc:
larswm*tile_resize: false
larswm.1.0.tile_resize: true
The first line is needed because the default is to
resize windows.
.SH Keyboard and Mouse Reference
Included in the source and RPM distribution are two
reference cards in tbl format. They can be viewed
using the following commands:
gtbl keyboard_refcard.ms | groff -TX75
gtbl mouse_refcard.ms | groff -TX75
.SH The Status Bar
The thin window across the bottom of the screen is the
status bar. On the left is the window title of the
focused window, and on the right is a status area.
.B Mode flags
Between the virtual desktop label and the user defined
message (date/time in the default setup) is a block of
flags in upper case [TCRSBH]. They indicate the following:
.IB T " Subdesktop"
T for tiled or U for untiled.
.IB C " Clickthru"
Whether clicks on an unfocused window
should focus and pass the click on to the client, or
just focus and discard the click. C means pass to client.
.IB R " Tile Resizing"
Whether tiled windows are resized or not.
R means they are resized. If not, they are just
stacked in the right track, each having the top left
corner visible.
.IB S " Skip Focus"
Whether giving focus to a window in the
right track makes it jump to the left track. S means
no, you have to Control-Button1 click it to make it
jump. If off, you can Control-Button1 click to make a
window stay in place while getting focus.
.IB B " Big Move/Resize"
Whether the keyboard and mouse
wheel commands to move and resize windows should work
a pixel at a time, or 5% of the screen width/height
at a time.
.IB H " Hidden Windows"
Whether any windows are hidden
(iconified) on any screens. It's there so you won't
forget about them, since larswm has no visual
representation of iconified windows.
.B Window mode flags
The status bar will also show the focused window's class
and instance in the format (Class~Instance). Just to the
right of that is another set of flags in lower case [nfts] that mean:
.IB n " Notile"
Window belongs to the untiled subdesktop.
.IB f " Floating"
Window always stays on top of non-floating windows.
.IB t " Tool"
Window is tiled around, not over.
.IB s " Sticky"
Window is visible on all virtual desktops.
.B User defined message
If you want, you can put any message you like in the
right most portion of the status bar. This can be used
for things like clocks, email notifiers, stock tickers
etc. Included in the distribution is a small example of
a clock called larsclock. It is started by the default
session script.
If you don't run larsclock, you can set the message
from any shell script with the command larsremote
message TEXT, which would show TEXT on the status bar.
See the file sample.barclock for an example of this.
.SH Window Types
Here's a more detailed look at the different types
larswm can associate with a window.
.B Transient windows
Windows that have the WM_TRANSIENT_FOR property set are
not tiled. When a window that has transients gets
focus, larswm will make the transients stay on top and
have focus. If you switch focus to a different top
level window while transients are mapped they will be
left alone, underneath the other window, and will not
be raised until you focus their top level window.
To focus the top level window without having one of its
transients get focus automatically, use Control-Button1.
When a transient window first gets mapped, it will
always show up, no matter what desktop you are viewing.
The transient window will be assigned to the desktop
where the parent window is though, so as soon as you
change desktop, it will only show up on the virtual
desktop the parent belongs to.
.B Untiled windows
Any window that is not tiled is assigned to the untiled
subdesktop. These windows are completely separate from
the tiled subdesktop. The untiled subdesktop behaves
more or less like any traditional window manager, but
adds a few keyboard shortcuts for moving windows to
different parts of the screen or zooming them in both dimensions.
larswm will not tile a window unless its class/instance
can be found in the larswm.dotileclass list.
The way to move between your tiled and untiled desktop
is through a keyboard shortcut, which by default is
Shift-Control-BackSpace
When a window mapped on the untiled subdesktop for the
first time, it is centered on the screen, unless it has
had its position set in the hints, in which case that
position is used instead of centering.
.B Floating windows
Floating windows will always stay on top of other
non-floating windows, regardless of which subdesktop is
active. This can be used for small windows, like xcalc,
that you always want accessible. If clickthru is on,
clicks will be passed on to floating windows regardless
of which subdesktop was active before the click.
.B Sticky windows
Sticky windows are windows of a class and instance that
matches an entry in the larswm.stickyclass list. They
are always visible no matter which virtual desktop you
are on.
.B Tools
Tools are windows you always want visible. Examples of
tools are xclock, xload and other small informational
windows. When a window has been identified as a tool
window, it will be assigned to the untiled desktop, it
will be sticky and the tiled windows will not cover it.
Also, if clickthru is on, any clicks on tool windows
will be passed on to the client, regardless of which
subdesktop was active before the click.
.SH Internals
A little more detail about how larswm does things.
.B Tiling
Every time a window is mapped or unmapped, or (if
skip_focus is off) you focus a new window on the tiled
subdesktop by clicking on it the following process is executed:
1. The width of the two tracks are calculated. This is
by default set up so the left track uses 2/3 of the
screen width, but it can be configured in the
.larswmrc file.
2. It calculates how many windows should be in each
track, one in the left track and the rest in the right.
3. The height of each window in each track is calculated.
4. It goes through the list of all windows and places
them in the designated spot.
5. Transient windows of the current window are
recursively put on top so that you never will lose a
dialog box under your main window.
6. After this it returns to the event loop.
That is pretty much it. When you click on an inactive
window in the right track, it will pop over into the
left track, and the window that were there will pop
over to the top of the right track. Hence, the right
track will contain windows in the order that they were
in the left track, starting with most recent.
.B Associating windows with a virtual desktop
You can associate certain window classes/instances to a
certain virtual desktop number by adding resources to
your .larswmrc.
An example of how to associate all Netscape windows
with the second virtual desktop:
larswm.dtclass.0: Netscape
larswm.dtnum.0: 1
When any Netscape window opens, larswm will first
switch to the specified desktop, and then map the window.
.B Hidden windows
larswm iconifies windows by hiding them. To unhide a
hidden window, you must first locate its label using
the status bar. Please see the section about using
menus on the status bar for information on how this works.
You can move a window between desktops by hiding it,
changing desktop, and then unhiding the window again.
You cannot move windows between screens this way,
because X11 does not support it.
The best way to use the window hiding feature is
through keyboard shortcuts. You can hide the focused
window and unhide the last hidden window without using
the mouse at all. This makes for a quick way to move a
window from one virtual desktop to another.
.B Focus handling
To change focus to a window, you just left click on it,
and if skip_focus is off that window will pop into the
left track, and the window currently there will pop
over to the top of the right track.
If you have it set up to automatically put the focused
window in the left track, you might still sometimes
want to type something into one of the tiled windows
without rearranging all the windows, and to do that you
Control-Button1 click on a window. Focus will change,
but all windows will stay where they are. This will
also prevent any transient windows owned by the
application from immediately be raised and get focus.
If you have it in the default mode, where selecting a
new window to have focus does not make it pop into the
left track you can do that by Control-Button1 clicking it.
.B Clickthru
When you click on a window to give it focus, that click
is also passed on to the client. This makes it easier
to work with a multi-window application. You can turn
this feature off, in which case the click used to focus
a window is never seen by the application.
.B Multi-Head
When a window gets mapped, for whatever reason, it is
usually given focus. But if the MapRequest event occurs
on a different screen than the one you are working on,
things could get confusing. I solved this by adding the
following rules to how focus is assigned when windows
open and close:
1. If the currently focused window is on the same
screen, then the new window will get focus.
2. If the currently focused window is on a different
screen, the new window will get focus only if the
mouse pointer is on the same screen as the new window.
3. If no window is focused, a newly mapped window will
get focus only if the mouse pointer is on the same
screen as the new window.
4. If the focused window closes, focus will revert to
another window, usually the window that was focused
before the one that just closed. Focus will revert
only if the mouse pointer is on the same screen as
the window that closed.
I believe these rules will help eliminate most cases of
having your keystrokes go to a window you did not
intend to.
.B Atoms
The following atoms are created and monitored by larswm
and can be used in third party tools:
.I LARSWM_EXIT
Tells larswm to exit.
.I LARSWM_RESTART
Tells larswm to restart, reloading the .larswmrc file.
.I LARSWM_BARTEXT
When this is updated, the content of
this atom is shown as text on the status bar until
this atom is updated again. See larsclock for an
example of how to use this.
.SH Compatibility
.B Terminal Windows
xterm windows might look like they
are not redrawing correctly, but they are in fact. It
is up to the program running inside it to detect
window size changes and redraw the screen as
necessary. One way to deal with this is to run screen
inside the xterm, as it will handle resizing and
redrawing correctly.
.B Size Hints
The PResizeInc and PMaxSize hints are
honored. PMinSize is not, as it might have problems
fitting all the windows in when tiling them.
.B Resizing Windows
For windows that do not cope well
with being resized, you can disable automatic
resizing on a particular desktop, making the windows
in the right track be stacked on top of eachother
instead. This can also be used for windows that
resize slowly, like Netscape, to speed things up considerably.
.B Multi-Head Displays
It does work well with multi-head
displays. One of my development systems is a
dual-head Sun Ultra2 running Solaris 9, so this
functionality has been tested quite alot. It
currently behaves in a predictable manner when you
switch focus between screens, move between desktops etc.
.B GTK Applications
Some GTK apps do not set
WM_TRANSIENT_FOR correctly on their dialog boxes, and
they also sometimes have a different class string on
those subwindows, making things confused. The best
way to deal with those kinds of problems is to
specify both the class and instance of the top level
windows you do want tiled.
.B Standards Compliance
At this time there is no
GNOME/KDE/Motif/whatever compatibility. It follows
the ICCCM as much as it can while still providing all
the automatic functionality that it does.
.SH LICENSE
Many thanks to David Hogan for writing 9wm and
releasing it under such a license that I could use it
as a base to build larswm on.
Here is the original license for 9wm:
---
9wm is free software, and is Copyright (c) 1994-1996 by David Hogan.
Permission is granted to all sentient beings to use this software,
to make copies of it, and to distribute those copies, provided that:
(1) the copyright and licence notices are left intact
(2) the recipients are aware that it is free software
(3) any unapproved changes in functionality are either
(i) only distributed as patches
or (ii) distributed as a new program which is not called 9wm
and whose documentation gives credit where it is due
(4) the author is not held responsible for any defects
or shortcomings in the software, or damages caused by it.
There is no warranty for this software. Have a nice day.
---
Please consider my code to be under the same type of
license as 9wm, inserting my name where appropriate.
.SH SEE ALSO
larsremote(1), larsclock(1)
.SH AUTHORS
.I larswm
was created by Lars Bernhardsson <lab@fnurt.net> by building on
.I 9wm
by David Hogan.
-------- FINE DI en/larswm.man
-------- INIZIO DI it/larswm.man
.TH larswm 1
.SH NOME
larswm \- Window Manager con affiancamento automatico per X
.SH SINTASSI
.B larswm
[
.B \-display
.I dpy
] [
.B \-f
.I file
] [
.B \-defaults
] [
.B \-v
]
.SH DESCRIZIONE
.I larswm
è un piccolo window manager per X. Quello che lo rende unico rispetto a molti window manager è l'affiancamento automatico delle finestre.
.SH OPZIONI
Sono supportate le seguenti opzioni a riga di comando:
.TP 18
.BI \-display " dpy"
specifica il display da far gestire a
.I larswm
.
.TP 18
.BI \-f " file"
specifica un file di preferenze da usare per la configurazione al posto di $HOME/.larswmrc.
.TP 18
.B \-defaults
stampa sullo standard output un file di risorse completo per
.I larswm
contenente tutte le opzioni e i loro valori predefiniti.
.TP 18
.B \-v
stampa la versione corrente sullo standard error ed esce.
.SH FILE
.TP 18
.B $HOME/.larswmrc /etc/X11/larswmrc
questi due file sono cercati, nell'ordine indicato, quando parte
.I larswm
.
.SH Reperire e installare larswm
Sia i sorgenti sia gli RPMS sono disponibili presso http://www.fnurt.net/larswm
.B Normale installazione dai sorgenti
Dopo aver estratto i file sorgenti, compilare e installare
con i seguenti comandi:
xmkmf -a
make install install.man
.B Costruire un RPMS
Se si usa RedHat e si è scaricata la versione 7.2.8
di larswm, si può costruire un RPMS lanciando il comando:
rpm -ta larswm-7.2.8.tar.gz
Quindi installare lo RPM i386 binario con:
rpm -Uvh /usr/src/redhat/RPMS/i386/larswm-7.2.8-1.i386.rpm
Con lo RPM vengono installati sample.larswmrc in
/etc/X11/larswmrc e sample.xsession in
/etc/X11/gdm/Sessiones/LarsWM, cosicché si può scegliere
dalla schermata di login. È pronto da usare da tutti
gli utenti senza ulteriore configurazione da parte loro, sebbene
molti vorranno probabilmente copiarsi larswmrc e
modificarselo secondo i loro gusti.
.SH Far funzionare le finestre dei terminali
Per far capire alle finestre dei terminali che esse stesse sono
state ridimensionate ed affiancate alla loro prima apertura, inserire
questa linea nel .cshrc o .bashrc:
eval `resize`
Questo assicura che saranno impostati i corretti numeri di
righe e colonne al momento dell'apertura.
.SH L'idea
Quando iniziavo a lavorare a larswm, avevo un po' d'idee che
penso siano importanti in un window manager. Sono le seguenti:
1. L'utente non dovrebbe spendere troppo tempo
arrangiando finestre sullo schermo, sprecando molto tempo
del lavoro che egli sta cercando di portare a termine.
2. Manipolazione diretta. Invece di accedere a finestre
e desktop attraverso rappresentazioni di questi, accederci
direttamente. Significa: Niente icona quando una finestra viene
ridotta a tale. Nessuna mappa grafica dei desktop virtuali;
larswm è abbastanza veloce da rendere preferibile, piuttosto, lo sfogliare
degli attuali desktop. Cosa molto rapida
e facile da farsi, specialmente se si ha un
mouse con rotella; e siccome le finestre sono affiancate l'una all'altra,
normalmente non s'impiega molto tempo a guardare il desktop per sapere
cosa c'è sopra. E dentro un desktop, affiancare è un
buon esempio di manipolazione diretta. Un modo comune di
avere a che fare con molte finestre sullo schermo, è
sovrapporle e selezionare quella che si vuole,
cliccando su una rappresentazione a forma di un bottone
sulla barra delle applicazioni. Comunque, larswm non ha bisogno di questo,
perché l'attuale finestra, quella con abbastanza contenuto
visibile per sapere qual è, è sempre visibile.
3. Nessun click millimetrico. Usare i bordi del monitor
per rendere facile la selezione con il puntatore del mouse.
4. Deve essere prevedibile. Se l'utente si meraviglia di come
il focus finisca su una finestra che egli non ha
cliccato, c'è qualcosa di sbagliato. larswm ha molto codice
che ha a che fare con il calcolo di dove il focus dovrebbe andare,
nel momento in cui si verificano differenti eventi.
5. Deve avere un feeling "solido". Parte di questo è
la velocità. Quando si cambia desktop oppure quando le finestre vengono
sistemate in giro, come risultato di essere state affiancate,
ebbene, tutto questo deve avvenire velocemente,
e parte di questo è la prevedibilità.
6. Il window manager non dovrebbe usare risorse di sistema
(tempo di CPU, memoria virtuale) di quanto strettamente
necessario a svolgere il compito di gestire finestre.
La GUI è minimale, fornisce
bordi attorno alle finestre, e la barra di stato ai
piedi dello schermo. Fornisce tutto il feedback usando
testo in chiaro sulla barra di stato.
7. Controllo di qualità. È stato controllato con Electric
Fence per trovare errori d'accesso di memoria e rifinito con
gprof. Per quanto sia stato in grado di sistemare qualsiasi cosa che
ho trovato con questi strumenti, purtroppo non sono un
esperto d'informatica senior e
sono sicuro che alcune cose potrebbero essere fatte meglio.
In ogni caso, funziona, e in circostanze normali funziona
usando il minimo delle risorse di sistema.
.SH Terminologia
Alcune terminologie sono uniche a larswm mentre altre sono
prese in prestito dai design di altre GUI.
.I Screen
Schermo. Il monitor, fisicamente. Normalmente larswm può usare
fino a 4 monitor. Questo limite si modifica nel file dat.h.
.I Virtual Desktop
Desktop virtuale. Ogni schermo è diviso, idealmente,
in un massimo di 16 aree di lavoro. Una finestra è
di solito visibile in una di queste aree di lavoro.
.I Sottodesktop
Ogni desktop virtuale è logicamente
diviso tra due sottodesktop. Come primo, abbiamo finestre
normali e non affiancate. Queste sono gestite in maniera
comune a molti altri window manager. Secondo, abbiamo i
sottodesktop con affiancamento, dove non è permessa la sovrapposizione
tra finestre. È molto rapido passare tra l'insieme di finestre
con o senza affiancamento; basta un tasto o
un clic del mouse.
.I Track
Sezione. Nel sottodesktop con affiancamento le finestre giacciono
in due sezioni distinte. La sezione di sinistra occupa i
2/3 dello schermo mentre la destra occupa il resto. Il rapporto può
essere cambiato dinamicamente attraverso tasti di scelta rapida e si può
impostare un diverso valore predefinito nel file .larswmrc.
La sezione di sinistra contiene sempre una finestra che la riempie
da cima a fondo, mentre la destra contiene le altre finestre
opportunamente ridimensionate. Ci sono tasti di scelta rapida per far sì
che ogni finestra della sezione destra sia espansa e spostata nella
sezione di sinistra, mentre la finestra che era nella sezione sinistra viene
ristretta e disposta in alto nella sezione di destra.
.I Status Bar
Barra di stato. La barra di stato ha due funzioni. Primo,
come dice il nome, mostra messaggi di stato. Questi comprendono
il titolo della finestra che ha il focus, il desktop virtuale
prescelto, contrassegni che mostrano quali modi sono impostati
nel desktop virtuale corrente e un messaggio definito dall'utente,
che è utilizzato dall'applicazione-orologio di esempio per
mostrare data ed ora attuali. Secondo, c'è un grane bottone
che può essere cliccato per eseguire varie funzioni. È facile
da individuare, dal momento che bisogna muovere il mouse
in fondo allo schermo, senza bisogno di puntarlo in maniera
millimetrica.
.I Tool
Strumento. Una speciale tipo di finestra che appartiene al
sottodesktop non affiancato, ma che comunque rimane affiancata. È
visibile su tutti i desktop virtuali. Usata per cose
come orologi e misuratori di risorse.
.I Select Zoom
Ingrandisce una finestra cosicché il rapporto altezza/larghezza
è lo stesso di un foglio dimensione "US letter" e in più
centrato sullo schermo. Oltre a volere le finestre
affiancate, questa era l'operazione di spostamento/ridimensionamento
più comune che usavo, prima che la automatizzassi.
.SH Una sessione di prova
Quel che segue presuppone che si usino i file di configurazione
sample.xsession e sample.larswm inclusi nei sorgenti
e nei file RPM. Se si ha installato lo RPM su un sistema RedHat
con GDM come gestore di login (predefinito), tutto quello
che c'è da fare è selezionare la sessione LarsWM dallo
schermo di login per usare larswm con questa configurazione.
Dopo essere entrati, si vedrà un desktop grigio e vuoto. Ai
piedi dello schermo c'è la barra di stato, e nell'angolo
in basso a destra ci sono due piccole finestre (xload e
xbiff) che nella configurazione predefinita sono impostate
come finestre strumento (tool). Cioè, sono visibili in
tutti i desktop virtuali e non dovrebbero essere coperte
da finestre che sono piazzate automaticamente nel
sottodesktop con affiancamento.
.B Lavorare con finestre affiancate
Premere i tasti Shift-Control-Info Questo aprirà una nuova
finestra terminale. Notare che occupa i 2/3 sinistri
dello schermo. Scrivere qualcosa in questa finestra e premere
di nuovo Shift-Control-Invio La prima finestra è spostata
ed incastrata nella sezione destra, mentre il nuovo xterm
occupa la sezione più grande sulla sinistra. Notare che
le due finestre strumento (xload e xbiff) non sono
state ricoperte.
Premere Shift-Control-Invio ancora una volta e si noterà
come le due finestre precedenti si trovino nella sezione destra,
utilizzando ognuna metà dello spazio.
Premere adesso Control-Tasto1 sulla prima finestra che è stata aperta,
dovrebbe essere lo xterm appena sopra le finestre strumento
nella sezione destra. Questo metterà quella finestra nella
sezione sinistra e la precedente finestra della sezione sinistra
in cima alla sezione destra.
Questo è tutto quello di cui si ha bisogno per non allineare
mai più manualmente i propri xterm!
.B Lavorare con finestre non affiancate
Per scopi dimostrativi, possiamo usare xlogo. Normalmente
la window class di xlogo non è impostata per essere affiancata,
quindi sarà aperto nel sottodesktop senza affiancamento,
separato da tutti gli xterm. Nell'xterm con il focus,
digita xlogo e premere Invio. La finestra di xlogo dovrebbe
apparire in mezzo allo schermo sopra la finestra affiancata.
Se si necessita di passare dalle finestre affiancate a quelle non,
si può usare Shift-Control-Backspace.
Premerlo due volte di seguito ed osservare come xlogo venga
prima nascosto dietro le xterm affiancate e quindi riportato
nuovamente di fronte. Se hai più finestre non affiancate
aperte, saranno tutte ridotte e ripristinate insieme.
.B Spostare finestre in aree predefinite
Si possono spostare finestre non affiancate in 9 differenti aree
predefinite sullo schermo con un sol colpo di tasto. Con
la finestra di xlogo selezionata, premere Shift-Control-Tn_6. La
finestra di xlogo dovrebbe attaccarsi al lato destro dello
schermo, a metà altezza, proprio così come il 6 sul tastierino numerico
si trovi piazzato fra i tasti da 1 a 9.
Premere Shift-Control insieme con ogni numero sul tastierino
numerico per vedere le locazioni. Quando si finisce, lasciare la
finestra nel lato destro al centro (Shift-Control-Tn_6).
.B Select zooming
Con la finestra xlogo selezionata ed in una parte dello
schermo, premere Shift-Control-Spazio. Notare come venga
centrata e ridimensionata per rendere più comodo lavorarci.
Quando vengono premuti di nuovo Shift-Control-Spazio, essa è riportata
al suo posto e la sua dimensione precedenti. Questo può essere usato
come alternativa all'affiancamento, se si hanno alcune finestre
che si vuole gestire principalmente da sole, ma per le quali
si vuole un sistema veloce per concentrarsi su una.
.B Usare il mouse per spostare e ridimensionare finestre
Con la finestra di xlogo selezionata ma non ingrandita,
spostare il mouse sopra la barra di stato, in qualsiasi
posizione, e premere Shift-Alt-Tasto1. Il puntatore del mouse
sarà portato nell'angolo in alto a sinistra della finestra
e si potrà portare la finestra a spasso muovendo il mouse.
Per piazzare la finestra, rilasciare il bottone del mouse.
Spostare xlogo da qualche parte vicino l'angolo
in alto a sinistra dello schermo.
Ora, con il mouse nella barra di stato, tenere premuti
Shift-Control-Alt-Tasto1. Il puntatore del mouse verrà
spostato nell'angolo in basso a destra della finestra di
xlogo e spostando il mouse, si sposta la finestra.
Per impostare la dimensione, rilasciare il bottone.
.B Spostare una finestra tra sottodesktop
Assicurarsi che la finestra di xlogo sia selezionata e quindi premere
Shift+Alt+Spazio. xlogo dovrebbe adesso essere affiancato
e selezionato nella sezione sinistra. Se si preme Shift+Alt+Spazio
ancora, tornerà ad essere non affiancato e le altre finestre
affiancate si sposteranno per riempire lo spazio vacante nella
sezione sinistra. Quando una finestra è stata affiancata e
spostata nel sottodesktop non affiancato, gli è data una
dimensione generica ed una posizione che è a metà dell'altezza
e larghezza, oltre ad essere centrata.
.B Lavorare con desktop virtuali
Precedentemente si è usato soltanto il primo desktop.
Il modo per passare da un desktop all'altro è facile.
Shift-Control-Sinistra e Shift-Control-Destra sulla tastiera
porteranno avanti e dietro tra i desktop. Premere
Shift-Control-Destra quattro volte. Notare come l'etichetta
della barra di stato cambia per mostrare quale desktop è
attivo. Normalmente ci sono quattro desktop virtuali per
ogni schermo, cosicché ora si dovrebbe essere ritornati al
primo desktop.
.B Usare la rotella del mouse
Con larswm, la rotella del mouse può essere usata per
un po' d'operazioni. Una delle più comuni è cambiare
desktop virtuale. Questo si può fare spostando il puntatore
nella status bar, oppure su una qualsiasi finestra senza
focus e girare la rotella su e giù. Raccomando di
spostare il puntatore nella barra di stato perché quando
si cambia desktop virtuale una finestra con focus potrebbe
finire sotto il puntatore del mouse e quindi il
successivo girare della rotella potrebbe non
cambiare desktop ma essere inviato a quella finestra.
Si può usare la rotella del mouse anche per spostare
e ridimensionare velocemente le finestre. Con xlogo
selezionato, spostare il puntatore nella barra di stato
e tenere premuti Shift-Alt contemporaneamente al muovere la rotella,
per poter così spostare la finestra sul piano orizzontale.
Se si tengono premuti Shift-Control-Alt si sposterà la
finestra su e giù e con Shift-Control si può ingrandire
e rimpicciolire la finestra.
Se si ha più di una finestra aperta, tenere premuto Shift
mentre si muove la rotella per passare il focus ad ogni
finestra rispettivamente. Per provarlo adesso, passare
al sottodesktop affiancato cliccando su una qualsiasi degli xterm
affiancati, quindi spostare il puntatore del mouse sulla
barra di stato, tenere premuto il tasto shift e muovere
la rotella del mouse.
Tutto ciò non è molto intuitivo, ma molto veloce una volta
che si ha imparato le combinazioni dei tasti Shift, Control
ed Alt per fare queste cose.
.SH Sistema di menu per la barra di stato
La barra di stato è usata per un semplice sistema a menu.
Con il puntatore sulla barra di stato, tenere premuto Control
e cliccare Tasto1 e Tasto3, oppure muovere la rotella
su e giù per scorrere le voci di menu.
Control-Tasto3 seleziona la voce di menu corrente, normalmente
commuta una impostazione di un desktop o di una finestra.
Se invece del Control si tiene premuto il tasto Alt, si può
scorrere la lista delle finestre ridotte ad icona e Alt-Tasto2
ridimensiona la finestra selezionata.
.SH Cose che si possono configurare
Si può modificare moltissimo (ma non tutto!) riguardo al comportamento
di larswm, modificando il proprio file .larswmrc e mettendolo
nella propria home directory.
.B Impostazioni predefinite
Inclusa nei file di distribuzione c'è nè uno chiamato
sample.larswmrc che si può usare come punto di partenza
per una propria configurazione. Quando è installato un RPM,
questo file si trova anche a /etc/X11/larswmrc
.B Lista completa delle parole chiavi per la configurazione
Un'altro modo per ottenere un .larswmrc predefinito è quello
di lanciare larswm con l'opzione -defaults. Questo stamperà tutte le
possibili opzioni con i loro valori predefiniti impostati, tutto
quello che si deve fare è di togliere i commenti e modificare le
righe che si desidera cambiare. Piuttosto che riportarlo qui,
si può creare, nella versione aggiornata, lanciando il comando
larswm -defaults e redirezionarlo ad un file.
.B Risorse indicizzate
Nel sample.larswmrc tutte voci che finiscono in un numero,
sono risorse indicizzate. Il numero deve essere compreso tra
0 e 63 e deve essere unico con ogni tipo di risorsa.
.B Multi-head
Più monitor. Quando si specifica un'opzione che influenza
solamente uno dei desktop virtuali, si può limitare anche
ad uno specifico monitor. Per esempio, larswm.0.0.dtname: Uno
nominerebbe il primo desktop virtuale solamente nel primo
monitor. Per motivi di precedenze si può impostare una
opzione per tutti i desktop in un modo, quindi specifici
desktop in un'altro. I modi per specificare schermi e desktop
sono, in ordine di precedenza:
.I larswm.S.D.resource
Riguarda solo il desktop D sullo schermo S.
.I larswm.S.?.resource
Riguarda tutti i desktop sullo schermo S.
.I larswm.?.D.resource
Riguarda solo il desktop D su tutti gli schermi.
.I larswm.?.?.resource
Riguarda tutti i desktop su ogni schermo.
.I larswm*resource
Un altro modo per specificare tutti i desktop su ogni schermo.
Com'esempio, se si vuole che tutti i desktop, tranne
il primo sul secondo monitor, non ridimensionino finestre che
sono affiancate, bisogna inserire la riga seguente nel proprio .larswmrc:
larswm*tile_resize: false
larswm.1.0.tile_resize: true
C'è bisogno della prima riga perché il comportamento predefinito è
di ridimensionare le finestre.
.SH Riferimenti per mouse e tastiera
Inclusi nei sorgenti e nella distribuzione RPM ci sono due
cartoline di riferimento in formato tbl. Possono essere viste
usando i seguenti comandi:
gtbl keyboard_refcard.ms | groff -TX75
gtbl mouse_refcard.ms | groff -TX75
.SH La barra di stato
La finestra lungo i piedi dello schermo è la barra di stato.
Sulla sinistra c'è il titolo della finestra con il focus e
sulla destra c'è un'area di stato (status area).
.B Contrassegni di modo
Fra l'etichetta del desktop virtuale ed il messaggio definibile
dall'utente (ora e data nell'impostazione predefinita) c'è un
insieme di contrassegni scritti in maiuscolo [TCRSBH]. Essi
indicano quanto segue:
.IB T " Sottodesktop"
T per affiancato (tiled) oppure U per non affiancato (untiled).
.IB C " Clickthru"
Determina se, nel caso in cui si clicchi su una finestra senza focus,
bisognerebbe dargli il focus e far agire il clic nel client
oppure solamente dare il focus e basta. C significa far
agire il clic nel client.
.IB R " Tile Resizing"
Ridimensionamento per l'affiancamento automatico.
Determina se le finestra siano ridimensionate oppure no.
R significa che saranno ridimensionate. Altrimenti, esse
saranno solamente impilate nella sezione destra, ognuna con
visibile l'angolo in alto a sinistra.
.IB S " Skip Focus"
Determina se dando il focus ad una finestra della sezione destra,
questa venga fatta saltare nella sezione sinistra. S significa no, bisogna
premere Control-Tasto1 per farla saltare. Se spento si può
usare Control-Tasto1 per rimanere una finestra al suo posto mentre
prende il focus.
.IB B " Big Move/Resize"
Determina i comandi da tastiera e dalla rotella del mouse,
per spostare e ridimensionare finestre, dovrebbero lavorare
un punto per volta oppure al 5% della larghezza/altezza per volta.
.IB H " Hidden Windows"
Finestre nascoste. Whether any windows are hidden
(iconified) on any screens.
Esiste perché non ci si dimentichi riguardo loro, dal momento che
larswm non ha rappresentazioni visuali di finestre ridotte ad icona.
.B Contrassegni dei modi di finestra
La barra di stato mostra anche la classe e l'istanza della finestra,
nel formato (Classe~Istanza). Appena sulla destra c'è una altro
insieme di contrassegni scritti in minuscolo [ntfs] che significano:
.IB n " Notile"
Non affiancato. La finestra appartiene al sottodesktop non affiancato.
.IB f " Floating"
Fluttuante. La finestra rimane sempre sopra le altre che non lo sono.
.IB t " Tool"
Strumento. Le altre finestre vengono affiancate ad essa, non sopra.
.IB s " Sticky"
Appiccicata. La finestra è visibile su tutti i desktop virtuali.
.B Messaggi definibili dall'utente
Volendo, è possibile mettere qualsiasi messaggi si desideri
nell'estrema parte destra della barra di stato. Questo può
essere usato per cose come orologi, allarmi di posta, stock ticker,
eccetera. Incluso nella distribuzione c'è un piccolo esempio
d'orologio chiamato larsclock. Viene fatto partire dallo script
di sessione predefinito.
Se non si lancia larsclock si può impostare il messaggio
da un qualsiasi script di shell con il comando larsremote message TEXT,
che dovrebbe mostrare TEXT nella barra di stato.
Guarda il file sample.barclock per un esempio a riguardo.
.SH Tipi di finestra
Segue una descrizione più dettagliata dei differenti modi
che larswm può associare ad una finestra.
.B Finestre temporanee
Finestre che hanno la proprietà WM_TRANSIENT_FOR impostata
non vengono affiancate. Quando una finestra temporanea prende il
focus, larswm la farà rimanere davanti e con il focus.
Se si da il focus ad una finestra principale differente mentre
quelle temporanee sono disegnate, queste saranno lasciate
da sole, al di sotto delle altre finestre e non saranno
ripristinate fino a che non si darà il focus alla loro
finestra principale.
Per dare il focus alla finestra principale senza che
una delle sue temporanee prenda il focus automaticamente,
usare Control-Tasto1.
Quando una finestra temporanea viene all'inizio disegnata,
rimarrà sempre visibile, indipendentemente da quale desktop
si stia vedendo.
La finestra temporanea verrà assegnata al desktop dove la
finestra padre (parent window), sebbene, al momento di cambiare desktop,
essa verrà mostrata solamente sul desktop virtuale dove
risiede la finestra padre.
.B Finestre non affiancate
Ogni finestra non affiancata è assegnata al sottodesktop
senza affiancamento. Queste finestre sono completamente separate
dal sottodesktop con affiancamento. Il sottodesktop senza
affiancamento funziona più o meno come un window manager
tradizionale ma aggiunge un po' di scorciatoie con la
tastiera per muovere finestre in differenti parti dello
schermo o per fare lo zoom in entrambe le dimensioni.
larswm non affiancherà una finestra, a meno che la sua
classe/istanza non venga trovata nella lista larswm.dotileclass.
Per passare da un proprio desktop con affiancamento ad
uno senza, si usa una scorciatoia con la tastiera che
normalmente consiste in Shift-Control-BackSpace.
Quando una finestra è assegnata per la prima volta
al sottodesktop senza affiancamento,
questa viene centrata sullo schermo, a meno che essa abbia
la sua posizione registrata negli hints, nel qual caso
viene usata quella posizione invece di essere centrata.
.B Finestre flottanti
Le finestre flottanti (floating) rimangono sempre davanti
a quelle non-flottanti, indipendentemente da quale sottodesktop
è attivo. Questo può essere usato per piccole finestre, come
xcalc, che uno vuole sempre siano accessibili. Se clickthru
è attivo, i clic verranno girati alla finestra flottante
indipendentemente da quale sottodesktop era attivo prima del clic.
.B Sticky windows
Finestre appiccicate. Le finestre sticky sono finestre che
corrispondono alla classe e istanza di una voce della
lista larswm.stickyclass. Esse sono sempre visibili indipendentemente
da quale desktop ci si trovi.
.B Tools
Strumenti. Sono finestre che si vuole avere sempre visibili. Esempi
di strumenti sono xclock, xload ed altre piccole finestre
informative. Quando una finestra sarà stata identificata come
finestra strumento, verrà assegnata al desktop non affiancato,
sarà di tipo sticky e le finestre non affiancate non la copriranno.
Inoltre, se clickthru è attivo, qualsiasi clic sulla finestra strumento
sarà inoltrato al client, indipendentemente dal sottodesktop attivo
prima del clic.
.SH Note tecniche
Un po' più di dettagli su come larswm fa le cose.
.B Affiancamento automatico
Ogni qualvolta una finestra viene tracciata o tolta,
oppure (se skip_focus è spento) si da il focus ad una nuova
finestra nel sottodesktop non affiancato cliccandoci sopra,
accade quanto segue:
1. Viene calcolata la larghezza delle due sezioni. Questo è
predefinito così che la sinistra usi 2/3 della larghezza dello
schermo ma può essere configurato nel file .larswmrc.
2. Vengono calcolate quante finestre dovrebbero esserci
in ogni sezione, una in quella sinistra ed il resto in quella destra.
3. L'altezza d'ogni finestra, in ogni rispettiva sezione, viene calcolata.
4. Si scorre la lista di tutte le finestre e le piazza
nei posti designati.
5. Le finestre temporanee della finestra corrente sono
messe ricorsivamente davanti così che non si perderà più
una dialog box sotto la propria finestra principale.
6. Alla fine di tutto, ritorna il controllo alla gestione degli eventi.
Questo è molto carino.
Quando si clicca su una finestra inattiva nella sezione destra, essa
verrà spostata nella sezione sinistra e la finestra che era lì verrà
appoggiata in altro nella sezione destra. Per cui la sezione destra
conterrà le finestre nell'ordine in cui erano nella sezione di
sinistra, iniziando dalla più recente.
.B Associare finestre con un desktop virtuale
Si possono associare certe classi/istanze di finestra ad
un certo numero di un desktop virtuali aggiungendo risorse
al proprio .larswmrc.
Un esempio di come associare tutte le finestre di Netscape
con il secondo desktop virtuale:
larswm.dtclass.0: Netscape
larswm.dtnum.0: 1
Quando viene aperta una qualsiasi finestra di Netscape, larswm
cambierà prima al desktop specificato e quindi traccerà la
finestra.
.B Finestre nascoste
larswm riduce ad icona le finestre nascondendole.
Per svelare una finestra nascosta bisogna prima trovare
la sua etichetta usando la barra di stato. Si prega di
leggere la sezione riguardo l'uso dei menu nella barra di
stato per informazioni su come funziona.
Si può spostare una finestra tra desktop nascondendola,
cambiando desktop ed infine svelando la finestra.
Non si possono spostare finestre tra schermi in questo modo
perché X11 non lo supporta.
Il miglior modo per usare nascondere le finestre è attraverso
le scorciatoie di tastiera. Si può nascondere la finestra con
focus e svelare l'ultima finestra nascosta senza usare per niente
il mouse. Questo rende un metodo veloce per spostare una finestra
da un desktop virtuale ad un altro.
.B Gestione del focus
Per cambiare il focus ad una finestra, bisogna solamente
cliccare col tasto sinistro, e se skip_focus è spento quella
finestra andrà nella sezione sinistra e quella che era lì verrà
posta in cima alla sezione destra.
Se si è impostato di mettere automaticamente le finestre con il focus
nella sezione sinistra, si potrebbe aver bisogno
di scrivere qualcosa in una delle finestre affiancate
senza reimpostare tutte le finestre, e per fare ciò si usa
Control-Tasto1 su una finestra. Il focus cambierà,
ma tutte le finestre rimarranno dove sono. Questo previene
anche il fatto che le finestre temporanee possedute dall'applicazione,
vengano portate avanti e prendano il focus.
Se si ha questo nella modalità predefinita, quando si seleziona
una nuova finestra, che per avere il focus non debba essere spostata
nella sezione sinistra, si usa Control-Tasto1.
.B Clickthru
Quando si clicca su una finestra per dargli il focus, quel clic
viene anche passato al client. Questo rende più facile lavorare
con un'applicazione a più finestre. Si può disattivare
questa cosa, in tal caso il clic usato per dare il
focus ad una finestra non verrà mai passato all'applicazione.
.B Multi-Head
Quando una finestra viene tracciata sullo schermo, per una
qualsiasi ragione, ad essa viene normalmente dato il focus.
Ma se arriva l'evento MapRequest su uno schermo differente
da quello su cui si sta lavorando, le cose si confondono.
Ho risolto questo aggiungendo le seguenti regole su come
il focus è assegnato quando le finestre vengono aperte
è chiuse:
1. Se la finestra con il focus è sullo stesso
schermo, allora la nuova finestra prenderà il focus.
2. Se la finestra con il focus è su uno schermo differente,
la nuova finestra prenderà il focus solo se il
puntatore del mouse è sullo stesso schermo dell'altra.
3. Se nessuna finestra ha il focus, una nuova finestra
tracciata prenderà il focus solo se il puntatore del mouse
è sullo stesso schermo della nuova finestra.
4. Se la finestra col focus si chiude, il focus torna ad
un'altra finestra, normalmente quella che aveva il focus
prima che l'altra venisse chiusa. Il focus verrà ritornato
solo se il puntatore del mouse è sullo stesso schermo
della finestra appena chiusa.
Spero che queste regole aiuteranno ad eliminare molti di quei casi
in cui la pressione dei tasti porta ad una finestra che non si
desiderava.
.B Atomi
I seguenti atomi sono creati e monitorati da larswm
e possono essere usati in strumenti di terze parti:
.I LARSWM_EXIT
Chiude larswm.
.I LARSWM_RESTART
Fa ripartire larswm, ricaricando il file .larswmrc.
.I LARSWM_BARTEXT
Quando questo viene aggiornato, il contenuto di
quest'atomo è mostrato come testo nella barra di stato fino a quando
l'atomo non viene nuovamente aggiornato. Vedere larsclock per
un esempio su come usarlo.
.SH Compatibilità
.B Finestre terminali
Le finestre di xterm potrebbero apparire non correttamente
ridisegnata ma in realtà no. Dipende dal programma che gira
nella finestra determinare i cambiamenti della dimensione
della finestra e ridisegnare sullo schermo quando necessario.
Un modo di risolvere è quello di far girare screen all'interno
di xterm perché gestisce correttamente il ridimensionamento e
il ridisegno.
.B Hint per le dimensioni
Gli hint PResizeInc e PMaxSie sono gestiti.
PMinSize no, perché potrebbe avere problemi
inserendo tutte le finestre durante il loro affiacamento.
.B Ridimensionare le finestre
Per finestre che non funzionano bene nell'essere ridimensionate,
si può specificare il ridimensionamento automatico su particolari
desktop, rendendo le finestre nella sezione destra accavallate una
sopra l'altra. Questo può essere anche usato per finestra che
si ridimensionano lentamente, come Netscape, per poter
velocizzare notevolmente le cose.
.B Display Multi-Head
Lavora bene con display multi-head (a più monitor).
Uno dei miei sistemi di sviluppo è una Sun Ultra2
dual-head (cioè con due monitor, Ndt), cosicché questa
funzionalità è stata testata abbastanza. Funziona
in maniera prevedibile quando si cambia il focus
tra schermi, spostarsi tra desktop, eccetera.
.B Applicazioni GTK
Alcune applicazioni GTK non impostano correttamente
WM_TRANSIENT_FOR nelle loro finestre di dialogo ed a volte
hanno una classe differente in queste sottofinestre,
rendendo le cose confuse. Il miglior approccio con questo
tipo di problemi è di specificare entrambi le classi ed
istanze per le finestre principali che si desiderano
affiancate.
.B Conformità agli standard
Al momento non c'è compatibilità per
GNOME/KDE/Motif/altro. Rispetta ICCCM il meglio possibile
fornendo allo stesso tempo tutte le funzionalità
automatiche che può.
.SH LICENZA
Ringraziamenti vanno a David Hogan per aver scritto 9wm ed
averlo rilasciato con una licenza tale che ho potuto
usarlo come base per costruirci larswm sopra.
Segue la licenza originale di 9wm:
---
9wm is free software, and is Copyright (c) 1994-1996 by David Hogan.
Permission is granted to all sentient beings to use this software,
to make copies of it, and to distribute those copies, provided that:
(1) the copyright and licence notices are left intact
(2) the recipients are aware that it is free software
(3) any unapproved changes in functionality are either
(i) only distributed as patches
or (ii) distributed as a new program which is not called 9wm
and whose documentation gives credit where it is due
(4) the author is not held responsible for any defects
or shortcomings in the software, or damages caused by it.
There is no warranty for this software. Have a nice day.
(Segue traduzione in italiano a titolo puramente informativo N.d.T)
9wm è software libero ed è Copyright (c) 1994-1995 di David Hogan.
È permesso a tutti i senzienti l'uso di questo software, di farne
copie e distribuire queste cose a patto che:
(1) il copyright e le note di licenza rimangano intatte
(2) i recapitati siano consapevoli che si tratta di software libero
(3) verranno fatte modifiche senza avvertimento nei modi:
(i) distribuite solo come patch
oppure (ii) distribuite come un nuovo programma che non sia chiamato
9wm e la cui documentazione fornisce credito dove necessario
(4) l'autore non è ritenuto responsabile per difetti o imperfezioni
del software o danni causati dallo stesso.
Non c'è garanzia per questo software. Buona giornata.
---
Si prega di considerare il mio codice accompagnato dallo stesso tipo
di licenza di 9wm, inserendo appropriatamente il mio nome.
.SH VEDERE ANCHE
larsremote(1), larsclock(1)
.SH AUTORI
.I larswm
è stato creato da Lars Bernhardsson <lab@fnurt.net> basandosi su
.I 9wm
di David Hogan.
-------- FINE DI it/larswm.man
-------- INIZIO DI en/mouse_refcard.ms
.TS
allbox;
c s s s s s
c s s s s s
c c c c c c
l l l l l l.
larswm Mouse Reference (Button4 = wheel up, Button5 = wheel down)
Clicks on the Status Bar
Modifier Button1 Button2 Button3 Button4 Button5
None Prev Desktop Subdesktop Next Desktop Prev Desktop Next Desktop
Shift Prev Window Next Window
Control Prev Menu Select Menu Next Menu Prev Menu Next Menu
Alt Prev Hidden Hide/Unhide Next Hidden Prev Hidden Next Hidden
Shift-Control Shrink Select Zoom Grow Grow Shrink
Shift-Alt Move Window Move Up Move Down
Shift-Control-Alt Resize Window Lower Window Zoom Window Move Left Move Right
.T&
c s s s s s
c c c c c c
l l l l l l.
Clicks on Unfocused Windows
Modifier Button1 Button2 Button3 Button4 Button5
None Focus
Control (tiled) Focus and Raise
.TE
-------- FINE DI en/mouse_refcard.ms
-------- INIZIO DI it/mouse_refcard.ms
.TS
allbox;
c s s s s s
c s s s s s
c c c c c c
l l l l l l.
Riferimenti al mouse per larswm (Tasto4 = ruotare sù, Tasto5 = ruotare giù)
Clic sulla barra di stato
Modificatore Tasto1 Tasto2 Tasto3 Tasto4 Tasto5
Nessuno Desktop prec. Sottodesktop Desktop succ. Desktop prec. Desktop succ.
Shift Prev Window Next Window
Control Menù prec. Seleziona Menù Menù succ. Menù prec. Menù succ.
Alt Nascosta prec. Nascondi/Svela Nascosta succ. Nascosta prec. Nascosta succ.
Shift-Control Rimpicciolisce Select Zoom Ingrandisce Ingrandisce Rimpicciolisce
Shift-Alt Sposta Finestra Sposta Sù Sposta giù
Shift-Control-Alt Ridimensiona F. Iconizza F. Zoom F. A Sinistra A Destra
.T&
c s s s s s
c c c c c c
l l l l l l.
Clic su finestra senza focus
Modificatore Tasto1 Tasto2 Tasto3 Tasto4 Tasto5
Nessuno Focus
Control (affiancato) Dà Focus ed Alza
.TE
-------- FINE DI it/mouse_refcard.ms
-------- INIZIO DI en/README
********************************
* larswm - Lars Window Manager *
********************************
Introduction:
This is not really a completely new window manager, but rather a
heavily modified version of David Hogan's 9wm.
Please see file README.9wm for David's original license.
In following his licensing terms, I release this under
a different name than 9wm.
This is actually alot more larswm than 9wm nowadays.
I started with pre-9wm-1.2, which consisted of 2901 lines of
code. larswm is now 6416 lines of code. Alot of 9wm code has
been reimplemented to better fit with the design of larswm,
and of the 9wm code still there, most of it have been modified
in some way or another.
Where can I find new versions? Where can I find more documentation?
http://www.fnurt.net/larswm
Also look at the files mouse_refcard.ms and keyboard_refcard.ms
which contain tables of useful information.
They are in troff/tbl format, and to view them if you have groff
installed, type:
gtbl keyboard_refcard.ms | groff -TX75
gtbl mouse_refcard.ms | groff -TX75
How do I compile and install it?
xmkmf -a
make install install.man
Compiling with gcc under Solaris:
I don't have Sun C installed, only gcc. In order to make the Imakefile
work with the standard X11 installation in /usr/openwin, I had to add
a few lines at the top of the Imakefile.
If you're having trouble compiling on Solaris, try editing/removing those.
ChangeLog:
Please see the file ChangeLog in the source distribution
for a list of changes since version 1.0.
##########################################################################
##########################################################################
Known problems:
When opening xterms they sometimes think they are 80x24 even though
they have been tiled to some other size.
Workaround: Put this line in your .bashrc or .cshrc
eval `resize`
##########################################################################
##########################################################################
Other issues:
1. Keyboard shortcuts don't work when any of the locked modifiers are active.
That is, if you configure a shortcut as Control-Alt-x, then it will
not work if ShiftLock, NumLock or ScrollLock is on.
Workaround: If you most of the time have NumLock on, you can
configure all your keyboard shortcuts to include
the Mod2 modifer. That is, if you want to use
Alt-Tab to go to previous window, instead of
larswm.prev_window_key: Tab
larswm.prev_window_mod: Alt
change the last line to read
larswm.prev_window_mod: Mod2+Alt
Now it won't work when NumLock is off, so only
do this if NumLock is on most of the time.
The names for the modifers you might want to do
this for are:
Key Symbol
-------------------------
CapsLock ShiftLock
NumLock Mod2
ScrollLock Mod5
Command line options:
-display display Open a different display than the default.
-f file Load file instead of $HOME/.larswmrc
-defaults Print a properly formatted larswmrc to stdout.
-v Show version info and exit.
Mouse and keyboard commands:
Please see the included mouse_reference.ms and keyboard_reference.ms
files for a complete list of all larswm commands.
SUN KEYBOARD SPECIFICS:
To make the KP_ bindings work on a Sun keyboard, I use this xmodmap file:
---BEGIN---
keycode 75 = KP_Home
keycode 76 = KP_Up
keycode 77 = KP_Prior
keycode 98 = KP_Left
keycode 99 = KP_Begin
keycode 100 = KP_Right
keycode 119 = KP_End
keycode 120 = KP_Down
keycode 121 = KP_Next
---END---
Just put this in a file somewhere, and load it from
your .xsession BEFORE starting larswm:
---BEGIN---
xmodmap /path/to/file
exec larswm
---END---
If you are using another type of keyboard, and the keypad doesn't
seem to work, use 'xev' to find the keycodes for each key, and then
remap them in a similar way.
Configuration file:
For more in depth description, check the documentation that can be
found on the larswm home page.
You can generate a complete .larswmrc file with all the defaults
filled in by doing the following:
cd
larswm -defaults > .larswmrc
Just remember to uncomment any line you modify. :)
Also included with the source tarball (and in the RPM) is my
own config in the file sample.larswmrc, it shows how you
can set up tiling for a few apps with not too much config
file editing.
Status bar info:
The file sample.barclock is a small example, suitable for a
laptop that is not connected to the net. It shows date and time
and battery status on the status bar. larsclock is yet another
sample clock, this one written in C, making use of the X11 ipc
functions directly (no fork()/exec() of larsremote to send
messages).
The file sample.xsession shows how you can start this program when
you login, and have it killed when you logout.
New source files:
tiling.c - contains all the logic for positioning windows
and alot of other things I have added to 9wm.
prefs.c - contains the preferences handling code.
It uses Xrm to read resource files.
keys.c - Keyboard shortcuts.
bar.c - Status bar at the bottom of the screen.
buttons.c - This is my replacement for menu.c
mouse.c - This is my replacement for grab.c
larsremote.c - External program that you use to display
messages on the status bar, and to tell larswm
to exit or restart.
larsclock.c - Very simple example of how to write a status bar
clock application that works without calling an
external program every second to update the
message.
Licensing:
Please see the file README.9wm for David Hogan's original 9wm license.
The same type of license applies to larswm.
---
Lars Bernhardsson
lab@fnurt.net
-------- FINE DI en/README
-------- INIZIO DI it/README
********************************
* larswm - Lars Window Manager *
********************************
Introduzione:
Questo non è veramente un nuovo window manager ma piuttosto una
versione pesantemente modificata di 9wm di David Hogan.
Si prega di leggere il file README.9wm per la licenza originale
di David. Nel rispetto dei termini della sua licenza, rilascio
sotto un differente che 9wm.
Questo è attualmente molto più larswm che 9wm al giorno d'oggi.
Sono partito con pre-9wm-1.2, il quale consiste di 2901 linee di
codice. larswm ha adesso 6416 righe di codice. Molto del codice
di 9wm è stato reimplementato per migliorare le richieste di
design di larswm e molto del codice di 9wm rimane lì, molto del
quale è stato modificato in qualche altra maniera.
Dove posso trovare nuove versioni? Dopo posso trovare più documentazione?
http://www.fnurt.net/larswm
Guarda anche i file mouse_refcard.ms e keyboard_refcard.ms
che contengono tabelle di informazioni utili.
Questi sono in formato troff/tbl e puoi vederli se hai installato
groff, digitando:
gtbl keyboard_refcard.ms | groff -TX75
gtbl mouse_refcard.ms | groff -TX75
Come posso compilarlo ed installarlo?
xmkmf -a
make install install.man
Compilare con gcc sotto Solaris:
Non ho Sun C installato, solo gcc. Per far funzionare l'Imakefile con
l'installazione predefinita di X11 in /usr/openwin ho dovuto aggiungere
un po' di linee in cima all'Imakefile.
Se si hanno problemi a compilare su Solaris, provare ad modificarle/
rimuoverle.
ChangeLog:
Si prega di vere il file Changelog nella distribuzione dei sorgenti
per un elenco dei cambiamenti fin dalla versione 1.0.
##########################################################################
##########################################################################
Problemi noti:
Quando si aprono gli xterm, questi qualche volta pensano siano 80x24
anche se sono stati affiancati con altre dimensioni.
Soluzione: mettere questa riga nel proprio .bashrc o .cshrc
eval `resize`
##########################################################################
##########################################################################
Other issues:
1. Le scorciatoie da tastiera non lavorano quando uno qualsiasi dei modificatori
è attivo. Questo vuol dire che se si configura una scorciatoia come
Control-Alt-x, allora questa non funziona se ShiftLock, NumLock o ScrollLock
è attivo.
Workaround: Se il più delle volte si ha NumLock acceso, si
possono configurare tutte le scorciatoie per
includere il modificatore Mod2. Cioé, si si vuole
usare Alt-Tab per andare alla finestra precedenti,
invece di
larswm.prev_window_key: Tab
larswm.prev_window_mod: Alt
cambiare l'ultima riga in
larswm.prev_window_mod: Mod2+Alt
Adesso non funzionerà con NumLock è spento, quindi
fare questo solamente se NumLock è accesso il più
delle volte.
I nomi dei modificatori per i quali vorresti fare
ciò sono:
Tasto Simbolo
-------------------------
CapsLock ShiftLock
NumLock Mod2
ScrollLock Mod5
Opzioni a riga di comando:
-display display Apre un display differente da quello predefinito.
-f file Carica «file» invece di $HOME/.larswmrc
-defaults Stampa un larswmrc propriamente formattato sullo stdout.
-v Mostra le informazioni sulla versione ed esce.
Comandi da mouse e tastiera:
Si prega di leggere i file inclusi mouse_reference.ms e keyboard_reference.ms
per una lista completa di tutti i comand di larswm.
PARTICOLARITÀ TASTIERE SUN:
Per far funzionare i collegamenti KP_ (tastierino numerico NdT)
con una tastiera Sun, io uso questo file xmodmap:
---INIZIO---
keycode 75 = KP_Home
keycode 76 = KP_Up
keycode 77 = KP_Prior
keycode 98 = KP_Left
keycode 99 = KP_Begin
keycode 100 = KP_Right
keycode 119 = KP_End
keycode 120 = KP_Down
keycode 121 = KP_Next
---FINE---
Mettere questo in un file da qualche parte e caricarlo dal proprio
.xsession PRIMA di lanciare larswm:
---INIZIO---
xmodmap /percorso/al/file
exec larswm
---FINE---
Se si sta usando un altro tipo di tastiera ed il tastierino numerico
non sembra funzionare, usare "xev" per trovare i codici dei tasti per
ogni tasto e quindi assegnarli.
File di configurazione:
Per una descrizione approfondita, vedere la documentazione reperibile
presso la home page di larswm.
Si può generare un file .larswmrc completo con tutti i valori predefiniti
compilati eseguendo quanto segue:
cd
larswm -defaults > .larswmrc
Ricordarsi di togliere i commenti alle line che si vorranno modificare. :)
Inclusa nel pacchetto sorgente (e nello RPM) la mia propria
configurazione nel file sample.larswmrc che mostra come si possa
impostare l'affiancamento automatico per un po' di applicazioni
senza editare troppo il file di configurazione.
Status bar info:
Informazioni sulla barra di stato:
Il file sample.barclock è un piccolo esempio, applicabile per un
portatile non connesso alla rete. Mostra ora e data e stato delle
batterie sulla barra di stato. larsclock è un altro semplice
orologio, stavola scritto in C, che fa uso delle funzioni ipc di
X11 direttamente (nessuna fork()/exec() a larsremote per
inviare messaggi).
Il file sample.xsession mostra come si può far partire questo
programma in fase di login ed ucciderlo in fase di logout.
New source files:
Nuovi file sorgenti:
tiling.c - contiene tuttla la logica per positionare le
le finestre ed un sacco di altre cose ho aggiunto
a 9wm.
prefs.c - contiente il codice per gestire le preferenze.
Usa Xrm per leggere file di risorse.
keys.c - Tasti scorciatoia.
bar.c - La barra di stato ai piedi dello schermo.
buttons.c - Questo è il mio rimpiazzo per menu.c
mouse.c - Questo è il mio rimpiazzo per grab.c
larsremote.c - Programma esterno che si usa per mostrare
messaggi sulla barra di stato e dire a larswm
di terminare o ripartire.
larsclock.c - Esempio molto semplice di come scrivere una
applicazione orologio per la barra di stato che
funziona senza chiamare un programma esterno ogni
secondo per aggiornare il messaggio.
Licenza:
Si prega di leggere il file README.9wm per la licenza originale di
David Hogan per 9wm [1]
Lo stesso tipo di licenza si applica a larswm.
---
Lars Bernhardsson
lab@fnurt.net
[1] Per la traduzione italiana, a scopo puramente informativo, vedere
la pagina man di larswm(1) NdT.
-------- FINE DI it/README
-------- INIZIO DI en/larsclock.man
.TH larsclock 1
.SH NAME
larsclock \- Status bar clock for larswm
.SH SYNOPSIS
.B larsclock
[
.B \-display
.I dpy
]
.SH DESCRIPTION
.I larsclock
is a minimal status bar clock application for the larswm window manager.
.SH OPTIONS
The following command line options are supported:
.TP 18
.BI \-display " dpy"
lets you specify which display you want
.I larsclock
to open.
.SH SEE ALSO
larswm(1), larsremote(1)
.SH AUTHORS
.I larsclock
was created by Lars Bernhardsson <lab@fnurt.net>.
-------- FINE DI en/larsclock.man
-------- INIZIO DI it/larsclock.man
.TH larsclock 1
.SH NOME
larsclock \- Orologio per la barra di stato di larswm
.SH SINTASSI
.B larsclock
[
.B \-display
.I dpy
]
.SH DESCRIZIONE
.I larsclock
è una applicazione orologio minimale per la barra di stato del window
manager larswm.
.SH OPZIONI
Sono supportate le seguenti opzioni da riga di comando:
.TP 18
.BI \-display " dpy"
permette di specificare quale display si vuol far aprire a
.I larsclock
.
.SH VEDERE ANCHE
larswm(1), larsremote(1)
.SH AUTORI
.I larsclock
è stato creato da Lars Bernhardsson <lab@fnurt.net>.
-------- FINE DI it/larsclock.man
-------- INIZIO DI en/larsremote.man
.TH larsremote 1
.SH NAME
larsremote \- Command line control for larswm
.SH SYNOPSIS
.B larsremote
[
.B \-display
.I dpy
]
.B message
.I text
.B | exit | restart
.SH DESCRIPTION
.I larsremote
lets you control the larswm window manager from the command line.
.SH OPTIONS
The following command line options are supported:
.TP 18
.BI \-display " dpy"
lets you specify which display you want to open.
.TP 18
.BI message " text"
Sends text to the running
.I larswm
to be displayed on the status bar.
.TP 18
.B exit
tells the running
.I larswm
to exit gracefully. This is the normal way to log out if your session hangs on the window manager.
.TP 18
.B restart
tells the running
.I larswm
to restart. Use this if you have updated your preferences file and want the new preferences to take effect without first logging out.
.SH SEE ALSO
larswm(1), larsclock(1)
.SH AUTHORS
.I larsremote
was created by Lars Bernhardsson <lab@fnurt.net>.
-------- FINE DI en/larsremote.man
-------- INIZIO DI it/larsremote.man
.TH larsremote 1
.SH NOME
larsremote \- Controllo a riga di comando per larswm
.SH SINTASSI
.B larsremote
[
.B \-display
.I dpy
]
.B message
.I testo
.B | exit | restart
.SH DESCRIZIONE
.I larsremote
permette di controllare il window manager larswm dalla riga di comando.
.SH OPZIONI
Sono supportate seguenti opzioni a riga di comando:
.TP 18
.BI \-display " dpy"
permette di specificare quale display si vuole aprire.
.TP 18
.BI message " testo"
Invia testo al
.I larswm
attivo per essere mostrato nella barra di stato.
.TP 18
.B exit
dice al
.I larswm
attivo di terminare ordinatamente. Questo è il modo normale di uscire se
la propria sessione si blocca sul window manager.
.B restart
dice al
.I larswm
attivo di ripartire. Usare nel caso si abbia aggiornato il proprio file di
preferenze e si desidera queste prefenze abbiano effetto senza prima
uscire.
.SH VEDERE ANCHE
larswm(1), larsclock(1)
.SH AUTORI
.I larsremote
è stato creato da Lars Bernhardsson <lab@fnurt.net>.
-------- FINE DI it/larsremote.man