aboutsummaryrefslogtreecommitdiff
path: root/README.rest.txt
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2009-08-13 21:37:24 +0200
committerdakkar <dakkar@thenautilus.net>2009-08-13 21:37:24 +0200
commit3e90bbfaec0953f2ef74fa2827ac41678ee11dee (patch)
tree250eeabe93487d458172f3c61a08d646c021e2fc /README.rest.txt
downloadfvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.tar.gz
fvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.tar.bz2
fvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.zip
importing Crystal config into git
Diffstat (limited to 'README.rest.txt')
-rw-r--r--README.rest.txt186
1 files changed, 186 insertions, 0 deletions
diff --git a/README.rest.txt b/README.rest.txt
new file mode 100644
index 0000000..3bf56e6
--- /dev/null
+++ b/README.rest.txt
@@ -0,0 +1,186 @@
+.. -*- mode: rst; coding: utf-8 -*-
+
+====================================
+ Dakkar's ``fvwm-crystal`` settings
+====================================
+
+I use a 2800x1050 desktop (two 20" LCD panels on a GeForce 6600), with
+a `slightly modified version`_ of the `TopLine` recipe. I also use a 5x5
+pages virtual desktop, and a Dvorak keyboard with valume keys (mapped
+to the proper keycodes in X11). My music player is `AmaroK`, and my
+desktop manager is `ROX`.
+
+.. _`slightly modified version`: recipes/TopLine
+
+Since my monitors can "pivot", I have further modified the recipe to
+handle rotating the displays. This needs help from the video card. See
+the section `Rotating the displays`_.
+
+The recipe
+==========
+
+The main differences from the stock `TopLine` are:
+
+- different desktop bindings
+- larger thumbnails
+- different behaviour of the edges
+- 2 identical pagers (one per physical screen)
+- geometries rewritten to use ``@g`` to work with `Xinerama`
+- each pager (and my "biff" terminal) is raised above all other
+ windows if I keep the mouse pointer on it long enough
+- some functions added to handle `rotating the displays`_
+
+The decoration
+==============
+
+I have changed the `Clearlooks DeepSky` decoration_ to add a mini-icon
+as button 3.
+
+.. _decoration: decorations/Dakkar/
+
+The colorsets
+=============
+
+Since I use tha `Gentoo` version of ``fvwm2``, it has a patch that
+allow fake transparency in the menus. Thus, I changed the
+`DarkDesktop` and `WhiteDesktop` colorsets_ to use this feature.
+
+.. _colorsets: colorsets/
+
+The bindings
+============
+
+I redefined most keyboard bindings to my taste. Of particular interest
+may be the Music_ file, where I bind the volume controls to the volume
+keycodes, and the ``Music-GUI`` function to the "eject" keycode. I
+also bound most window manipulation functions to various combination
+of ``Alt`` and the numeric keypad (see the `Window-Control-Dakkar`_
+file)
+
+.. _Music: components/bindings/Music
+.. _Window-Control-Dakkar: components/bindings/Window-Control-Dakkar
+
+The preferences
+===============
+
+To be able to select `AmaroK` as a music player, and `amixer` as a
+mixer control, I created the `dakkar_Preferences`_ file, which adds
+them to the appropriate menus.
+
+.. _`dakkar_Preferences`: components/desktop/dakkar_Preferences
+
+The styles and icons
+====================
+
+I added some style declaration and icons for some applications
+(e.g. the windows created by ``xine-ui`` and ``xpad`` should be bare,
+and I added icons for ``xchat-2`` and ``skype``)
+
+The functions
+=============
+
+I redefined a couple of function in the Numpad_ to add the
+``AnyScreen`` option.
+
+.. _Numpad: components/functions/Numpad
+
+Then I wrote the `Mixer-amixer`_ and `Music-amarok`_ files to interact
+with by chosen music programs.
+
+.. _`Mixer-amixer`: components/functions/Mixer-amixer
+.. _`Music-amarok`: components/functions/Music-amarok
+
+``amixer`` is a simple command-line mixer, and its integration was
+easy.
+
+`AmaroK` is a `KDE` application, and it's not straightforward to
+control. At the moment only "random", "repeat", "stop", "play/pause"
+and "show/hide" are implemented, all via ``dcop`` calls.
+
+The ``Music-GUI`` function is used to toggle the display of
+`AmaroK`, and also to start it: it the ``dcop`` calls fails, the
+``amarok`` command gets executed, launching the program.
+
+.. note:: `AmaroK` and `Trayer`
+
+ For some not-really-clear-to-me reason, the tray icon of `AmaroK`
+ is not displayed by `Trayer`, normally. To work around this
+ problem, I have written the small ``amarok`` script, which sits in
+ my ``~/bin`` directory (which is at the beginning of my
+ ``$PATH``). Using this, the icon works as expected.
+
+I also tweaked a Perl script I found on the Web to create a menu for
+my ``screen`` sessions, see the `Screen-Menu`_ configuration file and
+the `fvwm-screen.pl`_ script.
+
+.. _`Screen-Menu`: components/functions/Screen-Menu
+.. _`fvwm-screen.pl`: scripts/fvwm-screen.pl
+
+Finally, in the `Notify`_ file, I redefined the ``UrgencyFunc`` to pop
+up a notification via the dbus notification mechanism (using a `simple
+Perl script`_ which uses `Net::DBus`_).
+
+.. _Notify: components/functions/Notify
+.. _`simple Perl script`: FvwmNotify.pm
+.. _`Net::DBus`: http://search.cpan.org/~danberr/Net-DBus-0.33.5/
+
+Rotating the displays
+=====================
+
+This takes a little background.
+
+First of all, my ``/etc/X11/xorg.conf`` file has a ``Screen`` section
+like this::
+
+ Section "Screen"
+ Identifier "dual-nv"
+ Device "nvidia"
+ Monitor "LCD"
+ DefaultDepth 24
+ Option "TwinView" "true"
+ Option "MetaModes" "DFP-0: 1400x1050 @1400x1050 +0+0, DFP-1: 1400x1050 @1400x1050 +1400+0"
+ Option "RandRRotation" "on"
+ Option "Xinerama" "on"
+
+ SubSection "Display"
+ ViewPort 0 0
+ Depth 24
+ Modes "1400x1050"
+ EndSubSection
+ EndSection
+
+This specifies that, normally, I use my displays horizontally, one to
+the right of the other.
+
+Then, in my `~/.xinirc`_, I add a second "MetaMode"::
+
+ ./bin/nv-control-dpy --add-metamode \
+ 'DFP-0: 1400x1050 @1400x1050 +0+1050, DFP-1: 1400x1050 @1400x1050 +0+0'
+
+The ``nv-control-dpy`` program can be found in the source tarball for
+the ``nvidia-settings`` program, in the ``samples`` subdirectory.
+
+You may be wondering: why adding a second MetaMode in this way, when
+you can specify both in the ``xorg.conf`` file? Good question. The
+answer is that, if you do it "the logical way", the always helpful
+NVidia drivers will tell the X server that you have a virtual screen
+whose size is the bounding box of the union of all MetaModes. Which in
+my case would mean that I'd have a lot of panning around, *very*
+irritating when you use multiple viewports. Adding the MetaMode after
+the startup of the X server avoids this issue.
+
+In the recipe, I have two functions to set landscape (normal) and
+portrait (vertical) orientation. They call ``xrandr`` to set the
+display orientation and size, and do some repositioning of the various
+things that need it:
+
+- a script instructs `ROX-Filer` to change its "pinboard" to the one
+ with the proper layout (this is not optimal, but since I very rarely
+ change the contents of my pinboard, works well enough for me)
+- `gkrellm2` and my "biff" terminal get moved to their proper
+ positions during ``StartFunction``
+
+Maybe there's a samrter way to get the same result, but this works,
+and it only took an evening to set up.
+
+.. _`~/.xinirc`: xinitrc