Алексей Мичурин

Полезное

Работа с данными: передача, архивирование

Для Python-программиста

Нотификатор

Памятка с полезными скриптами и наборами опций

Mount/umount USB-Flash

Создание swap в файле

Русификация a2ps

Настройка Xorg

Работа с сетью: настройка, диагностика

Рort knocking

Как подготовить полноценную инсталляцию ArchLinux на USB Flash.

Настройка sudo под Linux

Фракталы

Фрактальная размерность

Применение фракталов

Фрактальные деревья

Комплексная размерность

Теория относительности

Пространство-время

Физический смысл

Скорость света

Эквивалентность систем

Относительность

Движение быстрее света

Парадокс близнецов

Любопытные соображения

Недоделанное

Редактор favicon on-line

Устаревшие страницы

Простой HTML-валидатор

Об авторе

Настройка Xorg


Сразу оговорюсь, я настраиваю Xorg руками и предпочитаю лёгкие оконные менеджеры. Я знаю, что большинство пользователей делает не так, но надеюсь, что и они найдут здесь что-нибудь полезное.

Информационные утилиты Xorg

.Xresources

.fvwm2rc

Информационные утилиты Xorg

При настройке оконного интерфейса (оконного менеджера) часто оказывается необходима информация об окнах того или иного приложения. Получить её можно двумя командами xwininfo и xprop.

При настройке обработки событий (клавиатура/мышь) очень полезна бывает утилита xev.

.Xresources

Мне нравится вот такой .Xresources:

Xft.rgba:       none
Xft.hinting:    true
Xft.autohint:   false
Xft.hintstyle:  hintfull
Xft.antialias:  true
Xft.dpi:        84
Rxvt*scrollBar: false
Rxvt*boldFont:  -*-fixed-*-*-*-*-*-*-*-*-*-*-koi8-r
Rxvt*geometry:  80x30
Rxvt*visualBell:        true
Rxvt*keysym.0xFF50:     \e[H
Rxvt*keysym.0xFF57:     \e[F
XTerm*font:     -*-fixed-*-*-*-*-*-*-*-*-*-*-koi8-r
XTerm*font2:    -*-fixed-*-*-*-*-6-*-*-*-*-*-koi8-*
XTerm*font3:    -misc-fixed-medium-*-*-*-8-*-*-*-*-*-koi8-r
XTerm*font4:    -misc-fixed-medium-*-*-*-10-*-*-*-*-*-koi8-r
XTerm*font5:    -misc-fixed-medium-*-*-*-15-*-*-*-*-*-koi8-r
XTerm*font6:    -sony_koi8_ru-fixed-medium-*-*-*-24-*-*-*-*-*-koi8-r
XTerm*color0:   #000000
XTerm*color1:   #9e1828
XTerm*color2:   #aece92
XTerm*color3:   #968a38
XTerm*color4:   #414171
XTerm*color5:   #963c59
XTerm*color6:   #418179
XTerm*color7:   #bebebe
XTerm*color8:   #666666
XTerm*color9:   #cf6171
XTerm*color10:  #c5f779
XTerm*color11:  #fff796
XTerm*color12:  #4186be
XTerm*color13:  #cf9ebe
XTerm*color14:  #71bebe
XTerm*color15:  #ffffff
XTerm*foreground:       #bebebe
XTerm*background:       #000000
XTerm*colorBDMode:      true
XTerm*colorBD:  #82cd00
XTerm*colorULMode:      true
XTerm*colorUL:  #d4cd00
XTerm*translations:    #override \n\
  ~Ctrl<Btn3Up>: insert-selection(CLIPBOARD, CUT_BUFFER1) \n\
  ~Ctrl<Btn3Down>: ignore()
XTerm*locale:   false
XTerm*allowC1Printable: true
XTerm*Background:       #000000
XTerm*Foreground:       #bebebe
XTerm*VisualBell:       true
XClock*width:   60
XClock*height:  60
XClock*hourColor:       #ffffff
XClock*minuteColor:     #ffffff
XClock*secondColor:     #ffffff
XClock*majorColor:      #ffffff
XClock*minorColor:      #696969
XClock*padding: 3
XClock*background:      #121212

.fvwm2rc

Для FVWM 2.6. Используется m4.

# fvwm -c 'FvwmM4 ~/.fvwm/.fvwm2rc-m4-2.6'

############################################ M4 MACRO

define(`MOD_KEY',  `4')
define(`MMOD_KEY', `4M')
define(`CMOD_KEY', `4C')
define(`Window',   `WTSF124680')
define(`WindowI',  `WTSF124680I')
define(`WinRotCond', `(AcceptsFocus, CurrentPage, !Iconic, !Shaded, !FvwmPager)')

define(`jumpmap', `ifelse(`$#', `0', ,
                          `$#', `1', ,
                          `$#', `2', ,
                          `
Key `$3' A  MOD_KEY GotoPage `$1' `$2'
Key `$3' A CMOD_KEY GotoPage `$1' `$2'
Key `$3' A MMOD_KEY MoveAndGoToPage `$1' `$2'
jumpmap(shift(shift(shift($@))))')')

define(`RenewFunc', `
DestroyFunc `$1'
AddToFunc `$1'')

define(`RenewMenu', `
DestroyMenu `$1'
AddToMenu `$1'')

############################################ Functions

# open_icon_library-full
ImagePath /home/a/.fvwm/i

# UTIL

RenewFunc(RIconify)
# + I Layer 0 2
 + I Iconify true
 + I Raise

RenewFunc(RDeIconify)
 + I Iconify false
# + I Layer 0 4
# + I All (CurrentPage, Iconic) PlaceAgain Icon
 + I Raise

# START

RenewFunc(StartFunction)
 + I Module FvwmBacker

# UTIL

RenewFunc(normalization_of_the_cursor_position)
 + I WarpToWindow -5px -5px

# OPERATION

RenewFunc(MoveAndGoToPage)
 + I Raise
 + I MoveToPage $0 $1
 + I GotoPage $0 $1

RenewFunc(MoveAndGoToPagePrev)
 + I Raise
 + I MoveToPage prev
 + I GotoPage prev

RenewFunc(RaiseLowerOrMove)
 + C RaiseLower
 + M Raise
 + M Move

RenewFunc(RaiseLowerOrResize)
 + C RaiseLower
 + M Resize
 + D Stick

RenewFunc(RaiseAndResizeOrIconify)
 + I Raise
 + C RIconify
 + M Resize

RenewFunc(RaiseAndMoveOrIconify)
 + I Raise
 + D RIconify
 + M Move

RenewFunc(RaiseAndStick)
 + I Raise
 + I Stick

RenewFunc(SelectWindow)
 + I Focus
 + I RDeIconify
 + I normalization_of_the_cursor_position

RenewFunc(SelectNextWindow)
 + I Next WinRotCond SelectWindow

RenewFunc(SelectPrevWindow)
 + I Prev WinRotCond SelectWindow

RenewFunc(DeIconifyOrMove)
 + I Raise
 + C RDeIconify
 + D RDeIconify
 + M Move

RenewFunc(MoveAndGo)
 + I Move $0 $1
 + I normalization_of_the_cursor_position

RenewFunc(MaximizeAndGo)
 + I Maximize $0 $1
 + I normalization_of_the_cursor_position

############################################ Menu

RenewMenu(RDesktop)
 + "my"            Exec exec rdesktop # дописать своё

RenewMenu(Apps)
 + "Firefox"       Exec exec firefox
 + "Chromium"      Exec exec chromium
 + "GFtp"          Exec exec gftp
 + "Thunderbird"   Exec exec thunderbird
 + "Tkabber"       Exec exec tkabber
 + "GIMP"          Exec exec gimp
 + ""              Nop
 + "Xfontsel"      Exec exec xfontsel

#AddToMenu Browser
# + DynamicPopupAction PipeRead "fvwm-menu-directory -r -na Browser -d / -s"

#AddToFunc FuncFvwmMenuDirectory
# + I PipeRead "fvwm-menu-directory --command-title '' -d '$0'"

RenewMenu(Util)
 + "Utilities"     Title
 + "Xterm"         Exec exec xterm
 + "Root"          Exec exec xterm -bg \#180000 -e sudo bash
 + "Apps"          Popup Apps
 + "RDesktop"      Popup RDesktop
 + "Xkill"         Exec exec xkill
 + "`Window'"      Popup Window-Ops
 + ""              Nop
# + "My Browser" Menu Browser
# + MissingSubmenuFunction FuncFvwmMenuDirectory
# + "My Browser2" Popup /home
# + ""              Nop
 + "Exit"          Popup Quit-Verify

RenewMenu(Quit-Verify)
 + "Really Quit Fvwm?"   Title
 + "No, Don't Quit"      Nop
 + "Restart"             Restart --dont-preserve-state
 + ""                    Nop
 + "Yes, Really Quit"    Quit

RenewMenu(Window-Ops)
 + "Maximize"            MaximizeAndGo 100 100
 + "Maximize vertical"   MaximizeAndGo 0 100
 + "Maximize horizontal" MaximizeAndGo 100 0
 + ""                    Nop
 + "Iconify"             RIconify
 + "Stick"               RaiseAndStick
 + ""                    Nop
 + "StaysOnTop"          Layer 0 6
 + "StaysPut"            Layer 0 4
 + "StaysOnBottom"       Layer 0 2
 + ""                    Nop
 + "WindowShade"         WindowShade
 + ""                    Nop
 + "Close window"        Close
 + "Destroy window"      Destroy

############################################ Misc

DeskTopSize 12x3
EdgeResistance 10000
Style * EdgeMoveResistance 20
EdgeScroll 0 0 # do not scroll
Style * SnapAttraction 10 SameType
IgnoreModifiers L25 # ignore caps-lock num-lock scroll-lock

############################################ Window Title

# menu
ButtonStyle 1 Vector 5 \
  40x60@0 40x40@1 60x40@1 60x60@0 40x60@0
# trash
ButtonStyle 2 Vector 7 \
  20x20@0 80x20@1 80x30@0 \
  65x80@0 35x80@0 \
  20x30@1 20x20@1
# icon
ButtonStyle 4 Vector 4 \
  50x75@0 80x25@0 20x25@1 50x75@1
# max
ButtonStyle 6 Vector 5 \
  20x80@0 20x20@1 80x20@1 80x80@0 20x80@0
# stick
ButtonStyle 8 Vector 10 \
  20x20@0 80x20@1 \
  80x40@0 65x40@0 65x70@0 50x90@0 \
  35x70@0 35x40@1 20x40@0 20x20@1
# resize
ButtonStyle 0 Vector 10 \
  45x65@0 45x80@0 20x80@0 20x50@1 35x50@1 \
  35x65@1 35x20@1 80x20@1 80x65@0 35x65@0

ButtonStyle 1 - Clear
ButtonStyle 2 - Clear
ButtonStyle 4 - Clear
ButtonStyle 6 - Clear MwmDecorMax
ButtonStyle 8 - Clear MwmDecorStick
ButtonStyle 0 - Clear

############################################ Mouse

Mouse 1  1  A Menu Window-Ops Nop
Mouse 1  2  MOD_KEY Destroy
Mouse 1  2  A Close
Mouse 1  4  A RIconify
Mouse 1  6  A MaximizeAndGo 100 100
Mouse 1  8  A RaiseAndStick
Mouse 1  0  A Resize
Mouse 1  T  A RaiseAndMoveOrIconify
Mouse 2  T  A Lower
Mouse 3  T  A RaiseLowerOrResize
Mouse 4  T  A WindowShade True # up
Mouse 5  T  A WindowShade False # down

Mouse 1  R  A Menu Util
Mouse 3  R  A Menu Util
Mouse 2  R  A Module FvwmPager -transient 0 0
Mouse 1  I  A DeIconifyOrMove
Mouse 2  I  A Stick
Mouse 3  I  A Iconify off

Mouse 1  Window  MOD_KEY RaiseLowerOrMove
Mouse 2  Window  MOD_KEY Lower
Mouse 3  Window  MOD_KEY RaiseAndResizeOrIconify

Mouse 3  Window  MMOD_KEY StrokeFunc
Stroke 0    0 Window  MMOD_KEY Move
Stroke N357 0 Window  MMOD_KEY Move 0 0
Stroke N456 0 Window  MMOD_KEY Move -0 w
Stroke N654 0 Window  MMOD_KEY Move 0 w
Stroke N258 0 Window  MMOD_KEY Move w 0
Stroke N852 0 Window  MMOD_KEY Move w -0
Stroke N951 0 Window  MMOD_KEY Move 0 -0
Stroke N159 0 Window  MMOD_KEY Move -0 0
Stroke N753 0 Window  MMOD_KEY Move -0 -0

############################################ Hot Keys

Key Up        WindowI  MOD_KEY Raise
Key Up        R        MOD_KEY SelectNextWindow
Key Down      WindowI  MOD_KEY Lower
Key Down      R        MOD_KEY SelectNextWindow
Key Right     A        MOD_KEY GotoPage +1p +0p
Key Left      A        MOD_KEY GotoPage -1p +0p
Key Up        A       CMOD_KEY GotoPage +0p -1p
Key Down      A       CMOD_KEY GotoPage +0p +1p
Key Right     WindowI MMOD_KEY MoveAndGoToPage +1p +0p
Key Left      WindowI MMOD_KEY MoveAndGoToPage -1p +0p
Key Up        WindowI MMOD_KEY MoveAndGoToPage +0p -1p
Key Down      WindowI MMOD_KEY MoveAndGoToPage +0p +1p

Key grave     A        MOD_KEY GotoPage prev
Key grave     A       MMOD_KEY MoveAndGoToPagePrev

Key End       Window   MOD_KEY MaximizeAndGo 100 100
Key Page_Up   Window   MOD_KEY MaximizeAndGo 0 100
Key Page_Down Window   MOD_KEY MaximizeAndGo 100 0
Key Delete    Window   MOD_KEY RIconify
Key End       R        MOD_KEY SelectNextWindow
Key Page_Up   R        MOD_KEY SelectNextWindow
Key Page_Down R        MOD_KEY SelectNextWindow
Key Delete    R        MOD_KEY SelectNextWindow

Key Home      WindowI  MOD_KEY RaiseAndStick
Key Escape    WindowI  MOD_KEY Close
Key Escape    WindowI MMOD_KEY Destroy

Key Return    A        MOD_KEY Popup Util

Key Space     A       MMOD_KEY Exec xlock -mode swarm

Key Tab       A        MOD_KEY SelectNextWindow
Key BackSpace A        MOD_KEY SelectPrevWindow
Key KP_Add    A        MOD_KEY SelectNextWindow
Key KP_Subtract A      MOD_KEY SelectPrevWindow

Key KP_Home   Window   MOD_KEY MoveAndGo      0      0
Key KP_Up     Window   MOD_KEY MoveAndGo 50-50w      0
Key KP_Prior  Window   MOD_KEY MoveAndGo     -0      0
Key KP_Left   Window   MOD_KEY MoveAndGo      0 50-50w
Key KP_Begin  Window   MOD_KEY MoveAndGo 50-50w 50-50w
Key KP_Right  Window   MOD_KEY MoveAndGo     -0 50-50w
Key KP_End    Window   MOD_KEY MoveAndGo      0     -0
Key KP_Down   Window   MOD_KEY MoveAndGo 50-50w     -0
Key KP_Next   Window   MOD_KEY MoveAndGo     -0     -0

jumpmap(
 0, 0, 1,
 1, 0, 2,
 2, 0, 3,
 3, 0, 4,
 4, 0, 5,
 5, 0, 6,
 6, 0, 7,
 7, 0, 8,
 8, 0, 9,
 9, 0, 0,
10, 0, minus,
11, 0, equal,
 0, 1, q,
 1, 1, w,
 2, 1, e,
 3, 1, r,
 4, 1, t,
 5, 1, y,
 6, 1, u,
 7, 1, i,
 8, 1, o,
 9, 1, p,
10, 1, bracketleft,
11, 1, bracketright,
 0, 2, a,
 1, 2, s,
 2, 2, d,
 3, 2, f,
 4, 2, g,
 5, 2, h,
 6, 2, j,
 7, 2, k,
 8, 2, l,
 9, 2, semicolon,
10, 2, apostrophe,
11, 2, backslash)

Key  F1   A        MOD_KEY Exec amixer set Front,0 5%-,5%- unmute
Key  F2   A        MOD_KEY Exec amixer set Front,0 5%+,5%+ unmute

############################################

define(`COMMON_FONT', `"-*-helvetica-medium-r-*-*-14-*-*-*-*-*-koi8-*"')
define(`xstyle',`Style `$2' `$1'
ifelse($#,2,`',`xstyle(`$1',shift(shift($@)))')')

Colorset 0 fg #ff0000, bg #696969, hi #939393, sh #343434

Style * \
  BorderWidth 0, \
  HandleWidth 3, \
  Font COMMON_FONT, \
  MWMFunctions, \
  MWMDecor, \
  HintOverride, \
  MWMBorder, \
  MWMButtons, \
  IconFont COMMON_FONT, \
  IconBackgroundColorset 0, \
  IconBox 400x400+200-0, \
  IconFill Left Bottom, \
  IconBackgroundRelief 2, \
  IconBackgroundPadding 0, \
  Icon cameramonitor.png, \
  IconOverride
#, StickyIcon

# , IconBox 200x800-0+0, IconFill Right Top
xstyle(`IconBox 400x400+600-0, IconFill Right Bottom', xterm)
xstyle(`!Title', xterm, rxvt, xclock, pclock, display, FvwmPager, xmms)
xstyle(`BorderWidth 0, HandleWidth 0', xclock, display, FvwmPager, xmms)
xstyle(`Sticky', xclock, FvwmPager)

define(`seticons',`Style $1 Icon $2
ifelse($#,2,`',`seticons(shift(shift($@)))')')

seticons(
xterm,    konsole.png,
mplauer,  mplayer.png,
chromium, chromium-2.png,
firefox,  firefox_alt.png,
Firefox,  firefox_alt.png,
gimp,     gimp-3.png,
gqview,   graphics-2.png,
tkabber,  internet-chat-2.png,
googleearth-bin, internet-web-browser-7.png,
xmms,     juk-2.png,
Licq,     licq-2.png,
Thunderbird, internet-mail-2.png
)

# xprop xwininfo

MenuStyle * Font COMMON_FONT

############################################

define(`WP_PATH', `/home/a/.fvwm/bg5')

define(`loop_row', `ifelse($#,3,`loop_row($1,$2,$3,0)',`dnl
Colorset $2 TiledPixmap WP_PATH/bg-$4-$3.xpm
*FvwmBacker: Command (Desk *, Page $3 $4) Colorset $2
ifelse(eval($4<$1),1,`loop_row($1,incr($2),$3,incr($4))')dnl
')')

define(`loop_line',`ifelse($#,2,`loop_line($1,$2,1,0)',`dnl
loop_row($2, eval(`($3-1)*($2+1)+1'), $4)dnl
ifelse(eval($4<$1),1,`loop_line($1,$2,incr($3),incr($4))')dnl
')')

loop_line(11, 2)

############################################

*FvwmPager: Geometry +0-0
*FvwmPager: DeskTopScale 128
*FvwmPager: Label * Pager
*FvwmPager: Font none

############################################

#*FvwmWharfColorset 0
#*FvwmWharfGeometry -0+0
#*FvwmWharf Clock nil MaxSwallow "pclock" xclock -geometry 64x64 -padding 0

#Style "FvwmWharf" BorderWidth 1,\
#                 NoTitle,\
#                 NoHandles,\
#                 Sticky,\
#                 ForeColor black,\
#                 BackColor rgb:1c/2/2,\
#                 FVWMBorder,\
#                 WindowListSkip

#Module FvwmWharf

############################################
# EOF

Вы можете связаться со мной по e-mail a.michurin@gmail.com.



Технология Google App Engine Python powered