cvsimport
[fvwm.git] / modules / FvwmTabs / ConfigFvwmTabs
blob6ed059090f536e6d39c5c2c08e1a3b5c414e1dda
1 # Author: Scott Smedley ss@aao.gov.au
3 # See the FvwmTabs(1) man page for how to use the FvwmTabs module.
5 # DO NOT EDIT this file unless you know what you are doing.
6 # Default USER CONFIGURATION settings are in FvwmTabs-DefaultSetup.
8 # Create a new Tabber.
9 # Can specify optional --geometry 1st argument.
10 # ie. NewTabber --geometry=+220+550 scottie
11 DestroyFunc NewTabber
12 AddToFunc NewTabber I SendToModule FvwmTabs createNewTabber $0 $1
14 # Add a window (as a tab) to a Tabber.
15 DestroyFunc Tabize
16 AddToFunc Tabize I SendToModule FvwmTabs addme $0
18 # Save FvwmTabs state (usually invoked just before restart).
19 DestroyFunc SaveState
20 AddToFunc SaveState I SendToModule FvwmTabs saveState
22 DestroyFunc SaveStateAndKill
23 AddToFunc SaveStateAndKill
24 + I     Function SaveState
25 + I KillModule FvwmTabs
27 # Functions used in key bindings.
28 DestroyFunc NextTab
29 AddToFunc NextTab
30 + I Current (FvwmTabs) SendToModule FvwmTabs fn showNext $[w.id] 1
32 DestroyFunc PrevTab
33 AddToFunc PrevTab
34 + I Current (FvwmTabs) SendToModule FvwmTabs fn showNext $[w.id] -1
36 DestroyFunc LastTab
37 AddToFunc LastTab
38 + I Current (FvwmTabs) SendToModule FvwmTabs fn showLast $[w.id]
40 DestroyFunc ReleaseIconifyTab
41 AddToFunc ReleaseIconifyTab
42 + I Current (FvwmTabs) SendToModule FvwmTabs fn releaseTab $[w.id] current 1
44 DestroyFunc ReleaseTab
45 AddToFunc ReleaseTab
46 + I Current (FvwmTabs) SendToModule FvwmTabs fn releaseTab $[w.id] current 0
48 DestroyFunc ReleaseAllTabs
49 AddToFunc ReleaseAllTabs
50 + I Current (FvwmTabs) SendToModule FvwmTabs fn releaseAll $[w.id] 0
52 DestroyFunc ReleaseIconifyAllTabs
53 AddToFunc ReleaseIconifyAllTabs
54 + I Current (FvwmTabs) SendToModule FvwmTabs fn releaseAll $[w.id] 1
56 DestroyFunc CloseTabber
57 AddToFunc CloseTabber
58 + I Current (FvwmTabs) SendToModule FvwmTabs fn closeTabber $[w.id]
60 DestroyFunc AddTab
61 AddToFunc AddTab
62 + I Current (FvwmTabs) SendToModule FvwmTabs fn pickAndAdd $[w.id] single
64 DestroyFunc MultiAddTab
65 AddToFunc MultiAddTab
66 + I Current (FvwmTabs) SendToModule FvwmTabs fn pickAndAdd $[w.id] multi
68 DestroyFunc ShowTab
69 AddToFunc ShowTab
70 + I Current (FvwmTabs) SendToModule FvwmTabs fn showTab $[w.id] $0
72 DestroyFunc SwapLeft
73 AddToFunc SwapLeft
74 + I Current (FvwmTabs) SendToModule FvwmTabs fn swapLeft $[w.id]
76 DestroyFunc SwapRight
77 AddToFunc SwapRight
78 + I Current (FvwmTabs) SendToModule FvwmTabs fn swapRight $[w.id]
80 DestroyFunc EnableDND
81 AddToFunc EnableDND I SendToModule FvwmTabs enableDND $0
83 # SwallowNew - Run program $0 & have window immediately added to tabber.
84 DestroyFunc SwallowNew
85 AddToFunc SwallowNew
86 + I SendToModule FvwmTabs swallowNext lastFocus Exec exec $*
88 # SwallowNewIfFocussed - Run program $0. If a tabber is focused, have
89 # window immediately added to tabber.
90 DestroyFunc SwallowNewIfFocused
91 AddToFunc SwallowNewIfFocused
92 + I Current (FvwmTabs) SwallowNew $*
93 + I TestRc (NoMatch) Exec exec $*
95 # SwallowNextStatus - is used by the 'tab' (shell) command.
96 DestroyFunc SwallowNextStatus
97 AddToFunc SwallowNextStatus
98 + I Deschedule 314159
99 + I PipeRead 'usleep 1'
100 + I SendToModule FvwmCommandS swallowNext$0
101 + I PipeRead 'usleep 1'
102 + I SendToModule FvwmCommandS flush
104 # AddToTabber - add the current window to a tabber.
105 DestroyFunc AddToTabber
106 AddToFunc AddToTabber I Current Function Tabize $0
108 # CreateTabberWithWin will put the focused window into a new tabber,
109 # creating it at the same position as the window.
110 DestroyFunc CreateTabberWithWin
111 AddToFunc CreateTabberWithWin
112 + I Current (!FvwmTabs) SetEnv CTWW_ID $[w.id]
113 + I TestRc (NoMatch) Break
114 + I PipeRead 'echo SetEnv CTWW_COUNT $(( $CTWW_COUNT+1 ))'
115 + I NewTabber --geometry=+$[w.x]+$[w.y] .$[CTWW_COUNT]
116 + I Wait "FvwmTabs*"
117 + I WindowId $[CTWW_ID] Tabize .$[CTWW_COUNT]
119 DestroyFunc MakeTabbersMenu
120 AddToFunc MakeTabbersMenu
121 + I DestroyMenu recreate TabbersMenu
122 + I AddToMenu TabbersMenu "FvwmTabs tab-managers" Title
123 + I AddToMenu TabbersMenu "Create tab-manager with this window" Function CreateTabberWithWin
124 + I All ("FvwmTabs [*]") AddToMenu TabbersMenu "$$$$[w.name]" Function AddToTabber $$$$[w.id]
126 # TabbersMenu - best invoked from the menu that pops up when you click
127 # on the left button in the titlebar of a window. It lists all tabbers
128 # currently running on the system & automatically adds the window to the
129 # tabber the user selects.
130 DestroyMenu TabbersMenu
131 AddToMenu TabbersMenu
132 + DynamicPopupAction Function MakeTabbersMenu
134 # === Once ===
136 # Once - only execute an action if it has not been executed already.
137 # This looks complicated mostly because environment variable
138 # values are preserved between restarts.
139 # Requires fvwm >= 2.5.17 or CVS >= 16-July-2006
140 DestroyFunc Once
141 AddToFunc Once
142 + I Test (EnvIsSet $[0]) Break
143 + I SetEnv $[0]
144 + I AddToFunc Once_ClearEnvVars I UnsetEnv $[0]
145 + I $[1-]
147 Once ONCE_INIT AddToFunc ExitFunction I Test (ToRestart) Once_ClearEnvVars
149 # === === ===
151 # Make sure "SaveState" is only added to ExitFunction once.
152 Once FvwmTabs_AddSaveStateHook AddToFunc ExitFunction I Test (ToRestart) Function SaveState
154 # FvwmTabs-DefaultSetup has some useful key-bindings for FvwmTabs.
155 # Source this file unless the $FvwmTabs_NoDefaultSetup environment
156 # variable is set, in which case the user probably wants to define their
157 # own bindings.
158 Test (!EnvIsSet FvwmTabs_NoDefaultSetup) Read FvwmTabs-DefaultSetup