aboutsummaryrefslogtreecommitdiff
path: root/README.html
diff options
context:
space:
mode:
Diffstat (limited to 'README.html')
-rw-r--r--README.html436
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&quot; 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 &quot;pivot&quot;, 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">&#64;g</span></tt> to work with <cite>Xinerama</cite></li>
+<li>each pager (and my &quot;biff&quot; 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 &quot;eject&quot; 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 &quot;random&quot;, &quot;repeat&quot;, &quot;stop&quot;, &quot;play/pause&quot;
+and &quot;show/hide&quot; 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 &quot;Screen&quot;
+ Identifier &quot;dual-nv&quot;
+ Device &quot;nvidia&quot;
+ Monitor &quot;LCD&quot;
+ DefaultDepth 24
+ Option &quot;TwinView&quot; &quot;true&quot;
+ Option &quot;MetaModes&quot; &quot;DFP-0: 1400x1050 &#64;1400x1050 +0+0, DFP-1: 1400x1050 &#64;1400x1050 +1400+0&quot;
+ Option &quot;RandRRotation&quot; &quot;on&quot;
+ Option &quot;Xinerama&quot; &quot;on&quot;
+
+ SubSection &quot;Display&quot;
+ ViewPort 0 0
+ Depth 24
+ Modes &quot;1400x1050&quot;
+ 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 &quot;MetaMode&quot;:</p>
+<pre class="literal-block">
+./bin/nv-control-dpy --add-metamode \
+ 'DFP-0: 1400x1050 &#64;1400x1050 +0+1050, DFP-1: 1400x1050 &#64;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 &quot;the logical way&quot;, 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 &quot;pinboard&quot; 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 &quot;biff&quot; 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>