# * * * * * * * *
# * Переменные  * 
# * * * * * * * *
############################# Окна
NoDefaults                  # Не предоставлять умолчательных кнопок в заголовке окна
RestartPreviousState        # Восстанавливать положения и состояния окон после перезапуска twm.
DecorateTransients          # Создавать элементы управления окнами для вспомагательных окон,
OpaqueMove                  # При перемещении окон делать их "непрозрачными"
NoGrabServer                # При перемещении "непрозрачных" окон или при показе меню,
#DontMoveOff                # Сделать невозможным вынос окон за видимые границы экрана.
MoveDelta 3                 # Сколько пикселей нужно протянуть окно чтобы оно действительно начало перемещаться.
ConstrainedMoveTime 200     # Время в миллисекундах между двумя кликами мышки 
XorValue 16777215           # Инверсия цветров
RandomPlacement             # Размещать окна сразу
#SqueezeTitle               # Заголовки окон сжимать 
BorderWidth 3               # Ширина границ окон.
NoRaiseOnMove               # Не выносить окно на передний план при перемещении.
NoRaiseOnResize             # Не выносить окно на передний план при изменении размеров.
FramePadding 0              # Размер зазора меж элементами управления окном в заголовке и границей.
#NoTitleHighlight           # Не использовать индикатор фокуса в заголовке.
UsePPosition "on"           # Размещать окна так как просят программы.


Pixmaps { TitleHighlight ".twm/bitmaps/focus_indicator.xbm" } # Картинка для индикатора фокуса

# Цвета
Color {
BorderTileBackground "rgb:1/1/1"
BorderTileForeground "rgb:5/5/5"
BorderColor          "rgb:F/F/F"
TitleForeground "rgb:5/5/5"
TitleBackground "rgb:1/1/1"
}

# Шрифты
#TitleFont  "-*-*sans-bold-r-normal-*-12-*-*-*-*-*-*-*"
#ResizeFont "-*-*mono-bold-r-normal-*-16-*-*-*-*-*-*-*"

# Курсоры
# Список встроенных курсоров здесь:
# /usr/local/include/X11/cursorfont.h
#Cursors{
#Frame "hand2"
#}

############################# Иконки
WarpCursor                  # Переносить курсор на окно которое мы развернули
IconifyByUnmapping          # Не создавать иконки
IconBorderWidth 1

IconRegion "400x700-1-1" South East 70 20 



############################# Менеджер иконок
#ShowIconManager            # Запускать при старте.
#SortIconManager            # Сортировать иконки в менеджере.
NoTitle {"TWM Icon Manager"}# Убираем заголовок из панели задач.

IconManagerGeometry "1366x1+1+1" 9
Color {
IconBackground "rgb:0/0/0"
IconForeground "rgb:5/5/5"
IconBorderColor "rgb:3/3/3"
IconManagerBackground "rgb:1/1/1"
IconManagerForeground "rgb:5/5/5"
IconManagerHighlight "rgb:8/7/2"
BorderTileBackground "" {"TWM Icon Manager" "rgb:0/0/0"}
BorderTileForeground "" {"TWM Icon Manager" "rgb:0/0/0"}
BorderColor          "" {"TWM Icon Manager" "rgb:0/0/0"}
}

#IconFont "-*-*sans-bold-i-normal-*-12-*-*-*-*-*-*-*"
#IconManagerFont "-*-*sans-bold-r-normal-*-12-*-*-*-*-*-*-*"



#----------------------------Особая настройка конкретных окон
NoTitle {"grun"}
IconManagerDontShow {"grun"}

############################# Меню
#InterpolateMenuColors       # Плавно менять цвет пунктов меню
MenuBorderWidth 1            # Ширина границы менюшек

Color {
MenuBackground "rgb:1/1/1"
MenuForeground "rgb:7/7/7"
MenuBorderColor "rgb:F/F/F"
MenuTitleBackground "rgb:3/3/3"
MenuTitleForeground "rgb:1/1/1"
#MenuShadowColor "rgb:1/1/0"
}

#MenuFont "-*-*sans-bold-r-normal-*-12-*-*-*-*-*-*-*"

###################################################################
#                         Управление                              #
###################################################################

##################################################### Окна
# Функции
Function "resize-or-lower" { f.resize f.deltastop f.lower }
Function "move-or-raise"   { f.move f.deltastop f.raise }

# Переключение между несвернутыми окнами
Function "next-win"   { f.hideiconmgr f.circleup }
Function "prev-win"   { f.hideiconmgr f.circledown }

# Окно влево, вверх, вниз, вправо
LeftTitleButton "~/.twm/bitmaps/left.xbm" = f.leftzoom
#LeftTitleButton "~/.twm/bitmaps/top.xbm" = f.topzoom
#LeftTitleButton "~/.twm/bitmaps/bottom.xbm" = f.bottomzoom
LeftTitleButton "~/.twm/bitmaps/right.xbm" = f.rightzoom
#LeftTitleButton "~/.twm/bitmaps/focus_indicator.xbm" = f.nop

# Картинки и действия для свернуть-развернуть-закрыть
RightTitleButton "~/.twm/bitmaps/minimize.xbm" = f.iconify
#RightTitleButton "~/.twm/bitmaps/ch_size_hor.xbm" = f.horizoom
RightTitleButton "~/.twm/bitmaps/ch_size.xbm" = f.fullzoom
#RightTitleButton "~/.twm/bitmaps/ch_size_ver.xbm" = f.zoom
RightTitleButton "~/.twm/bitmaps/close.xbm" = f.delete

"F4" = mod1 : iconmgr|window|frame|title : f.delete
#"z"  = mod1 : iconmgr|window|frame|title : f.fullzoom 
#"i"  = mod1 : iconmgr|window|frame|title : f.identify

Button3 = : root : f.menu "main"
#Button2 = : root : f.showiconmgr
Button1 = : root : f.menu "TwmWindows"

Button1 = : title : f.function "move-or-raise"
Button1 = : frame : f.function "resize-or-lower"

Button3 = m : root|frame|title : f.menu "main" #window was2
Button1 = m : root|frame|title : f.menu "TwmWindows"

# Переключение между несвернутыми окнами
"Tab"= control : all : f.function "next-win"
"Tab"= mod1 control : all : f.function "prev-win"

##################################################### Менеджер иконок
# Ф-ции для реализации менеджера задач
Function "taskbar-next" { f.showiconmgr f.downiconmgr }
Function "taskbar-prev" { f.showiconmgr f.upiconmgr }
#Function "taskbar-app-raise-lower" { f.hideiconmgr f.raiselower f.showiconmgr }
Function "taskbar-app-raise-hide" { f.iconify f.raise f.showiconmgr }
Function "taskbar-app-raise" { f.deiconify f.raise }
# также разворачивает окно, если оно уже свернуто
Function "taskbar-app-hide"  { f.iconify f.function "taskbar-next"}

Button3 = : iconmgr : f.raiselower
Button2 = : iconmgr : f.hideiconmgr
Button1 = : iconmgr : f.function "taskbar-app-raise-hide"

"Tab" = mod1 : root|window|frame|title|iconmgr : f.function "taskbar-next"
"Tab" = mod1 shift: root|window|frame|title|iconmgr : f.function "taskbar-prev"
"1" = mod1 : iconmgr|window|frame|title : f.function "taskbar-app-raise"
"2" = mod1 : iconmgr|window|frame|title : f.function "taskbar-app-hide"


###################################################### Иконки
Function "move-or-iconify" { f.move f.deltastop f.iconify }

Button1 = : icon : f.function "move-or-iconify"
Button3 = : icon : f.lower

###################################################################
#                         Меню                                    #
###################################################################
### Главное Меню
menu "main" {
"Menu           " f.title
"Xterm"          # ("rgb:e/e/e" : "rgb:a/9/1")        
                  f.exec "xterm & " #-r -geometry 110x24+0-1 -fn -cronyx-fixed-*-r-normal--16-120-100-100-c-80-koi8-r &"
"Run"             f.exec "grun &" #gmrun
"Dbian"           f.menu "/Debian"

""                f.nop
"Windows"         f.menu "win_tools"
"TWM"             f.menu "twm_tools"
}

### Команды для управления окнами
menu "win_tools"
{
"Window         "      f.title
"Iconify"              f.iconify
"Resize"               f.resize
"Move"                 f.move
"Raise"                f.raise
"Lower"                f.lower
"Delete"               f.delete
"Kill"                 f.destroy
}

menu "twm_tools"
{
"TWM            "            f.title
"Hibernate"                  f.exec "echo '774'| sudo -S hibernate &"
"Reboot"                     f.exec "echo '774'| sudo -S reboot &"
"Shutdown"                   f.exec "echo '774'| sudo -S shutdown now &"
""                           f.title
"Refresh"                    f.refresh
"Restart"                    f.restart
"Exit"                       f.quit
#"KDE"                       f.startwm "kde"                             
}

# Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html)

menu "/Debian/Applications/Accessibility"
{
  "Xmag"    f.exec  "xmag &"
}
menu "/Debian/Applications/Editors"
{
  "Xedit"    f.exec  "xedit &"
}
menu "/Debian/Applications/Education"
{
  "Arithmetic Quiz"    f.exec  "x-terminal-emulator  -T \"Arithmetic Quiz\" -e sh -c \"sh -c 'arithmetic;echo PRESS ENTER;read line'\" &"
}
menu "/Debian/Applications/File Management"
{
  "grun"    f.exec  "/usr/bin/grun &"
}
menu "/Debian/Applications/Graphics"
{
  "The GIMP"    f.exec  "/usr/bin/gimp &"
  "X Window Snapshot"    f.exec  "xwd | xwud &"
}
menu "/Debian/Applications/Network/Communication"
{
  "Irssi"    f.exec  "x-terminal-emulator  -T \"Irssi\" -e sh -c \"/usr/bin/irssi\" &"
  "Xbiff"    f.exec  "xbiff &"
}
menu "/Debian/Applications/Network/Web Browsing"
{
  "Links 2"    f.exec  "/usr/bin/links2 -g &"
  "Links 2 (text)"    f.exec  "x-terminal-emulator  -T \"Links 2 (text)\" -e sh -c \"/usr/bin/links2\" &"
  "Lynx"    f.exec  "x-terminal-emulator  -T \"Lynx\" -e sh -c \"lynx\" &"
  "w3m"    f.exec  "x-terminal-emulator  -T \"w3m\" -e sh -c \"/usr/bin/w3m /usr/share/doc/w3m/MANUAL.html\" &"
}
menu "/Debian/Applications/Network"
{
  "Communication" f.menu "/Debian/Applications/Network/Communication"
  "Web Browsing" f.menu "/Debian/Applications/Network/Web Browsing"
}
menu "/Debian/Applications/Office"
{
  "GoldenDict"    f.exec  "/usr/bin/goldendict &"
}
menu "/Debian/Applications/Programming"
{
  "Tclsh8.6"    f.exec  "x-terminal-emulator  -T \"Tclsh8.6\" -e sh -c \"/usr/bin/tclsh8.6\" &"
}
menu "/Debian/Applications/Science/Mathematics"
{
  "Xcalc"    f.exec  "xcalc &"
}
menu "/Debian/Applications/Science"
{
  "Mathematics" f.menu "/Debian/Applications/Science/Mathematics"
}
menu "/Debian/Applications/Shells"
{
  "Bash"    f.exec  "x-terminal-emulator  -T \"Bash\" -e sh -c \"/bin/bash --login\" &"
  "Dash"    f.exec  "x-terminal-emulator  -T \"Dash\" -e sh -c \"/bin/dash -i\" &"
  "Sh"    f.exec  "x-terminal-emulator  -T \"Sh\" -e sh -c \"/bin/sh --login\" &"
}
menu "/Debian/Applications/System/Administration"
{
  "Debian Task selector"    f.exec  "x-terminal-emulator  -T \"Debian Task selector\" -e sh -c \"su-to-root -c tasksel\" &"
  "Editres"    f.exec  "editres &"
  "GNOME partition editor"    f.exec  "su-to-root -X -c /usr/sbin/gparted &"
  "Xclipboard"    f.exec  "xclipboard &"
  "Xfontsel"    f.exec  "xfontsel &"
  "Xkill"    f.exec  "xkill &"
  "Xrefresh"    f.exec  "xrefresh &"
  "xxkb"    f.exec  "/usr/bin/xxkb &"
}
menu "/Debian/Applications/System/Hardware"
{
  "Xvidtune"    f.exec  "xvidtune &"
}
menu "/Debian/Applications/System/Monitoring"
{
  "Pstree"    f.exec  "x-terminal-emulator  -T \"Pstree\" -e sh -c \"/usr/bin/pstree.x11\" &"
  "Top"    f.exec  "x-terminal-emulator  -T \"Top\" -e sh -c \"/usr/bin/top\" &"
  "Xconsole"    f.exec  "xconsole -file /dev/xconsole &"
  "Xev"    f.exec  "x-terminal-emulator -e xev &"
  "Xload"    f.exec  "xload &"
}
menu "/Debian/Applications/System/Package Management"
{
  "Aptitude Package Manager (text)"    f.exec  "x-terminal-emulator  -T \"Aptitude Package Manager (text)\" -e sh -c \"/usr/bin/aptitude-curses\" &"
}
menu "/Debian/Applications/System"
{
  "Administration" f.menu "/Debian/Applications/System/Administration"
  "Hardware" f.menu "/Debian/Applications/System/Hardware"
  "Monitoring" f.menu "/Debian/Applications/System/Monitoring"
  "Package Management" f.menu "/Debian/Applications/System/Package Management"
}
menu "/Debian/Applications/Terminal Emulators"
{
  "Multilingual Terminal (client)"    f.exec  "/usr/bin/mlclient &"
  "Multilingual Terminal (daemon)"    f.exec  "/usr/bin/mlterm -j=genuine &"
  "Multilingual Terminal (normal)"    f.exec  "/usr/bin/mlterm &"
  "xiterm+thai"    f.exec  "/usr/bin/txiterm -ls &"
}
menu "/Debian/Applications/Text"
{
  "Fortune"    f.exec  "sh -c 'while /usr/games/fortune | col -x | xmessage -center -buttons OK:1,Another:0 -default OK -file - ; do :; done' &"
  "hspell-gui"    f.exec  "/usr/bin/hspell-gui &"
  "hspell-gui (Hebrew UI)"    f.exec  "/usr/bin/hspell-gui-heb &"
  "kasumi"    f.exec  "/usr/bin/kasumi &"
  "Khmer Converter"    f.exec  "/usr/bin/khmerconverter &"
}
menu "/Debian/Applications/Viewers"
{
  "Wordview"    f.exec  "/usr/bin/wordview &"
  "Xditview"    f.exec  "xditview &"
}
menu "/Debian/Applications"
{
  "Accessibility" f.menu "/Debian/Applications/Accessibility"
  "Editors" f.menu "/Debian/Applications/Editors"
  "Education" f.menu "/Debian/Applications/Education"
  "File Management" f.menu "/Debian/Applications/File Management"
  "Graphics" f.menu "/Debian/Applications/Graphics"
  "Network" f.menu "/Debian/Applications/Network"
  "Office" f.menu "/Debian/Applications/Office"
  "Programming" f.menu "/Debian/Applications/Programming"
  "Science" f.menu "/Debian/Applications/Science"
  "Shells" f.menu "/Debian/Applications/Shells"
  "System" f.menu "/Debian/Applications/System"
  "Terminal Emulators" f.menu "/Debian/Applications/Terminal Emulators"
  "Text" f.menu "/Debian/Applications/Text"
  "Viewers" f.menu "/Debian/Applications/Viewers"
}
menu "/Debian/Games/Action"
{
  "Robots"    f.exec  "x-terminal-emulator  -T \"Robots\" -e sh -c \"robots\" &"
  "Snake"    f.exec  "x-terminal-emulator  -T \"Snake\" -e sh -c \"sh -c 'snake;echo PRESS ENTER;read line'\" &"
  "Star Trek"    f.exec  "x-terminal-emulator  -T \"Star Trek\" -e sh -c \"trek\" &"
  "Worm"    f.exec  "x-terminal-emulator  -T \"Worm\" -e sh -c \"sh -c 'worm;echo PRESS ENTER;read line'\" &"
}
menu "/Debian/Games/Adventure"
{
  "Battlestar"    f.exec  "x-terminal-emulator  -T \"Battlestar\" -e sh -c \"sh -c 'battlestar;echo PRESS ENTER;read line'\" &"
  "BSD-Games Adventure"    f.exec  "x-terminal-emulator  -T \"BSD-Games Adventure\" -e sh -c \"bsdgames-adventure\" &"
  "Hack"    f.exec  "x-terminal-emulator  -T \"Hack\" -e sh -c \"hack\" &"
  "Hunt the Wumpus"    f.exec  "x-terminal-emulator  -T \"Hunt the Wumpus\" -e sh -c \"wump\" &"
  "Phantasia"    f.exec  "x-terminal-emulator  -T \"Phantasia\" -e sh -c \"phantasia\" &"
}
menu "/Debian/Games/Blocks"
{
  "Bsd Tetris"    f.exec  "x-terminal-emulator  -T \"Bsd Tetris\" -e sh -c \"sh -c 'tetris-bsd;echo;echo PRESS ENTER;read line'\" &"
}
menu "/Debian/Games/Board"
{
  "Backgammon"    f.exec  "x-terminal-emulator  -T \"Backgammon\" -e sh -c \"backgammon -pb\" &"
  "GnuChess"    f.exec  "x-terminal-emulator  -T \"GnuChess\" -e sh -c \"/usr/games/gnuchess\" &"
  "Gomoku"    f.exec  "x-terminal-emulator  -T \"Gomoku\" -e sh -c \"gomoku\" &"
  "Monopoly"    f.exec  "x-terminal-emulator  -T \"Monopoly\" -e sh -c \"monop\" &"
}
menu "/Debian/Games/Card"
{
  "Canfield"    f.exec  "x-terminal-emulator  -T \"Canfield\" -e sh -c \"canfield\" &"
  "Cribbage"    f.exec  "x-terminal-emulator  -T \"Cribbage\" -e sh -c \"cribbage\" &"
  "Go Fish"    f.exec  "x-terminal-emulator  -T \"Go Fish\" -e sh -c \"sh -c 'go-fish;echo;echo PRESS ENTER;read line'\" &"
  "Mille Bornes"    f.exec  "x-terminal-emulator  -T \"Mille Bornes\" -e sh -c \"mille\" &"
}
menu "/Debian/Games/Puzzles"
{
  "Boggle"    f.exec  "x-terminal-emulator  -T \"Boggle\" -e sh -c \"boggle\" &"
  "Hangman"    f.exec  "x-terminal-emulator  -T \"Hangman\" -e sh -c \"hangman\" &"
}
menu "/Debian/Games/Strategy"
{
  "Air Traffic Controller"    f.exec  "x-terminal-emulator  -T \"Air Traffic Controller\" -e sh -c \"sh -c 'atc ; echo;echo PRESS ENTER;read line'\" &"
  "Sail"    f.exec  "x-terminal-emulator  -T \"Sail\" -e sh -c \"sail\" &"
}
menu "/Debian/Games/Toys"
{
  "Oclock"    f.exec  "oclock &"
  "Rain"    f.exec  "x-terminal-emulator  -T \"Rain\" -e sh -c \"rain\" &"
  "Worms"    f.exec  "x-terminal-emulator  -T \"Worms\" -e sh -c \"worms\" &"
  "Xclock (analog)"    f.exec  "xclock -analog &"
  "Xclock (digital)"    f.exec  "xclock -digital -update 1 &"
  "Xeyes"    f.exec  "xeyes &"
  "Xlogo"    f.exec  "xlogo &"
}
menu "/Debian/Games"
{
  "Action" f.menu "/Debian/Games/Action"
  "Adventure" f.menu "/Debian/Games/Adventure"
  "Blocks" f.menu "/Debian/Games/Blocks"
  "Board" f.menu "/Debian/Games/Board"
  "Card" f.menu "/Debian/Games/Card"
  "Puzzles" f.menu "/Debian/Games/Puzzles"
  "Strategy" f.menu "/Debian/Games/Strategy"
  "Toys" f.menu "/Debian/Games/Toys"
}
menu "/Debian/Help"
{
  "Info"    f.exec  "x-terminal-emulator  -T \"Info\" -e sh -c \"info\" &"
  "Xman"    f.exec  "xman &"
}
menu "/Debian/Window Managers"
{
 "Twm" f.startwm "twm"
}
menu "/Debian"
{
  "Applications" f.menu "/Debian/Applications"
  "Games" f.menu "/Debian/Games"
  "Help" f.menu "/Debian/Help"
  "Window Managers" f.menu "/Debian/Window Managers"
}
