#include <definitions>

/*
******************************************************************************
* Internally used and looked for actions
******************************************************************************
* ACTION_BUTTON_DRAG is looked for by e to determine what "action" by a user
* will be applied to every button to start a button drag. if u dont like just
* moving and dragging (in case you accidentally keep doing it to buttons)
* add a modifer like alt, so u need to hold alt down whilst dragging to
* actually drag the button around
*/
__ACLASS __BGN
  __NAME ACTION_BUTTON_DRAG
  __TOOLTIP_TEXT "Click and drag to move desktop"
  __TOOLTIP_TEXT "(on any desktop but desktop 0)"
  __TYPE __TYPE_NORMAL
  __ALLOW_ANY_BUTTON __ON
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_KEY __ON
  __EVENT __MOUSE_PRESS
  __ACTION __A_DRAG_BUTTON
__END

/*
******************************************************************************
* Actionclasses for buttons
******************************************************************************
*/

__ACLASS __BGN
  __NAME ACTION_GOTO_DESK_NEXT
  __TOOLTIP_TEXT "Go to the next Desktop."
  __TYPE __TYPE_NORMAL
  __ALLOW_ANY_BUTTON __ON
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __EVENT __MOUSE_RELEASE
  __ACTION __A_DESKTOP_NEXT
__END

__ACLASS __BGN
  __NAME ACTION_GOTO_DESK_PREV
  __TOOLTIP_TEXT "Go to the previous Desktop."
  __TYPE __TYPE_NORMAL
  __ALLOW_ANY_BUTTON __ON
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __EVENT __MOUSE_RELEASE
  __ACTION __A_DESKTOP_PREV
__END

__ACLASS __BGN
  __NAME ACTION_MOVE
  __TOOLTIP_TEXT "left -> move/raise"
  __TOOLTIP_TEXT "middle -> shade"
  __TOOLTIP_TEXT "right -> menu"
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_PRESS
  __BUTTON 1
  __ACTION __A_MOVE
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_SHADE
  __NEXT_ACTION
  __EVENT __MOUSE_PRESS
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named WINOPS_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_MOVE_THIN
  __TOOLTIP_TEXT "left -> resize"
  __TOOLTIP_TEXT "middle -> shade"
  __TOOLTIP_TEXT "right -> menu"
  __TOOLTIP_TEXT "(alt-left to move)"
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_PRESS
  __BUTTON 1
  __ACTION __A_RESIZE
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_SHADE
  __NEXT_ACTION
  __EVENT __MOUSE_PRESS
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named WINOPS_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_RESIZE
  __TOOLTIP_TEXT "left -> resize"
  __TOOLTIP_TEXT "middle -> move"
  __TOOLTIP_TEXT "right -> menu"
  __TOOLTIP_TEXT "(alt-left to move)"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_PRESS
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_RESIZE
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_MOVE 
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named WINOPS_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_CLOSE
  __TOOLTIP_TEXT "left -> Kill"
  __TOOLTIP_TEXT "right -> Kill Menu"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_KILL
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named KILL_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_MAX
  __TOOLTIP_TEXT "left -> max vert"
  __TOOLTIP_TEXT "middle -> max both"
  __TOOLTIP_TEXT "right -> max menu"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __BUTTON 1
  __ACTION __A_MAX_HEIGHT 
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_MAX_SIZE
  __NEXT_ACTION
  __EVENT __MOUSE_RELEASE
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named MAX_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_SEND_NEXT
  __TOOLTIP_TEXT "Send this Window to the next desktop."
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_SEND_TO_NEXT_DESK
__END

__ACLASS __BGN
  __NAME ACTION_SEND_PREV
  __TOOLTIP_TEXT "Send this Window to the previous desktop."
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_SEND_TO_PREV_DESK
__END

__ACLASS __BGN
  __NAME ACTION_MENU
  __TOOLTIP_TEXT "Window Ops"
  __TYPE __TYPE_NORMAL
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __EVENT __MOUSE_PRESS
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_SHOW_MENU "named WINOPS_MENU"
__END


__ACLASS __BGN
  __NAME ACTION_ICONIFY
  __TOOLTIP_TEXT "left -> iconify"
  __TOOLTIP_TEXT "right -> iconify menu"
  __TYPE __TYPE_NORMAL
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __EVENT __MOUSE_RELEASE
  __BUTTON 1
  __ACTION __A_ICONIFY
  __NEXT_ACTION
  __EVENT __MOUSE_PRESS
  __BUTTON 3
  __ACTION __A_SHOW_MENU "named ICONIFY_MENU"
__END

__ACLASS __BGN
  __NAME ACTION_RAISE
  __TOOLTIP_TEXT "Click on this button to raise this window to the top."
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_RAISE
__END

__ACLASS __BGN
  __NAME ACTION_LOWER
  __TOOLTIP_TEXT "Click here to lower this window."
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_LOWER
__END

__ACLASS __BGN
  __NAME ACTION_STICK
  __TOOLTIP_TEXT "Click on this button to toggle the sticky (is visible on all"
  __TOOLTIP_TEXT "Desktops) state of this window. The border will look different"
  __TOOLTIP_TEXT "when the window is sticky."
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __ALLOW_ANY_BUTTON __ON
  __ACTION __A_STICK
__END


/* *********************** */
/* the two desktop buttons */
/* *********************** */

__ACLASS __BGN
  __NAME ACTION_EXEC_XTERM
  __TOOLTIP_TEXT "left -> nxterm"
  __TOOLTIP_TEXT "middle -> xterm"
  __TOOLTIP_TEXT "right -> eterm"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_EXEC nxterm
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_EXEC xterm
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_EXEC Eterm
__END

__ACLASS __BGN
  __NAME ACTION_EXEC_EMACS
  __TOOLTIP_TEXT "left -> emacs"
  __TOOLTIP_TEXT "middle -> jed"
  __TOOLTIP_TEXT "right -> xjed"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_EXEC emacs
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_EXEC nxterm -e jed
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_EXEC xjed
__END



__ACLASS __BGN
  __NAME ACTION_EXEC_NETSCAPE
  __TOOLTIP_TEXT "left -> netscape4"
  __TOOLTIP_TEXT "middle -> lynx"
  __TOOLTIP_TEXT "right -> netscape3"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_EXEC "netscape -dont-save-geometry-prefs -ignore-geometry-prefs"
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_EXEC "nxterm -geometry 80x40 -e lynx"
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_EXEC "netscape3"
__END
__ACLASS __BGN
  __NAME ACTION_EXEC_NETSCAPE
  __TOOLTIP_TEXT "left -> netscape4"
  __TOOLTIP_TEXT "middle -> lynx"
  __TOOLTIP_TEXT "right -> netscape3"
  __TYPE __TYPE_NORMAL
  __EVENT __MOUSE_RELEASE
  __ALLOW_ANY_MODIFIER_KEYS __ON
  __BUTTON 1
  __ACTION __A_EXEC "netscape -dont-save-geometry-prefs -ignore-geometry-prefs"
  __NEXT_ACTION
  __BUTTON 2
  __ACTION __A_EXEC "nxterm -geometry 80x40 -e lynx"
  __NEXT_ACTION
  __BUTTON 3
  __ACTION __A_EXEC "netscape3"
__END
