awesome/objects
Emmanuel Lepage Vallee 433898599d init: Add a command line option to start AwesomeWM without screens.
This commit add an optional `--screen off` command to initialize Lua
without first adding the screens. This is inconvinient for most users
since it restrict the APIs that are usable out of the box.

However, this allows AwesomeWM to work independently from the hardware.
This means that when a screen is unplugged, it is the Lua code that will
remove the screen instead of CAPI pulling the carpet from under. It also
allows to ignore some screen areas before the screen is ever created.
Combined, it makes it possible to work with screens even when they are
physically disconnected. Finally, it will allow for an awful.rules like
API to control how screens are created.

All in all, some people need this for their setup and some people might
want to do it anyway for fine grained and/or dynamaic multi-screen
setups.

This commit also adds 4 new signals to `capi` to be able to
execute code at specific points during the initialization. The commit
improves naughty error notifications to work even if problems occurs
before the screens are added.

Note that AwesomeWM will exit if no screens are created. While it would
be easy to just call `refresh_screen();` after unsetting the magic
variable, doing so would have corner cases. Better be harsher and
prevent the user from shooting themselves in the foot from not reading
the f****** manual. Code introduced in future commits will take care
of automatically calling fake_screen in the event nothing is created.

Fixes #1382
2019-09-29 18:52:00 -04:00
..
button.c doc: Use an explicit tag for all static functions. 2019-06-08 18:14:13 -04:00
button.h Clean up header includes 2014-03-30 20:07:48 +02:00
client.c init: Add a command line option to start AwesomeWM without screens. 2019-09-29 18:52:00 -04:00
client.h init: Add a command line option to start AwesomeWM without screens. 2019-09-29 18:52:00 -04:00
drawable.c doc: Use an explicit tag for all static functions. 2019-06-08 18:14:13 -04:00
drawable.h drawable/drawin: Pass both lua_State and stack index around 2014-12-06 10:46:45 +01:00
drawin.c Remove systray_cleanup() from drawin_systray_kickout() (#2301) 2018-07-20 14:11:09 +03:00
drawin.h Partly fix removal of systray from a wibox 2017-03-11 18:14:38 +01:00
key.c doc: Use an explicit tag for all static functions. 2019-06-08 18:14:13 -04:00
key.h Use existing xkbcommon functionality instead of XKeysymToString 2019-01-21 01:08:48 -05:00
screen.c init: Add a command line option to start AwesomeWM without screens. 2019-09-29 18:52:00 -04:00
screen.h init: Add a command line option to start AwesomeWM without screens. 2019-09-29 18:52:00 -04:00
selection_acquire.c selection_acquire: Change the API to a table 2019-02-17 08:00:57 +01:00
selection_acquire.h Begin implementing selection transfers 2019-02-11 09:01:37 +01:00
selection_getter.c property: Remove unused int return 2019-02-11 10:13:13 +01:00
selection_getter.h property: Remove unused int return 2019-02-11 10:13:13 +01:00
selection_transfer.c Reduce scope of data variable 2019-02-17 18:43:02 +01:00
selection_transfer.h Selection transfer: Support INCR transfers 2019-02-11 09:21:50 +01:00
selection_watcher.c selection watcher: Actually watch selections 2019-02-06 10:27:59 +01:00
selection_watcher.h Prepare a selection watcher interface 2019-02-06 09:30:16 +01:00
tag.c doc: Use an explicit tag for all static functions. 2019-06-08 18:14:13 -04:00
tag.h Attempt at better handling of NET_CURRENT_DESKTOP property. 2016-06-04 16:42:54 +03:00
window.c Make alpha work on window borders 2018-03-03 10:57:48 +01:00
window.h geometry: Use the relevant rounding functions instead of integers 2016-04-18 04:20:22 -04:00