-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig
141 lines (113 loc) · 3.91 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
##################################
# ____________________________
# ( ______ KISe _____________)
# ) (__ _ _ _ _
# ( __)( \/ )( \/\/ )/\/\
# ) ( \ / \ // \
# (___) \/ \/\/(_/\/\_) 3
#
#
# This is the startup configuration file. It follows the same sequence
# as the original Fvwm config system.
#
# The system is organized as follows:
#
# 1: Functions
# 2: Styles
# 3: Colorsets
# 4: Menus
# 5: Bindings
# 6: Decor
# 7: Modules
#
# In Fvwm-KISe, the sections are located in separate folders instead of
# one large config file making it easy to manage and add new functions,
# decor, and modules defined by the user.
#
# To make changes and add new features without being overwritten by new
# updates, it includes two folders and system files:
#
# .fvwm/core + config: core script (configs) folders and startup file.
# .fvwm/user + userExt.sys: user script folders and user system file.
#
#################################
SetEnv HOME_DIR $[HOME]/.fvwm
SetEnv CORE_DIR $[HOME]/.fvwm/core
SetEnv USER_DIR $[HOME]/.fvwm/user
## If .fvwm/userExt.sys doesn't exist, copy setup/userExtSAMPLE.sys.
## If .config/picom/picom.K.conf doesn't exist, copy setup/picom/picom.K.conf.
## If .config/rofi/config.rasi doesn't exist, copy setup/rofi/config.rasi
#####
## Copy essential folders and files to assigned locations.
Exec exec sh $[HOME_DIR]/setup/copySampleTo.sh
#####
## Load startup functions, wifi and system info.
Read $[CORE_DIR]/1Functions/FVWM-Functions.def
Read $[CORE_DIR]/1Functions/InitMgr/initMgr.sys
#####
## Load Picom compositor.
Exec exec killall -qw picom
AddToFunc StartFunction
+ I InfoStoreRemove picVERSION
+ I PipeRead 'echo InfoStoreAdd picVERSION `picom --version | sed 's/^.//'`'
+ I Test (EnvMatch infostore.picVERSION 9.*) Exec exec picom --config ~/.config/picom/picom.K.conf
+ I Test (EnvMatch infostore.picVERSION 11.*) Exec exec picom --config ~/.config/picom/picom.v11.conf
+ I Test (EnvMatch infostore.picVERSION 12.*) Exec exec picom --config ~/.config/picom/picom.v12.conf
#####
## Remember focused window in current page.
SetEnv FocusPage 0
DestroyFunc SavePageFocus
AddToFunc SavePageFocus
+ I All (CurrentPage) State $[FocusPage] False
+ I Current State $[FocusPage] True
## Restore previous focused window in current page.
DestroyFunc RestorePageFocus
AddToFunc RestorePageFocus
+ I Current (CurrentPage) Break 1
+ I Next (CurrentPage, State $[FocusPage]) Focus
+ I None (CurrentPage, Focused) Prev (CurrentPage) Focus
DestroyModuleConfig FvwmEvent-FDpg:*
*FvwmEvent-FDpg: Cmd
*FvwmEvent-FDpg: new_page RestorePageFocus
*FvwmEvent-FDpg: new_desk RestorePageFocus
*FvwmEvent-FDpg: focus_change SavePageFocus
Module FvwmEvent FvwmEvent-FDpg
#####
## Save focus window id on restart
AddToFunc ExitFunction
+ I Test (ToRestart) Current InfoStoreAdd WFocusId $[w.id]
# Show previous Window Id on restart
AddToFunc StartFunction
+ I Test (Restart) Schedule 1500 WindowId $[infostore.WFocusId] Focus
+ I Test (Restart) InfoStoreRemove WFocusId
#####
## Save current Desk on restart
AddToFunc ExitFunction
+ I Test (ToRestart) InfoStoreAdd DeskNo "0 $[desk.n]"
+ I GoToDesk 0 0
# Show previous Desk on restart
AddToFunc StartFunction
+ I Test (Restart) Schedule 500 GoToDesk $[infostore.DeskNo]
+ I Test (Restart) InfoStoreRemove DeskNo
#######################
## USER
#######################
## To make changes and add new features without being overwritten
## by new updates, this reads the userExt.sys file.
Read $[HOME_DIR]/userExt.sys
## FvwmButtons not to be focused.
DestroyFunc NoFoc
AddToFunc NoFoc
+ I Style *DLaunch* NeverFocus
+ I Style RightPager NeverFocus
+ I Style ControlMP NeverFocus
+ I Style ExitBar NeverFocus
+ I Style RightTbar NeverFocus
+ I Style HideBar NeverFocus
+ I Style NoDeskI NeverFocus
+ I Style Pgfunc NeverFocus
+ I Style WiconB NeverFocus
+ I Style PgNo NeverFocus
+ I Style FE-Label NeverFocus
+ I Style VdeskPager NeverFocus
Schedule 4000 NoFoc