Олександр Харкiвський -> [email protected]  @ Thu, 29 Jun 2006 
09:14:20 +0300:

 >> Наиболее юзабельный - тот, который ты настроишь под себя.  Для меня -
 >> fvwm, мой конфиг которого имеет двенадцатилетнюю историю.

 ОХ>    Оффтоп, но очень интересно посмотреть. Ато вот в рулинуксе и
 ОХ> других местах всяк горазд про правильный вм рассуждать :) Или у
 ОХ> тебя он "спесифический" со всякими хитрыми косты... скриптами и
 ОХ> патчами? :)

Практически без.  Есть скриптик, который ему фонты выставляет на
основании xrdb -q - ну, там общая несколько навороченная структура с
автомагическим поиском подходящего комплекта шрифтов в .xsession.

И есть xrsh, который ниже.  Пользуется libfvwm-tcl от Витуса.
Собственно, упоминающейся унутре менюшкой хостов я в результате не
пользуюсь, а вычистить до конца лениво.

Но feel у моего интерфейса специфический.  "Свои конспекты вы пишете для
себя, и вас не должно волновать, что другие не смогут их прочесть."

 ОХ> Вобщем покажи пожалуйста, .zchrc же как-то поделился :)

DeskTopSize 3x3
EdgeResistance 250 0
EdgeScroll 0 0
EdgeThickness 1
SnapAttraction 20

WindowFont -rfx-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r
IconFont -rfx-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r
MenuStyle "*" Animation, Foreground black, Background gray80
MenuStyle "*" Font -rfx-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r
MenuStyle "*" SelectOnRelease none
ModulePath ${HOME}/etc/fvwm-modules:+
PipeRead SetFvwmFonts

TitleStyle LeftJustified Height 15
TitleStyle -- flat

# Colors
TitleStyle HGradient 64 SlateBlue1 SlateBlue4
TitleStyle Inactive HGradient 64 SlateGray1 SlateGray4
HilightColor white SlateBlue3
Style "*" Color black/SlateGray2

# Styles
Style "*"       IconBox 0 -20 -200 -0, IconFill left bottom
Style "*"       BorderWidth 2, HandleWidth 2
Style "*"       SloppyFocus, MinOverlapPercentPlacement
#Style "*"      ClickToFocusRaises, ClickToFocusPassesClickOff

# Fvwm Modules windows, common
Style "Fvwm*"           NoTitle
# FvwmPager
Style "Desk *"          NoTitle, Sticky, WindowListSkip, CirculateSkip
Style "Desk *"          NoHandles, BorderWidth 0
Style "Fvwm Pager"      NoTitle, Sticky, WindowListSkip, CirculateSkip
Style "Fvwm Pager"      NoHandles, BorderWidth 0
# FvwmTalk
Style "FvwmTalk"        Title
# xconsole
Style "xconsole"        NoHandles, BorderWidth 0, NoIcon, CirculateSkip, 
StickyIcon
# editor for notes
Style "notes*"          IconBox 40x60+70-1, StickyIcon
# Dctrl uses its own informational icon, and usually is run iconified
Style "Dctrl"           StickyIcon, IconBox -110 -1 -1 -1
# xxkb main window (I don't use it, so its tuning is incomplete)
Style "XXkb"            NoTitle, NoHandles, Sticky, BorderWidth 0, 
WindowListSkip, CirculateSkip
# Mozilloids start on page 2 unattended (does not work with FvwmEventNewWindow)
Style "Mozilla*"        StartsOnPage 1 2, SkipMapping
Style "Firefox*"        StartsOnPage 1 2, SkipMapping
# Gnus and Tkabber - same, but on page 1
Style "Gnus"            StartsOnPage 0 2, SkipMapping
Style "Tkabber"         StartsOnPage 0 2, SkipMapping
# Tkabber's chat and headlines, when iconified, are sticky.  Chat's icon is
# informative
Style "Chat"            StickyIcon
Style "Headlines"       StickyIcon
# Vmware starts on page 8 and on layer 7
Style "Vmware*"         StartsOnPage 1 0, Layer 7
# for vmware's fullscreen
Style "Vmware-console"  BorderWidth 0
# xclock is always visible and takes minimum place
Style "xclock"          NoTitle, Sticky, WindowListSkip, CirculateSkip, 
StaysOnTop
# xrsh has minimal interface and high layer
Style "xrsh*"           NoTitle, BorderWidth 0, CenterPlacement, Layer 8

#Functions
#AddToFunc ... 
#+      "Trigger"       Action
# Trigger:
#       I       Immediadely
#       M       Motion 
#       C       Click
#       D       Double-click

DestroyFunc StartFunction
AddToFunc StartFunction
+ "I" Module FvwmPager 0 0
+ "I" Module FvwmAuto 1000
+ "I" Module FvwmCommandS
+ "I" Module FvwmEvent FvwmEventNewWindow
+ "I" Module xrsh

DestroyFunc InitFunction
AddToFunc InitFunction
#+ "I" Exec xterm
+ "I" Exec xsetroot -solid black
+ "I" Exec xplanetbg -longitude 37.6 -latitude 55.75
+ "I" Exec xxkb
+ "I" Exec LC_TIME=C xclock -d -padding 2 -geometry -65-1 -update 1
+ "I" Exec unclutter

DestroyFunc FocusOrExec
AddToFunc FocusOrExec
+ "I" All [$0] Iconify -1
+ "I" All [$0] Function FocusAndRaise
+ "I" None [$0] Exec $1 $2 $3 $4 $5 $6 $7 $8 $9

DestroyFunc Deiconify
AddToFunc Deiconify
+ "I" Iconify -1
+ "I" Focus
+ "I" Raise
+ "I" WarpToWindow 50 50

DestroyFunc MailReader
AddToFunc MailReader
+ "I" All [$0] Iconify -1
+ "I" All [$0] Function FocusAndRaise
+ "I" None [$0] Exec exec $1 $0 $2 $3 $4 $5 $6 $7 $8 $9

DestroyFunc Dctrl
AddToFunc Dctrl
+ "I" None [Dctrl*] Exec Dctrl
+ "I" Next [Dctrl*] Iconify -1
+ "I" Next [Dctrl*] Focus
+ "I" Next [Dctrl*] Raise
+ "I" Next [Dctrl*] WarpToWindow 10 7

DestroyFunc MoveOrRaise
AddToFunc MoveOrRaise
+ "M" Move
+ "C" Raise

DestroyFunc MoveOrIconify
AddToFunc MoveOrIconify
+ "M" Move
+ "C" Iconify

DestroyFunc ResizeOrRaise
AddToFunc ResizeOrRaise
+ "M" Resize
+ "C" Raise

DestroyFunc MoveOrDeiconify
AddToFunc MoveOrDeiconify
+ "M" Move
+ "C" Deiconify

DestroyFunc FocusAndRaise
AddToFunc FocusAndRaise
+ "I" Focus
+ "I" Raise
+ "I" WarpToWindow 50 50

DestroyFunc CloseAndFocus
AddToFunc CloseAndFocus
+ "I" Close
+ "I" Next [CurrentPage] Function FocusAndRaise

DestroyFunc LockScreen
AddToFunc LockScreen
+ "I" Exec exec xlock -remote -startCmd "~/etc/bin/tkabberctl xa" -endCmd 
"~/etc/bin/tkabberctl available"

DestroyFunc Shell
AddToFunc Shell
+ "I" Exec xterm -name shell

DestroyFunc RemoteShell
AddToFunc RemoteShell
#+ "I" Exec xterm -name shell -title " [EMAIL PROTECTED]" -e rs $1 $2 $3 $4 $5 
$6 $7 $8 $9
+ "I" Function CreateLocaleMenu rsh "[EMAIL PROTECTED]" xterm -e ~/etc/bin/srs 
$1 $2 $3 $4 $5 $6 $7 $8 $9
+ "I" Popup rsh

DestroyFunc WorkTestRSH
AddToFunc WorkTestRSH
+ "I" Exec LANG=ru_RU.CP1251 RESOURCE_NAME=WIN exec xterm -title " [EMAIL 
PROTECTED]" -e ssh -t $0.lan.cryptocom.ru LANG=ru_RU.CP1251 exec '$SHELL' -l

DestroyFunc WindowListFunc
AddToFunc WindowListFunc
+ "I" WindowId $0 Iconify -1
+ "I" WindowId $0 Focus
+ "I" WindowId $0 Raise
+ "I" WindowId $0 WarpToWindow 50 50

DestroyFunc Game
AddToFunc Game
+ "I" GotoPage 2 1
+ "I" Exec exec $0 $1 $2 $3 $4 $5 $6 $7 $8 $9

DestroyFunc ExitFunction
AddToFunc ExitFunction
+ "I" Test(Quit) All (vmware-console) Close

DestroyMenu Window-Ops
AddToMenu Window-Ops
+       "Window Ops"                    Title
+       "&Move"                         Move
+       "Resi&ze"                       Resize
+       "&Raise"                        Raise
+       "&Lower"                        Lower
+       "(De)&Iconify"                  Iconify
+       "(Un)S&tick"                    Stick
+       "(Un)Sha&de"                    WindowShade
+       "(Un)Maximize &vertically"      Maximize 0 95
+       "(Un)Maximize &horizontally"    Maximize 100 0
+       "(Un)Ma&ximize to screen"       Maximize 100 95
+       ""                              Nop
+       "&Close"                        Close
+       "Delete"                        Delete
+       "Destroy"                       Destroy

DestroyMenu Quit-Verify
AddToMenu Quit-Verify
+       "Quit FVWM?"    Title
+       "&NO!!!"        Nop
+       "&Yes, quit"    Quit
+       "&Restart"      Restart

DestroyMenu Rlogin
AddToMenu Rlogin
+       "Remote login"  Title
+       "&work"         RemoteShell work work
# остальное убрано

DestroyMenu Games-xpat2
AddToMenu Games-xpat2
+       "xpat2"         Title
+       "&Free Cell"    Function Game xpat2 -rules fc
+       "&Klondike"     Function Game xpat2 -rules Klondike
+       "&Spider"       Function Game xpat2 -rules Spider
+       "&Gypsy"        Function Game xpat2 -rules Gypsy
+       "Sea&haven Towers"      Function Game xpat2 -rules st
+       "Idiot's Delight"       Function Game xpat2 -rules id
+       "Monte Carlo"   Function Game xpat2 -rules mc
+       "Midnight Oil"  Function Game xpat2 -rules mo
+       "Calculation"   Function Game xpat2 -rules calc
+       "modified Canfield"     Function Game xpat2 -rules modcan
+       "&Michael's Fantasy"    Function Game xpat2 -rules mf
+       "Canfield"      Function Game xpat2 -rules Canfield
+       "Royal Cotillion"       Function Game xpat2 -rules rc
+       "Baker's Dozen" Function Game xpat2 -rules bd
+       "Oonsoo"        Function Game xpat2 -rules Oonsoo
+       "Blue Moon"     Function Game xpat2 -rules bm

DestroyMenu Games
AddToMenu Games
+       "Games"         Title
+       "&Patience >"   Menu Games-xpat2
+       "&Demineur"     Function Game xdemineur
+       "Mah&jongg"     Function Game xmahjongg
+       "&Civilization" Function Game xcivil

DestroyMenu Shells
AddToMenu Shells
+       DynamicPopupAction Function CreateLocaleMenu Shells Shells xterm

DestroyMenu Vims
AddToMenu Vims
+       DynamicPopupAction Function CreateLocaleMenu Vims Vims gvim

DestroyFunc CreateLocaleMenu
AddToFunc CreateLocaleMenu
+ I     DestroyMenu recreate $0
+ I     AddToMenu $0 "$1" Title
+ I     AddToMenu $0 "&koi8-r"  Exec LANG=ru_RU.KOI8-R RESOURCE_NAME=KOI exec 
$2 $3 $4 $5 $6 $7 $8 $9
+ I     AddToMenu $0 "&windows-1251"    Exec LANG=ru_RU.CP1251 
RESOURCE_NAME=WIN exec $2 $3 $4 $5 $6 $7 $8 $9
+ I     AddToMenu $0 "&utf-8"   Exec LANG=ru_RU.UTF-8 RESOURCE_NAME=UTF exec $2 
$3 $4 $5 $6 $7 $8 $9
+ I     AddToMenu $0 "&iso-8859-5"      Exec LANG=ru_RU.ISO8859-5 
RESOURCE_NAME=ISO exec $2 $3 $4 $5 $6 $7 $8 $9
+ I     AddToMenu $0 "iso-8859-&1"      Exec LANG=en_US.ISO8859-1 
RESOURCE_NAME=LAT exec $2 $3 $4 $5 $6 $7 $8 $9

DestroyFunc CreatePageMenu
AddToFunc CreatePageMenu
+ I DestroyMenu recreate $0
+ I AddToMenu $0 $1 Title
+ I AddToMenu $0 "&1" $2 0 2
+ I AddToMenu $0 "&2" $2 1 2
+ I AddToMenu $0 "&3" $2 2 2
+ I AddToMenu $0 "&4" $2 0 1
+ I AddToMenu $0 "&5" $2 1 1
+ I AddToMenu $0 "&6" $2 2 1
+ I AddToMenu $0 "&7" $2 0 0
+ I AddToMenu $0 "&8" $2 1 0
+ I AddToMenu $0 "&9" $2 2 0

DestroyMenu PageActions
AddToMenu PageActions
+       "Page Actions"  Title
+       "&Go to"        Popup PageGoto
+       "&Move window to"       Popup PageMove

DestroyMenu PageGoto
AddToMenu PageGoto
+       DynamicPopupAction      Function CreatePageMenu PageGoto "Go to page" 
GotoPage

DestroyMenu PageMove
AddToMenu PageMove
+       DynamicPopupAction      Function CreatePageMenu PageMove "Move window 
to page" MoveToPage

DestroyMenu Emacs
AddToMenu Emacs Emacs Title
+       "&koi8-r"       Exec LANG=ru_RU.KOI8-R exec emacs
+       "&windows-1251" Exec LANG=ru_RU.CP1251 exec emacs
+       "&utf-8"        Exec LANG=ru_RU.UTF-8 exec emacs
+       "&iso-8859-5"   Exec LANG=ru_RU.ISO8859-5 exec emacs
+       "iso-8859-&1"   Exec LANG=en_US.ISO8859-1 exec emacs

DestroyMenu Sync
AddToMenu Sync "Sync gadget" Title
+       "&Palm" Exec LANG=ru_RU.CP1251 RESOURCE_NAME=WIN exec xterm -e sh -c 
"px -s ~/palm -t ; echo Done\(\$?\). ; read"
+       "&Camera" Exec xterm -e sh -c "cd /opt/photo_backup && gphoto2 -P ; 
echo Done\(\$?\). ; read"

DestroyMenu /
AddToMenu /
+       "Root menu"     Title
+       "&Emacs"        Popup Emacs
+       "&Shell"        Popup Shells
+       "&Remote login" Popup Rlogin
+       "&Vim"          Popup Vims
+       "G&nus"         Function FocusOrExec "Gnus" emacs -name Gnus -f gnus
+       "&IM"           Function FocusOrExec "*Tkabber" LANG=ru_RU.UTF-8 tkabber
#+      "Ic&q"          Function MailReader "*icq" xicq
#+      "&Dctrl"        Function Dctrl
+       "Mo&zilla"      Function FocusOrExec "*Mozilla*" mozilla
#+      "L&ynx"         Exec exec xlynx -book
+       "S&ync"         Popup Sync
+       "Et&hereal"     Exec gksudo ethereal
+       "V&mware"       Exec TMPDIR=$HOME/tmp vmware
+       "&Talk to FVWM" Module FvwmTalk
+       "&Page actions" Popup PageActions
+       "&Games"        Popup Games
+       "&Work menu"    Popup WorkMenu
+       ""              Nop
+       "&Lock"         Function LockScreen
+       "E&xit"         Popup Quit-Verify

DestroyFunc SwitchToPage
AddToFunc SwitchToPage
+ "I" GoToPage $*
+ "I" ScanForWindow FromPointer West North Focus

#
# Configure the FvwmPager module
*FvwmPagerBack SlateGray2
*FvwmPagerFore Black
*FvwmPagerFont none
*FvwmPagerHilight SlateBlue1
*FvwmPagerGeometry -1-1
*FvwmPagerSmallFont -rfx-helvetica-medium-r-normal--8-*-*-*-*-*-koi8-r
*FvwmPagerDeskTopScale 64
*FvwmPagerBalloons
*FvwmPagerBalloonYOffset -2


#
# Configure the FvwmEventNewWindow module

DestroyFunc FocusAndRaiseNotComm
AddToFunc FocusAndRaiseNotComm
+ "I" ThisWindow (!"Gnus|Tkabber*|Mozilla*|Firefox*") FocusAndRaise

*FvwmEventNewWindow: StartDelay 4
*FvwmEventNewWindow: add_window FocusAndRaiseNotComm

#Bindings
#(Key keyname|Mouse button) Context Modifiers Function
# Context:
#       R       root window
#       W       application window
#       T       window titlebar
#       S       window side, top, or bottom bar
#       F       window frame (the corner)
#       I       icon
#       0-9     titlebar buttons
#       A       all except titlebar buttons
# Modifiers:
#       N       none
#       S       shift
#       C       control
#       M       meta
#       1-5     X11 mod1-mod5
#       A       any
#IgnoreModifiers        L

Mouse   1       R       A       Menu / Function Shell
Mouse   2       R       A       Popup Window-Ops
Mouse   3       R       A       WindowList

Mouse   1       T       A       Function MoveOrIconify
Mouse   2       T       A       Lower
Mouse   3       T       A       Popup Window-Ops

Mouse   1       SF      A       Function ResizeOrRaise
Mouse   1       I       A       Function MoveOrDeiconify
Mouse   2       ISF     A       Function FocusAndRaise
Mouse   2       A       M       Function FocusAndRaise

Key     Tab     A       M       -

#Key S A 4 Exec exec ~/etc/bin/xrsh
Key S           A    4   SendToModule xrsh ""
Key period      FSTW 4   PlaceAgain
                
Key KP_Home     A    N   GotoPage 0 0
Key 7           A    4   GotoPage 0 0
Key KP_Home     FSTW C   MoveToPage 0 0
Key 7           FSTW 4C  MoveToPage 0 0
Key KP_Home     FSTW M   Maximize 0 95
Key Home        FSTW 4   Maximize 0 95
                
Key KP_Up       A    N   GotoPage 1 0
Key 8           A    4   GotoPage 1 0
Key KP_Up       FSTW C   MoveToPage 1 0
Key 8           FSTW 4C   MoveToPage 1 0
Key KP_Up       FSTW M   Move keep 0 warp
Key Up          FSTW 4   Move keep 0 warp
                
Key KP_Prior    A    N   GotoPage 2 0
Key 9           A    4   GotoPage 2 0
Key KP_Prior    FSTW C   MoveToPage 2 0
Key 9           FSTW 4C  MoveToPage 2 0
Key KP_Prior    FSTW M   Maximize 100 95
Key Prior       FSTW 4   Maximize 100 95
                
Key KP_Left     A    N   GotoPage 0 1
Key 4           A    4   GotoPage 0 1
Key KP_Left     FSTW C   MoveToPage 0 1
Key 4           FSTW 4C  MoveToPage 0 1
Key KP_Left     FSTW M   Move 0 keep warp
Key Left        FSTW 4   Move 0 keep warp
                
Key KP_Begin    A    N   GotoPage 1 1
Key 5           A    4   GotoPage 1 1
Key KP_Begin    FSTW C   MoveToPage 1 1
Key 5           FSTW 4C  MoveToPage 1 1
                
Key KP_Right    A    N   GotoPage 2 1
Key 6           A    4   GotoPage 2 1
Key KP_Right    FSTW C   MoveToPage 2 1
Key 6           FSTW 4C  MoveToPage 2 1
Key KP_Right    FSTW M   Move -0 keep warp
Key Right       FSTW 4   Move -0 keep warp
                
Key KP_End      A    N   GotoPage 0 2
Key 1           A    4   GotoPage 0 2
Key KP_End      FSTW C   MoveToPage 0 2
Key 1           FSTW 4C  MoveToPage 0 2
Key KP_End      FSTW M   Maximize 0 10
Key End         FSTW 4   Maximize 0 10
                
Key KP_Down     A    N   GotoPage 1 2
Key 2           A    4   GotoPage 1 2
Key KP_Down     FSTW C   MoveToPage 1 2
Key 2           FSTW 4C  MoveToPage 1 2
Key KP_Down     FSTW M   Move keep -5 warp
Key Down        FSTW 4   Move keep -5 warp
                
Key KP_Next     A    N   GotoPage 2 2
Key 3           A    4   GotoPage 2 2
Key KP_Next     FSTW C   MoveToPage 2 2
Key 3           FSTW 4C  MoveToPage 2 2
Key KP_Next     FSTW M   Maximize grow 95
Key Next        FSTW 4   Maximize grow 95
    
Key KP_Delete   FSTW N   Iconify
Key Delete      FSTW 4   Iconify
Key KP_Delete   I    N   Function Deiconify
Key Delete      I    4   Function Deiconify
Key KP_Delete   FSTW C   Function CloseAndFocus
Key Delete      FSTW 4C  Function CloseAndFocus
Key KP_Delete   A    CM  Function LockScreen
Key XF86Standby A    N   Function LockScreen
    
Key KP_Insert   A    N   Next (CurrentPage !Iconic) FocusAndRaise
Key Pause       A    4   Next (CurrentPage !Iconic) FocusAndRaise
Key Tab         A    4   Next (CurrentPage !Iconic) FocusAndRaise
Key KP_Insert   A    S   Next (CurrentPage Iconic) FocusAndRaise
Key Pause       A    4S  Next (CurrentPage Iconic) FocusAndRaise
Key Tab         A    4S  Next (CurrentPage Iconic) FocusAndRaise
    
Key KP_Add      FSTW N   Raise
Key Insert      FSTW 4   Raise
Key KP_Add      FSTW S   Lower
Key Insert      FSTW 4S  Lower
    
Key Return      I    N   Function Deiconify
Key KP_Enter    I    N   Function Deiconify
    
Key Menu        A    C   Menu Window-Ops
Key Menu        A    M   WindowList
Key Menu        A    S   WindowList
Key Menu        A    CS  WindowList (CurrentPage)
Key Menu        A    N   Menu / Root c c Function Shell
Key Menu        A    4   Menu / Root c c Function Shell

MenuStyle "*" PopupDelay 0

DestroyFunc RusLat
AddToFunc RusLat
+ "I" Current (Emacs) Exec emacs_ruslat $w $0
+ "I" Current (*Mozilla*) Nop

Key ISO_First_Group      W   N   Function RusLat l
Key ISO_Last_Group       W   S   Function RusLat r

Key XF86Calculator       A   N   Function FocusOrExec "Calculator" xterm -T 
Calculator -geometry 40x10 -e bc -ql
Key KP_Subtract          A   N   Function FocusOrExec "Calculator" xterm -T 
Calculator -geometry 40x10 -e bc -ql

Key XF86AudioMute        A    N   Exec aumix -v 0
Key XF86AudioLowerVolume A    N   Exec aumix -v -3
Key XF86AudioRaiseVolume A    N   Exec aumix -v +3

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED]

hands-free BSD
        (С)энта


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить