[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GNOME и WM



Олександр Харкiвський -> debian-russian@lists.debian.org  @ 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 " shell@$0" -e rs $1 $2 $3 $4 $5 $6 $7 $8 $9
+ "I" Function CreateLocaleMenu rsh "shell@$0" 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 " shell@$0" -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: ran@jabber.ran.pp.ru

hands-free BSD
	(С)энта



Reply to: