#!/usr/bin/env perl # $Source: /home/keck/gen/RCS/mk.xchar,v $ # $Revision: 1.7 $$Date: 2007/07/06 17:00:18 $ # Contents # 1 standard 2 args 3 main 4 notes 5 pod # ---------------------------------------------------------------------- #1# standard use strict; use warnings; (my $cmd = "$0") =~ s%.*/%%; sub usage { print "Usage: $cmd -help\n"; } sub quit { (@_) ? print STDERR "$cmd quitting: @_\n" : &usage; exit 1 } sub perldoc { my ($perldoc, $less); for (split /:/, $ENV{PATH}) { $perldoc = "$_/perldoc" if -x "$_/perldoc"; last if $perldoc; next if $less; $less = "$_/less" if -x "$_/less"; } if ($perldoc) { $ENV{LESSCHARSET} = 'latin1'; exec $perldoc, $0 } elsif ($less) { exec $less, '+/^# Sorry.*', $0 } else { print "Sorry, there's no perldoc(1) or even less(1) in your \$PATH\n" . "The documentation can be found at the end of $0\n"; exit 1 } } # ---------------------------------------------------------------------- #2# args my $name; while (@ARGV) { $_ = shift; perldoc() if /^-+(man|h)/; $name = $_; last; } quit("no argument given") unless defined $name; quit("unknown argument '$name'") unless $name =~ /^fvwm$/i; # --------------------------------------------------------------------- #3# main print "# example xchar(1) lines for ~/.fvwm/config or ~/.fvwmrc\n"; print "# generated by $0 " . `date`; print <<'ZZZ' style xtb notitle key x a c1 exec exec xtb -geometry -3+1 -l /tmp/xtb.log key Left a 3 exec xtc left key Right a 3 exec xtc right key period a 3 exec xup . key 0 a 3 exec xup 0 key 1 a 3 exec xup 1 key 2 a 3 exec xup 2 key 3 a 3 exec xup 3 key 4 a 3 exec xup 4 key 5 a 3 exec xup 5 key 6 a 3 exec xup 6 key 7 a 3 exec xup 7 key 8 a 3 exec xup 8 key 9 a 3 exec xup 9 key a a 3 exec xup a key b a 3 exec xup b key c a 3 exec xup c key d a 3 exec xup d key e a 3 exec xup e key f a 3 exec xup f key g a 3 exec xup g key h a 3 exec xup h key i a 3 exec xup i key j a 3 exec xup j key k a 3 exec xup k key l a 3 exec xup l key m a 3 exec xup m key n a 3 exec xup n key o a 3 exec xup o key p a 3 exec xup p key q a 3 exec xup q key r a 3 exec xup r key s a 3 exec xup s key t a 3 exec xup t key u a 3 exec xup u key v a 3 exec xup v key w a 3 exec xup w key x a 3 exec xup x key y a 3 exec xup y key z a 3 exec xup z key A a 3s exec xup A key B a 3s exec xup B key C a 3s exec xup C key D a 3s exec xup D key E a 3s exec xup E key F a 3s exec xup F key G a 3s exec xup G key H a 3s exec xup H key I a 3s exec xup I key J a 3s exec xup J key K a 3s exec xup K key L a 3s exec xup L key M a 3s exec xup M key N a 3s exec xup N key O a 3s exec xup O key P a 3s exec xup P key Q a 3s exec xup Q key R a 3s exec xup R key S a 3s exec xup S key T a 3s exec xup T key U a 3s exec xup U key V a 3s exec xup V key W a 3s exec xup W key X a 3s exec xup X key Y a 3s exec xup Y key Z a 3s exec xup Z key period a 31 exec xdn . key 0 a 31 exec xdn 0 key 1 a 31 exec xdn 1 key 2 a 31 exec xdn 2 key 3 a 31 exec xdn 3 key 4 a 31 exec xdn 4 key 5 a 31 exec xdn 5 key 6 a 31 exec xdn 6 key 7 a 31 exec xdn 7 key 8 a 31 exec xdn 8 key 9 a 31 exec xdn 9 key a a 31 exec xdn a key b a 31 exec xdn b key c a 31 exec xdn c key d a 31 exec xdn d key e a 31 exec xdn e key f a 31 exec xdn f key g a 31 exec xdn g key h a 31 exec xdn h key i a 31 exec xdn i key j a 31 exec xdn j key k a 31 exec xdn k key l a 31 exec xdn l key m a 31 exec xdn m key n a 31 exec xdn n key o a 31 exec xdn o key p a 31 exec xdn p key q a 31 exec xdn q key r a 31 exec xdn r key s a 31 exec xdn s key t a 31 exec xdn t key u a 31 exec xdn u key v a 31 exec xdn v key w a 31 exec xdn w key x a 31 exec xdn x key y a 31 exec xdn y key z a 31 exec xdn z key a a 31s exec xdn A key b a 31s exec xdn B key c a 31s exec xdn C key d a 31s exec xdn D key e a 31s exec xdn E key f a 31s exec xdn F key g a 31s exec xdn G key h a 31s exec xdn H key i a 31s exec xdn I key j a 31s exec xdn J key k a 31s exec xdn K key l a 31s exec xdn L key m a 31s exec xdn M key n a 31s exec xdn N key o a 31s exec xdn O key p a 31s exec xdn P key q a 31s exec xdn Q key r a 31s exec xdn R key s a 31s exec xdn S key t a 31s exec xdn T key u a 31s exec xdn U key v a 31s exec xdn V key w a 31s exec xdn W key x a 31s exec xdn X key y a 31s exec xdn Y key z a 31s exec xdn Z key 0 a 4 exec xmv $[w.id] 0 key 1 a 4 exec xmv $[w.id] 1 key 2 a 4 exec xmv $[w.id] 2 key 3 a 4 exec xmv $[w.id] 3 key 4 a 4 exec xmv $[w.id] 4 key 5 a 4 exec xmv $[w.id] 5 key 6 a 4 exec xmv $[w.id] 6 key 7 a 4 exec xmv $[w.id] 7 key 8 a 4 exec xmv $[w.id] 8 key 9 a 4 exec xmv $[w.id] 9 key a a 4 exec xmv $[w.id] a key b a 4 exec xmv $[w.id] b key c a 4 exec xmv $[w.id] c key d a 4 exec xmv $[w.id] d key e a 4 exec xmv $[w.id] e key f a 4 exec xmv $[w.id] f key g a 4 exec xmv $[w.id] g key h a 4 exec xmv $[w.id] h key i a 4 exec xmv $[w.id] i key j a 4 exec xmv $[w.id] j key k a 4 exec xmv $[w.id] k key l a 4 exec xmv $[w.id] l key m a 4 exec xmv $[w.id] m key n a 4 exec xmv $[w.id] n key o a 4 exec xmv $[w.id] o key p a 4 exec xmv $[w.id] p key q a 4 exec xmv $[w.id] q key r a 4 exec xmv $[w.id] r key s a 4 exec xmv $[w.id] s key t a 4 exec xmv $[w.id] t key u a 4 exec xmv $[w.id] u key v a 4 exec xmv $[w.id] v key w a 4 exec xmv $[w.id] w key x a 4 exec xmv $[w.id] x key y a 4 exec xmv $[w.id] y key z a 4 exec xmv $[w.id] z key 0 a 41 exec xmv -e $[w.id] 0 key 1 a 41 exec xmv -e $[w.id] 1 key 2 a 41 exec xmv -e $[w.id] 2 key 3 a 41 exec xmv -e $[w.id] 3 key 4 a 41 exec xmv -e $[w.id] 4 key 5 a 41 exec xmv -e $[w.id] 5 key 6 a 41 exec xmv -e $[w.id] 6 key 7 a 41 exec xmv -e $[w.id] 7 key 8 a 41 exec xmv -e $[w.id] 8 key 9 a 41 exec xmv -e $[w.id] 9 key a a 41 exec xmv -e $[w.id] a key b a 41 exec xmv -e $[w.id] b key c a 41 exec xmv -e $[w.id] c key d a 41 exec xmv -e $[w.id] d key e a 41 exec xmv -e $[w.id] e key f a 41 exec xmv -e $[w.id] f key g a 41 exec xmv -e $[w.id] g key h a 41 exec xmv -e $[w.id] h key i a 41 exec xmv -e $[w.id] i key j a 41 exec xmv -e $[w.id] j key k a 41 exec xmv -e $[w.id] k key l a 41 exec xmv -e $[w.id] l key m a 41 exec xmv -e $[w.id] m key n a 41 exec xmv -e $[w.id] n key o a 41 exec xmv -e $[w.id] o key p a 41 exec xmv -e $[w.id] p key q a 41 exec xmv -e $[w.id] q key r a 41 exec xmv -e $[w.id] r key s a 41 exec xmv -e $[w.id] s key t a 41 exec xmv -e $[w.id] t key u a 41 exec xmv -e $[w.id] u key v a 41 exec xmv -e $[w.id] v key w a 41 exec xmv -e $[w.id] w key x a 41 exec xmv -e $[w.id] x key y a 41 exec xmv -e $[w.id] y key z a 41 exec xmv -e $[w.id] z ZZZ __END__ # ---------------------------------------------------------------------- #4# notes # +taskbar9 # ---------------------------------------------------------------------- #5# pod # Sorry, there's no perldoc in your $PATH, so here's the raw pod =head1 NAME mk.xchar - help window managers to invoke xchar programs =head1 SYNOPSIS mk.xchar mk.xchar fvwm >>.fvwm/config =head1 DESCRIPTION mk.char outputs a configfile or configfile fragment for the specified window manager, typically to map keys to xchar(1) programs. Currently the only window manager known is fvwm. You may need to restart the window manager after modifying its configfile. =head1 FVWM 'mk.xchar fvwm' outputs example lines for inclusion in your fvwm configfile. Most of them map keys to raise and move windows using the xchar(1) programs. It also outputs lines that tell fvwm to omit the titlebar on xtb (xchar's vertical taskbar), and make control-mod1-x launch xtb at upper right of the screen. You can see which keys you currently have assigned to mod1, mod3, and mod4 with 'xmodmap -pm' & xev(1). The main maps are: mod3-0 raises window '0' mod3-1 raises window '1' ... mod3-a raises window 'a' mod3-b raises window 'b' ... mod3-A raises window 'A' ... mod4-0 moves the current window to geometry '0' mod4-1 moves the current window to geometry '1' ... mod4-a moves the current window to geometry 'a' mod4-b moves the current window to geometry 'b' ... mod4-A moves the current window to geometry 'A' ... The remaining maps assume that xtb has character '.': mod3-. raises xtb mod3-leftarrow moves xtb to the left mod3-rightarrow moves xtb to the right =head1 SEE ALSO xchar(1) =head1 AUTHOR Brian Keck Ebwkeck@gmail.comE =head1 VERSION $Source: /home/keck/gen/RCS/mk.xchar,v $ $Revision: 1.7 $ $Date: 2007/07/06 17:00:18 $ xchar 0.2 =cut