]> git.decadent.org.uk Git - ion3.git/blob - pwm/cfg_pwm.lua
805daf010d3609fc3c78893c5c3014f7dcb028db
[ion3.git] / pwm / cfg_pwm.lua
1 --
2 -- PWM main configuration file
3 --
4 -- This file only includes some settings that are rather frequently altered,
5 -- and the differences between PWM and Ion. The rest of the settings are in 
6 -- cfg_ioncore.lua and individual modules' configuration files 
7 -- (cfg_modulename.lua).
8 --
9
10 -- Set default modifiers. Alt should usually be mapped to Mod1 on
11 -- XFree86-based systems. The flying window keys are probably Mod3
12 -- or Mod4; see the output of 'xmodmap'.
13 --META="Mod1+"
14 --ALTMETA=""
15
16 -- Some basic settings
17 ioncore.set{
18     -- Maximum delay between clicks in milliseconds to be considered a
19     -- double click.
20     --dblclick_delay=250,
21
22     -- For keyboard resize, time (in milliseconds) to wait after latest
23     -- key press before automatically leaving resize mode (and doing
24     -- the resize in case of non-opaque move).
25     --kbresize_delay=1500,
26
27     -- Opaque resize?
28     --opaque_resize=false,
29
30     -- Movement commands warp the pointer to frames instead of just
31     -- changing focus. Enabled by default.
32     --warp=true,
33 }
34
35 -- cfg_ioncore contains configuration of the Ion 'core'
36 dopath("cfg_ioncore")
37
38 -- Load some modules. 
39 --dopath("cfg_modules")
40 --dopath("mod_query")
41 dopath("mod_menu")
42 --dopath("mod_tiling")
43 --dopath("mod_statusbar")
44 dopath("mod_dock")
45 --dopath("mod_sp")
46
47
48 --
49 -- PWM customisations to bindings and menus
50 --
51
52
53 -- Unbind anything using mod_query and rebinding to mod_menu where
54 -- applicable.
55
56 defbindings("WScreen", {
57     kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"),
58 })
59
60 defbindings("WMPlex.toplevel", {
61     kpress(ALTMETA.."F1", nil),
62     kpress(META..   "F1", "ioncore.exec_on(_, ':man pwm3')"),
63     kpress(ALTMETA.."F3", nil),
64     kpress(META..   "F3", nil),
65     kpress(ALTMETA.."F4", nil),
66     kpress(ALTMETA.."F5", nil),
67     kpress(ALTMETA.."F6", nil),
68     kpress(ALTMETA.."F9", nil),
69     kpress(META.."G", nil),
70     kpress(META.."A", nil),
71 })
72
73 defbindings("WFrame", {
74     kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),
75 })
76
77 -- Make a new main menu with additional workspace menu.
78
79 defmenu("mainmenu", {
80     submenu("Programs",      "appmenu"),
81     menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),
82     menuentry("Help",        "ioncore.exec_on(_, ':man pwm3')"),
83     submenu("Workspaces",    "wsmenu"),
84     submenu("Styles",        "stylemenu"),
85     submenu("Session",       "sessionmenu"),
86 })
87
88 -- Application menu
89 defmenu("appmenu", {
90     menuentry("XTerm",          "ioncore.exec_on(_, 'xterm')"),
91     menuentry("W3M",            "ioncore.exec_on(_, ':w3m -v')"),
92     menuentry("Rxvt",           "ioncore.exec_on(_, 'rxvt')"),
93     menuentry("Opera",          "ioncore.exec_on(_, 'opera')"),
94     menuentry("Links",          "ioncore.exec_on(_, ':links')"),
95     menuentry("Konqueror",      "ioncore.exec_on(_, 'konqueror')"),
96     menuentry("Dillo",          "ioncore.exec_on(_, 'dillo')"),
97     menuentry("Run...",         "mod_query.query_exec(_)"),
98 })
99
100 -- Workspace menu
101 defmenu("wsmenu", {
102     menuentry("New",         "ioncore.create_ws(_)"),
103     menuentry("Close",       "WRegion.rqclose(_sub)",
104                              "_sub:WGroupWS"),
105     submenu("List",          "workspacelist"),
106 })
107