diff options
author | dakkar <dakkar@thenautilus.net> | 2009-08-13 21:37:24 +0200 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2009-08-13 21:37:24 +0200 |
commit | 3e90bbfaec0953f2ef74fa2827ac41678ee11dee (patch) | |
tree | 250eeabe93487d458172f3c61a08d646c021e2fc /README.html | |
download | fvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.tar.gz fvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.tar.bz2 fvwm-crystal-3e90bbfaec0953f2ef74fa2827ac41678ee11dee.zip |
importing Crystal config into git
Diffstat (limited to 'README.html')
-rw-r--r-- | README.html | 436 |
1 files changed, 436 insertions, 0 deletions
diff --git a/README.html b/README.html new file mode 100644 index 0000000..8ebe55b --- /dev/null +++ b/README.html @@ -0,0 +1,436 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> +<title>Dakkar's fvwm-crystal settings</title> +<style type="text/css"> + +/* +:Author: David Goodger +:Contact: goodger@users.sourceforge.net +:Date: $Date: 2005-12-18 01:56:14 +0100 (Sun, 18 Dec 2005) $ +:Revision: $Revision: 4224 $ +:Copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. + +See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to +customize this style sheet. +*/ + +/* used to remove borders from tables and images */ +.borderless, table.borderless td, table.borderless th { + border: 0 } + +table.borderless td, table.borderless th { + /* Override padding for "table.docutils td" with "! important". + The right padding separates the table cells. */ + padding: 0 0.5em 0 0 ! important } + +.first { + /* Override more specific margin styles with "! important". */ + margin-top: 0 ! important } + +.last, .with-subtitle { + margin-bottom: 0 ! important } + +.hidden { + display: none } + +a.toc-backref { + text-decoration: none ; + color: black } + +blockquote.epigraph { + margin: 2em 5em ; } + +dl.docutils dd { + margin-bottom: 0.5em } + +/* Uncomment (and remove this text!) to get bold-faced definition list terms +dl.docutils dt { + font-weight: bold } +*/ + +div.abstract { + margin: 2em 5em } + +div.abstract p.topic-title { + font-weight: bold ; + text-align: center } + +div.admonition, div.attention, div.caution, div.danger, div.error, +div.hint, div.important, div.note, div.tip, div.warning { + margin: 2em ; + border: medium outset ; + padding: 1em } + +div.admonition p.admonition-title, div.hint p.admonition-title, +div.important p.admonition-title, div.note p.admonition-title, +div.tip p.admonition-title { + font-weight: bold ; + font-family: sans-serif } + +div.attention p.admonition-title, div.caution p.admonition-title, +div.danger p.admonition-title, div.error p.admonition-title, +div.warning p.admonition-title { + color: red ; + font-weight: bold ; + font-family: sans-serif } + +/* Uncomment (and remove this text!) to get reduced vertical space in + compound paragraphs. +div.compound .compound-first, div.compound .compound-middle { + margin-bottom: 0.5em } + +div.compound .compound-last, div.compound .compound-middle { + margin-top: 0.5em } +*/ + +div.dedication { + margin: 2em 5em ; + text-align: center ; + font-style: italic } + +div.dedication p.topic-title { + font-weight: bold ; + font-style: normal } + +div.figure { + margin-left: 2em ; + margin-right: 2em } + +div.footer, div.header { + clear: both; + font-size: smaller } + +div.line-block { + display: block ; + margin-top: 1em ; + margin-bottom: 1em } + +div.line-block div.line-block { + margin-top: 0 ; + margin-bottom: 0 ; + margin-left: 1.5em } + +div.sidebar { + margin-left: 1em ; + border: medium outset ; + padding: 1em ; + background-color: #ffffee ; + width: 40% ; + float: right ; + clear: right } + +div.sidebar p.rubric { + font-family: sans-serif ; + font-size: medium } + +div.system-messages { + margin: 5em } + +div.system-messages h1 { + color: red } + +div.system-message { + border: medium outset ; + padding: 1em } + +div.system-message p.system-message-title { + color: red ; + font-weight: bold } + +div.topic { + margin: 2em } + +h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, +h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { + margin-top: 0.4em } + +h1.title { + text-align: center } + +h2.subtitle { + text-align: center } + +hr.docutils { + width: 75% } + +img.align-left { + clear: left } + +img.align-right { + clear: right } + +ol.simple, ul.simple { + margin-bottom: 1em } + +ol.arabic { + list-style: decimal } + +ol.loweralpha { + list-style: lower-alpha } + +ol.upperalpha { + list-style: upper-alpha } + +ol.lowerroman { + list-style: lower-roman } + +ol.upperroman { + list-style: upper-roman } + +p.attribution { + text-align: right ; + margin-left: 50% } + +p.caption { + font-style: italic } + +p.credits { + font-style: italic ; + font-size: smaller } + +p.label { + white-space: nowrap } + +p.rubric { + font-weight: bold ; + font-size: larger ; + color: maroon ; + text-align: center } + +p.sidebar-title { + font-family: sans-serif ; + font-weight: bold ; + font-size: larger } + +p.sidebar-subtitle { + font-family: sans-serif ; + font-weight: bold } + +p.topic-title { + font-weight: bold } + +pre.address { + margin-bottom: 0 ; + margin-top: 0 ; + font-family: serif ; + font-size: 100% } + +pre.literal-block, pre.doctest-block { + margin-left: 2em ; + margin-right: 2em ; + background-color: #eeeeee } + +span.classifier { + font-family: sans-serif ; + font-style: oblique } + +span.classifier-delimiter { + font-family: sans-serif ; + font-weight: bold } + +span.interpreted { + font-family: sans-serif } + +span.option { + white-space: nowrap } + +span.pre { + white-space: pre } + +span.problematic { + color: red } + +span.section-subtitle { + /* font-size relative to parent (h1..h6 element) */ + font-size: 80% } + +table.citation { + border-left: solid 1px gray; + margin-left: 1px } + +table.docinfo { + margin: 2em 4em } + +table.docutils { + margin-top: 0.5em ; + margin-bottom: 0.5em } + +table.footnote { + border-left: solid 1px black; + margin-left: 1px } + +table.docutils td, table.docutils th, +table.docinfo td, table.docinfo th { + padding-left: 0.5em ; + padding-right: 0.5em ; + vertical-align: top } + +table.docutils th.field-name, table.docinfo th.docinfo-name { + font-weight: bold ; + text-align: left ; + white-space: nowrap ; + padding-left: 0 } + +h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, +h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { + font-size: 100% } + +tt.docutils { + background-color: #eeeeee } + +ul.auto-toc { + list-style-type: none } + +</style> +</head> +<body> +<div class="document" id="dakkar-s-fvwm-crystal-settings"> +<h1 class="title">Dakkar's <tt class="docutils literal"><span class="pre">fvwm-crystal</span></tt> settings</h1> +<!-- -*- mode: rst; coding: utf-8 -*- --> +<p>I use a 2800x1050 desktop (two 20" LCD panels on a GeForce 6600), with +a <a class="reference" href="recipes/TopLine">slightly modified version</a> of the <cite>TopLine</cite> 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 <cite>AmaroK</cite>, and my +desktop manager is <cite>ROX</cite>.</p> +<p>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 <a class="reference" href="#rotating-the-displays">Rotating the displays</a>.</p> +<div class="section"> +<h1><a id="the-recipe" name="the-recipe">The recipe</a></h1> +<p>The main differences from the stock <cite>TopLine</cite> are:</p> +<ul class="simple"> +<li>different desktop bindings</li> +<li>larger thumbnails</li> +<li>different behaviour of the edges</li> +<li>2 identical pagers (one per physical screen)</li> +<li>geometries rewritten to use <tt class="docutils literal"><span class="pre">@g</span></tt> to work with <cite>Xinerama</cite></li> +<li>each pager (and my "biff" terminal) is raised above all other +windows if I keep the mouse pointer on it long enough</li> +<li>some functions added to handle <a class="reference" href="#rotating-the-displays">rotating the displays</a></li> +</ul> +</div> +<div class="section"> +<h1><a id="the-decoration" name="the-decoration">The decoration</a></h1> +<p>I have changed the <cite>Clearlooks DeepSky</cite> <a class="reference" href="decorations/Dakkar/">decoration</a> to add a mini-icon +as button 3.</p> +</div> +<div class="section"> +<h1><a id="the-colorsets" name="the-colorsets">The colorsets</a></h1> +<p>Since I use tha <cite>Gentoo</cite> version of <tt class="docutils literal"><span class="pre">fvwm2</span></tt>, it has a patch that +allow fake transparency in the menus. Thus, I changed the +<cite>DarkDesktop</cite> and <cite>WhiteDesktop</cite> <a class="reference" href="colorsets/">colorsets</a> to use this feature.</p> +</div> +<div class="section"> +<h1><a id="the-bindings" name="the-bindings">The bindings</a></h1> +<p>I redefined most keyboard bindings to my taste. Of particular interest +may be the <a class="reference" href="components/bindings/Music">Music</a> file, where I bind the volume controls to the volume +keycodes, and the <tt class="docutils literal"><span class="pre">Music-GUI</span></tt> function to the "eject" keycode. I +also bound most window manipulation functions to various combination +of <tt class="docutils literal"><span class="pre">Alt</span></tt> and the numeric keypad (see the <a class="reference" href="components/bindings/Window-Control-Dakkar">Window-Control-Dakkar</a> +file)</p> +</div> +<div class="section"> +<h1><a id="the-preferences" name="the-preferences">The preferences</a></h1> +<p>To be able to select <cite>AmaroK</cite> as a music player, and <cite>amixer</cite> as a +mixer control, I created the <a class="reference" href="components/desktop/dakkar_Preferences">dakkar_Preferences</a> file, which adds +them to the appropriate menus.</p> +</div> +<div class="section"> +<h1><a id="the-styles-and-icons" name="the-styles-and-icons">The styles and icons</a></h1> +<p>I added some style declaration and icons for some applications +(e.g. the windows created by <tt class="docutils literal"><span class="pre">xine-ui</span></tt> and <tt class="docutils literal"><span class="pre">xpad</span></tt> should be bare, +and I added icons for <tt class="docutils literal"><span class="pre">xchat-2</span></tt> and <tt class="docutils literal"><span class="pre">skype</span></tt>)</p> +</div> +<div class="section"> +<h1><a id="the-functions" name="the-functions">The functions</a></h1> +<p>I redefined a couple of function in the <a class="reference" href="components/functions/Numpad">Numpad</a> to add the +<tt class="docutils literal"><span class="pre">AnyScreen</span></tt> option.</p> +<p>Then I wrote the <a class="reference" href="components/functions/Mixer-amixer">Mixer-amixer</a> and <a class="reference" href="components/functions/Music-amarok">Music-amarok</a> files to interact +with by chosen music programs.</p> +<p><tt class="docutils literal"><span class="pre">amixer</span></tt> is a simple command-line mixer, and its integration was +easy.</p> +<p><cite>AmaroK</cite> is a <cite>KDE</cite> application, and it's not straightforward to +control. At the moment only "random", "repeat", "stop", "play/pause" +and "show/hide" are implemented, all via <tt class="docutils literal"><span class="pre">dcop</span></tt> calls.</p> +<p>The <tt class="docutils literal"><span class="pre">Music-GUI</span></tt> function is used to toggle the display of +<cite>AmaroK</cite>, and also to start it: it the <tt class="docutils literal"><span class="pre">dcop</span></tt> calls fails, the +<tt class="docutils literal"><span class="pre">amarok</span></tt> command gets executed, launching the program.</p> +<div class="note"> +<p class="first admonition-title">Note</p> +<p><cite>AmaroK</cite> and <cite>Trayer</cite></p> +<p class="last">For some not-really-clear-to-me reason, the tray icon of <cite>AmaroK</cite> +is not displayed by <cite>Trayer</cite>, normally. To work around this +problem, I have written the small <tt class="docutils literal"><span class="pre">amarok</span></tt> script, which sits in +my <tt class="docutils literal"><span class="pre">~/bin</span></tt> directory (which is at the beginning of my +<tt class="docutils literal"><span class="pre">$PATH</span></tt>). Using this, the icon works as expected.</p> +</div> +<p>I also tweaked a Perl script I found on the Web to create a menu for +my <tt class="docutils literal"><span class="pre">screen</span></tt> sessions, see the <a class="reference" href="components/functions/Screen-Menu">Screen-Menu</a> configuration file and +the <a class="reference" href="scripts/fvwm-screen.pl">fvwm-screen.pl</a> script.</p> +<p>Finally, in the <a class="reference" href="components/functions/Notify">Notify</a> file, I redefined the <tt class="docutils literal"><span class="pre">UrgencyFunc</span></tt> to pop +up a notification via the dbus notification mechanism (using a <a class="reference" href="FvwmNotify.pm">simple +Perl script</a> which uses <a class="reference" href="http://search.cpan.org/~danberr/Net-DBus-0.33.5/">Net::DBus</a>).</p> +</div> +<div class="section"> +<h1><a id="rotating-the-displays" name="rotating-the-displays">Rotating the displays</a></h1> +<p>This takes a little background.</p> +<p>First of all, my <tt class="docutils literal"><span class="pre">/etc/X11/xorg.conf</span></tt> file has a <tt class="docutils literal"><span class="pre">Screen</span></tt> section +like this:</p> +<pre class="literal-block"> +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 +</pre> +<p>This specifies that, normally, I use my displays horizontally, one to +the right of the other.</p> +<p>Then, in my <a class="reference" href="xinitrc">~/.xinirc</a>, I add a second "MetaMode":</p> +<pre class="literal-block"> +./bin/nv-control-dpy --add-metamode \ + 'DFP-0: 1400x1050 @1400x1050 +0+1050, DFP-1: 1400x1050 @1400x1050 +0+0' +</pre> +<p>The <tt class="docutils literal"><span class="pre">nv-control-dpy</span></tt> program can be found in the source tarball for +the <tt class="docutils literal"><span class="pre">nvidia-settings</span></tt> program, in the <tt class="docutils literal"><span class="pre">samples</span></tt> subdirectory.</p> +<p>You may be wondering: why adding a second MetaMode in this way, when +you can specify both in the <tt class="docutils literal"><span class="pre">xorg.conf</span></tt> 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, <em>very</em> +irritating when you use multiple viewports. Adding the MetaMode after +the startup of the X server avoids this issue.</p> +<p>In the recipe, I have two functions to set landscape (normal) and +portrait (vertical) orientation. They call <tt class="docutils literal"><span class="pre">xrandr</span></tt> to set the +display orientation and size, and do some repositioning of the various +things that need it:</p> +<ul class="simple"> +<li>a script instructs <cite>ROX-Filer</cite> 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)</li> +<li><cite>gkrellm2</cite> and my "biff" terminal get moved to their proper +positions during <tt class="docutils literal"><span class="pre">StartFunction</span></tt></li> +</ul> +<p>Maybe there's a samrter way to get the same result, but this works, +and it only took an evening to set up.</p> +</div> +</div> +</body> +</html> |