CMakeLists.txt | 2 +- awesome.desktop | 4 ++++ awesomeConfig.cmake | 9 +++++---- awesomerc.lua | 3 +++ common/lualib.c | 2 ++ common/lualib.h | 2 +- lib/naughty/core.lua | 2 +- luaa.c | 2 ++ luaa.h | 2 +- objects/button.c | 2 ++ objects/button.h | 2 +- objects/client.c | 2 ++ objects/client.h | 2 +- objects/drawin.c | 2 ++ objects/drawin.h | 2 +- objects/key.c | 2 ++ objects/key.h | 2 +- objects/tag.c | 2 ++ objects/tag.h | 2 +- objects/window.c | 1 + objects/window.h | 2 +- 21 files changed, 37 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d3d3b4d..28c5cf52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -419,7 +419,7 @@ add_custom_target(check-themes add_dependencies(check check-themes) add_custom_target(check-requires - lua "${CMAKE_SOURCE_DIR}/build-utils/check_for_invalid_requires.lua" + ${LUA_BINARY} "${CMAKE_SOURCE_DIR}/build-utils/check_for_invalid_requires.lua" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMENT "Checking use of require()" USES_TERMINAL diff --git a/awesome.desktop b/awesome.desktop index 1ed175fd..cb9583de 100644 --- a/awesome.desktop +++ b/awesome.desktop @@ -4,3 +4,7 @@ Comment=Highly configurable framework window manager TryExec=awesome Exec=awesome Type=Application +Categories=Graphics;System; + +[X-Window Manager] +SessionManaged=true diff --git a/awesomeConfig.cmake b/awesomeConfig.cmake index 79eae7e7..905e06ae 100644 --- a/awesomeConfig.cmake +++ b/awesomeConfig.cmake @@ -72,6 +72,7 @@ if (NOT LUA_FOUND) "You might want to hint it using the LUA_DIR environment variable, " "or set the LUA_INCLUDE_DIR / LUA_LIBRARY CMake variables.") endif() +a_find_program(LUA_BINARY lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR} FALSE) # }}} # {{{ Check if documentation can be build @@ -365,7 +366,7 @@ add_custom_command(TARGET setup_directories add_custom_command( OUTPUT ${BUILD_DIR}/docs/06-appearance.md - COMMAND lua ${SOURCE_DIR}/docs/06-appearance.md.lua + COMMAND ${LUA_BINARY} ${SOURCE_DIR}/docs/06-appearance.md.lua ${BUILD_DIR}/docs/06-appearance.md DEPENDS lgi-check-run @@ -375,7 +376,7 @@ add_custom_command( add_custom_command( OUTPUT ${BUILD_DIR}/docs/common/rules_index.ldoc - COMMAND lua ${SOURCE_DIR}/docs/build_rules_index.lua + COMMAND ${LUA_BINARY} ${SOURCE_DIR}/docs/build_rules_index.lua ${BUILD_DIR}/docs/common/rules_index.ldoc # Cheap trick until the ldoc `configure_file` is ported to be a build @@ -392,7 +393,7 @@ add_custom_command( add_custom_command( OUTPUT ${BUILD_DIR}/awesomerc.lua ${BUILD_DIR}/docs/05-awesomerc.md ${BUILD_DIR}/script_files/rc.lua - COMMAND lua ${SOURCE_DIR}/docs/05-awesomerc.md.lua + COMMAND ${LUA_BINARY} ${SOURCE_DIR}/docs/05-awesomerc.md.lua ${BUILD_DIR}/docs/05-awesomerc.md ${SOURCE_DIR}/awesomerc.lua ${BUILD_DIR}/awesomerc.lua ${BUILD_DIR}/script_files/rc.lua @@ -401,7 +402,7 @@ add_custom_command( add_custom_command( OUTPUT ${BUILD_DIR}/script_files/theme.lua - COMMAND lua ${SOURCE_DIR}/docs/sample_theme.lua ${BUILD_DIR}/script_files/ + COMMAND ${LUA_BINARY} ${SOURCE_DIR}/docs/sample_theme.lua ${BUILD_DIR}/script_files/ ) # Create a target for the auto-generated awesomerc.lua and other files diff --git a/awesomerc.lua b/awesomerc.lua index d3390c57..deb63a04 100644 --- a/awesomerc.lua +++ b/awesomerc.lua @@ -11,6 +11,7 @@ require("awful.autofocus") local wibox = require("wibox") -- Theme handling library local beautiful = require("beautiful") +require("menu") -- Notification library local naughty = require("naughty") local menubar = require("menubar") @@ -97,6 +98,7 @@ myawesomemenu = { } mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, + { "ALT", menu.alt_menu }, { "open terminal", terminal } } }) @@ -469,6 +471,7 @@ awful.rules.rules = { border_color = beautiful.border_normal, focus = awful.client.focus.filter, raise = true, + size_hints_honor = false, keys = clientkeys, buttons = clientbuttons, screen = awful.screen.preferred, diff --git a/common/lualib.c b/common/lualib.c index 312fb2d5..bb110ac7 100644 --- a/common/lualib.c +++ b/common/lualib.c @@ -20,6 +20,8 @@ #include "common/lualib.h" #include "luaa.h" +lua_CFunction lualib_dofunction_on_error; + void luaA_checkfunction(lua_State *L, int idx) { if(!lua_isfunction(L, idx)) diff --git a/common/lualib.h b/common/lualib.h index 8a3ef089..a9126184 100644 --- a/common/lualib.h +++ b/common/lualib.h @@ -28,7 +28,7 @@ #include "common/util.h" /** Lua function to call on dofunction() error */ -lua_CFunction lualib_dofunction_on_error; +extern lua_CFunction lualib_dofunction_on_error; void luaA_checkfunction(lua_State *, int); void luaA_checktable(lua_State *, int); diff --git a/lib/naughty/core.lua b/lib/naughty/core.lua index 5363a73a..e6506c1b 100644 --- a/lib/naughty/core.lua +++ b/lib/naughty/core.lua @@ -67,7 +67,7 @@ notifications, e.g. naughty.config = { padding = dpi(4), spacing = dpi(1), - icon_dirs = { "/usr/share/pixmaps/", }, + icon_dirs = nil, icon_formats = { "png", "gif" }, notify_callback = nil, } diff --git a/luaa.c b/luaa.c index bfe8eee3..aae05cd4 100644 --- a/luaa.c +++ b/luaa.c @@ -77,6 +77,8 @@ extern const struct luaL_Reg awesome_root_lib[]; extern const struct luaL_Reg awesome_mouse_methods[]; extern const struct luaL_Reg awesome_mouse_meta[]; +signal_array_t global_signals; + /** A call into the Lua code aborted with an error. * * This signal is used in the example configuration, @{05-awesomerc.md}, diff --git a/luaa.h b/luaa.h index 6f6f34f1..f8f83ebe 100644 --- a/luaa.h +++ b/luaa.h @@ -311,7 +311,7 @@ const char *luaA_find_config(xdgHandle *, const char *, luaA_config_callback *); bool luaA_parserc(xdgHandle *, const char *); /** Global signals */ -signal_array_t global_signals; +extern signal_array_t global_signals; int luaA_class_index_miss_property(lua_State *, lua_object_t *); int luaA_class_newindex_miss_property(lua_State *, lua_object_t *); diff --git a/objects/button.c b/objects/button.c index 846ed7d4..36cfe696 100644 --- a/objects/button.c +++ b/objects/button.c @@ -35,6 +35,8 @@ #include "button.h" +lua_class_t button_class; + /** Button object. * * @tfield int button The mouse button number, or 0 for any button. diff --git a/objects/button.h b/objects/button.h index fb8bb8da..8f0b8943 100644 --- a/objects/button.h +++ b/objects/button.h @@ -39,7 +39,7 @@ typedef struct button_t xcb_button_t button; } button_t; -lua_class_t button_class; +extern lua_class_t button_class; LUA_OBJECT_FUNCS(button_class, button_t, button) ARRAY_FUNCS(button_t *, button, DO_NOTHING) diff --git a/objects/client.c b/objects/client.c index 8541b415..500d0426 100644 --- a/objects/client.c +++ b/objects/client.c @@ -106,6 +106,8 @@ #include #include +lua_class_t client_class; + /** Client class. * * This table allow to add more dynamic properties to the clients. For example, diff --git a/objects/client.h b/objects/client.h index 45bc9338..695db84d 100644 --- a/objects/client.h +++ b/objects/client.h @@ -192,7 +192,7 @@ struct client_t ARRAY_FUNCS(client_t *, client, DO_NOTHING) /** Client class */ -lua_class_t client_class; +extern lua_class_t client_class; LUA_OBJECT_FUNCS(client_class, client_t, client) diff --git a/objects/drawin.c b/objects/drawin.c index 3fd1cc43..3bbd9317 100644 --- a/objects/drawin.c +++ b/objects/drawin.c @@ -46,6 +46,8 @@ #include #include +lua_class_t drawin_class; + /** Drawin object. * * @field border_width Border width. diff --git a/objects/drawin.h b/objects/drawin.h index 31f315aa..2f8887d9 100644 --- a/objects/drawin.h +++ b/objects/drawin.h @@ -52,7 +52,7 @@ void luaA_drawin_systray_kickout(lua_State *); void drawin_class_setup(lua_State *); -lua_class_t drawin_class; +extern lua_class_t drawin_class; #endif // vim: filetype=c:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/objects/key.c b/objects/key.c index 932921ca..b1c65f82 100644 --- a/objects/key.c +++ b/objects/key.c @@ -43,6 +43,8 @@ #include #include +lua_class_t key_class; + /** Key object. * * @tfield string key The key to trigger an event. diff --git a/objects/key.h b/objects/key.h index 8aa07ffe..45f23cac 100644 --- a/objects/key.h +++ b/objects/key.h @@ -36,7 +36,7 @@ typedef struct keyb_t xcb_keycode_t keycode; } keyb_t; -lua_class_t key_class; +extern lua_class_t key_class; LUA_OBJECT_FUNCS(key_class, keyb_t, key) DO_ARRAY(keyb_t *, key, DO_NOTHING) diff --git a/objects/tag.c b/objects/tag.c index 9b289dee..d68553bd 100644 --- a/objects/tag.c +++ b/objects/tag.c @@ -190,6 +190,8 @@ #include "ewmh.h" #include "luaa.h" +lua_class_t tag_class; + /** * @signal request::select */ diff --git a/objects/tag.h b/objects/tag.h index d6bb40e0..f830b1e2 100644 --- a/objects/tag.h +++ b/objects/tag.h @@ -46,7 +46,7 @@ struct tag client_array_t clients; }; -lua_class_t tag_class; +extern lua_class_t tag_class; LUA_OBJECT_FUNCS(tag_class, tag_t, tag) void tag_class_setup(lua_State *); diff --git a/objects/window.c b/objects/window.c index 3c043273..16c57f87 100644 --- a/objects/window.c +++ b/objects/window.c @@ -59,6 +59,7 @@ #include "property.h" #include "xwindow.h" +lua_class_t window_class; LUA_CLASS_FUNCS(window, window_class) static xcb_window_t diff --git a/objects/window.h b/objects/window.h index 5386fafe..fbc5296c 100644 --- a/objects/window.h +++ b/objects/window.h @@ -80,7 +80,7 @@ typedef struct WINDOW_OBJECT_HEADER } window_t; -lua_class_t window_class; +extern lua_class_t window_class; void window_class_setup(lua_State *);