File: awesome.lua

package info (click to toggle)
awesome 4.3-8.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,468 kB
  • sloc: ansic: 14,508; sh: 526; makefile: 46
file content (100 lines) | stat: -rw-r--r-- 2,469 bytes parent folder | download | duplicates (4)
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
local lgi       = require("lgi")
local gears_obj = require("gears.object")

-- Emulate the C API classes. They differ from C API objects as connect_signal
-- doesn't take an object as first argument and they support fallback properties
-- handlers.
local function _shim_fake_class()
    local obj = gears_obj()
    obj.data = {}

    local meta = {
        __index     = function()end,
        __newindex = function()end,
    }

    obj._connect_signal = obj.connect_signal

    function obj.connect_signal(name, func)
        return obj._connect_signal(obj, name, func)
    end

    function obj.set_index_miss_handler(handler)
        meta.__index = handler
    end

    function obj.set_newindex_miss_handler(handler)
        meta.__newindex = handler
    end

    function obj.emit_signal(name, c, ...)
        local conns = obj._signals[name] or {strong={}}
        for func in pairs(conns.strong) do
            func(c, ...)
        end
    end

    return obj, meta
end

local awesome = _shim_fake_class()
awesome._shim_fake_class = _shim_fake_class

-- Avoid c.screen = acreen.focused() to be called, all tests will fail
awesome.startup = true

function awesome.register_xproperty()
end

function awesome.xkb_get_group_names()
    return "pc+us+inet(evdev)"
end

function awesome.xkb_get_layout_group()
    return 0
end

awesome.load_image = lgi.cairo.ImageSurface.create_from_png

function awesome.pixbuf_to_surface(_, path)
    return awesome.load_image(path)
end

-- Always show deprecated messages
awesome.version = "v9999"

-- SVG are composited. Without it we need a root surface
awesome.composite_manager_running = true

awesome._modifiers = {
     Shift = {
          {keycode = 50 , keysym = 'Shift_L'    },
          {keycode = 62 , keysym = 'Shift_R'    },
     },
     Lock = {},
     Control = {
          {keycode = 37 , keysym = 'Control_L'  },
          {keycode = 105, keysym = 'Control_R'  },
     },
     Mod1 = {
          {keycode = 64 , keysym = 'Alt_L'      },
          {keycode = 108, keysym = 'Alt_R'      },
     },
     Mod2 = {
          {keycode = 77 , keysym = 'Num_Lock'   },
     },
     Mod3 = {},
     Mod4 = {
          {keycode = 133, keysym = 'Super_L'    },
          {keycode = 134, keysym = 'Super_R'    },
     },
     Mod5 = {
          {keycode = 203, keysym = 'Mode_switch'},
     },
}

awesome._active_modifiers = {}

return awesome

-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80