Commit Graph

70 Commits

Author SHA1 Message Date
legion151 f1541a87b8 Update awesomerc.lua (#2451)
* Update awesomerc.lua
2018-12-17 09:40:04 -05:00
Uli Schlachter 45430daf7f rc.lua: Move Motif hints example to generated docs
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-08-26 19:26:19 +02:00
Uli Schlachter 9d41488e43 awesomerc: Add comment mentioning c.requests_no_titlebar
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-08-22 14:29:44 +02:00
Emmanuel Lepage Vallee e0d1b404c5 rc.lua: Use request::activate instead of client.focus.
For a long time, it was deemed overkill and made rc.lua less readable
without the documentation.

However it is now clear that it's handling of unfocusable clients and
general bypassing of both `awful.client.focus.filter` and
`awful.ewmh.activate` filters causes bugs. Fixing them individually
in each instance of `rc.lua` `client.focus = c` would add so much code
that all the clarity provided by not using request::activate would be
burried in boilerplate code.

Fix #2328
2018-07-29 18:22:48 -04:00
Piotr Śliwka dc8229fd5a Default config: Unify mouse dragging behavior (#2278)
* Default config: Unify mouse dragging behavior

When moving or resizing a client by dragging its titlebar with mouse,
the client is automatically focused and raised. However, this behavior
is not replicated by tne other dragging method, i.e. grabbing it with
mouse while pressing the modkey. Sometimes, this causes a client to
disappear below another one while moving.

This commit unifies handling of dragging clients with mouse, by ensuring
that the client is focused and raised, whichever dragging method is
used. The fix applies both to moving and resizing clients.

Signed-off-by: Piotr Śliwka <contact@psliwka.info>

* Default config: Fix clientbuttons style

This commit unifies code style of click handling functions defined in
`clientbuttons` table, to match the style introduced in a228696.

Signed-off-by: Piotr Śliwka <contact@psliwka.info>
2018-06-10 01:35:08 +02:00
Uli Schlachter 3fe913f17a Default config: Align up a series of conditions (#2215)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-12 22:53:44 -04:00
Emmanuel Lepage Vallee b59495e1e7 tag/tasklist: Update rc.lua
And the tests to avoid some deprecation warnings
2017-12-02 16:33:06 -05:00
Daniel Hahler 69d06f7e3a default config: improve floating windows (#2023)
* default config: floating windows: fix pinentry-gtk-2

We have class "pinentry" there already, but it seems to have changed to
"Pinentry"?!  This uses "instance" instead, which hopefully works in the
old case also.

pinentry 1.0.0-1, gnupg 2.1.23-1

Also adds Blueman-manager and ConfigManager.
2017-08-28 10:55:56 +02:00
Uli Schlachter 202be62157 Automatically make LuaRocks modules available in awesome (#1999)
Running eval $(luarocks path --bin) before running awesome is not all
that easy. It's a lot easier to do the equivalent for this in rc.lua.
Plus, if LuaRocks is not installed, this will silently do nothing.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-08-16 23:32:04 +02:00
Yauhen Kirylau c5e830cd60 fix(awful: hotkeys_popup: keys): require all modules in init.lua 2017-06-12 20:39:46 -04:00
ReVMatthias 9016a9296f Fix comment typo in default config file (#1796)
[ci skip]
2017-05-26 15:35:39 +02:00
Kevin Zander 6cb2e0fa82 Fix some deprecated calls in code and docs
Add missing newline in test runner
2017-03-30 21:26:50 -05:00
Kevin Zander c3461b535c gears: Move awful.util.table to gears.table (#1641)
* Move table functions out of awful.util into new gears.table

* travis: Use v9999 prefix for full requests

Make sure no newly deprecated functions are used

* Move all `awful.util.table.*` calls to `gears.table.*` calls
Move table test functions from awful/util_spec to new gears/table_spec
Change awful.util.subsets call to gears.math.subsets in awful/key.lua
2017-03-08 15:18:33 -05:00
Daniel Hahler f3f6a69dda config: add bindings to (un)maximize horizontally/vertically 2017-02-15 23:35:04 +01:00
Yauhen Kirylau c1cd968803 import vim hotkeys from user config, not hotkeys_popup module (#1432) 2017-02-07 13:50:52 +01:00
VincentWo 6a91dce425 Fix typo in awesomerc.lua (#1325) 2016-12-29 04:01:21 +01:00
Uli Schlachter 329a302164 Remove the executable bit from ewmh.c and awesomerc.lua
These files do not need to be executable and the commits which made
these executable apparently only did so accidentally (Commits
37684abe33 and bfc6065ad9).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-12-14 11:44:59 +01:00
Daniel Hahler 71259748d2 Minor doc and code style fixes
Closes https://github.com/awesomeWM/awesome/pull/1215.
2016-11-21 22:38:40 +01:00
Yauhen Kirylau 70f9999a06 fix(rc.lua): don't pass arguments to awesome.quit from menu
Closes #1197
2016-10-29 21:14:52 +02:00
Emmanuel Lepage Vallee 11644f4582 prompt: Deprecate 8 parameters. 2016-10-04 00:51:45 -04:00
Uli Schlachter da6012da3e Fix memory leak in the default config on screen removal
The default config had tables like mywibox and mywibox[s] was the wibox
that is visible on screen s. When a screen is removed, nothing cleans up
these tables and so the screen and the wibox could not be garbage
collected. The same applies to the layoutbox, taglist etc.

This commit removes the global mywibox table and instead saves it as a
property on the screen. This way, the screen is not explicitly
referenced and when it is removed, the screen, its wibox and all of its
widgets become unreachable and can be garbage collected.

This commit also updates the docs and the tests that referenced things
(mostly the wibox) via mywibox[s] to now use s.mywibox.

Fixes: https://github.com/awesomeWM/awesome/issues/1125
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-09-30 22:46:51 +02:00
Emmanuel Lepage Vallee 63b712e247 doc: Document rc.lua
This meta-lua script takes the "raw" awesomerc.lua and turn it
into the final file and generate a documentation page from its
parsed content. It support

 * Turn {{{ into markdown categories
 * Turn top level comments into documentation
 * Add custom documentation sections
 * Parse the code to add links for each API calls

This helps generate a good entry point for new users wanting to
understand the content of rc.lua without searching the API by
hand.

Over time, this will also become the basis of the documentation.

If `rc.lua` is separated into several files, this will be easy to fix
this script. It could even do the separation itself from a monolitic
file using the already implemented {{{ parser.
2016-09-26 00:40:20 -04:00
Uli Schlachter 750a1df1c7 Re-set wallpaper on screen's property::geometry
Imagine that you have two screens of different resolution and you change their
position (xrandr --output first --left-of second). Of course, the wallpaper has
to be updated afterwards.

This commit makes the default config do that.

Fixes: https://github.com/awesomeWM/awesome/issues/1102
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-09-24 14:37:07 +02:00
Emmanuel Lepage Vallee 1c177cabce awesomerc: Explicitly select a default screen
A client is supposed to go to a screen when:

 * It has been started using `awful.spawn` with explicit instructions [1]
 * An `awful.rules` rule **or any of its callbacks** set the screen [2]
 * When something handle `request::screen` and/or `request::tag` in some
   custom ways. [3]
 * Some clients can request a screen and mean it (like MythTV/Kodi/XBMC and
   some multi-window DAW) [4]

A client is supposed to go to the focused screen when none of the above are
true [5].

Other constraints:

 * The screen need to be set only once, anything will will emit
   `property::screen` many time and cause side effects.
 * There has to be a single entry point to the algorithm, no multiple
   "manage" handler.
 * Awesome internals must use the `request::` signal API and not force
   their decision outside of request handlers.
 * Restarting Awesome must not change the client screen

Commit 2178744 fix use case number [1] and [2]. It actually fix [4] too, but
it is an accident and I am not sure we care about [4] anyway. Use case [1]
and [2], however, are very important.

Fix #1091
2016-09-21 22:15:09 +02:00
Emmanuel Lepage Vallée 690772abc7 Merge pull request #931 from jmitchener/add_fullscreen_description
Add description to fullscreen client key
2016-05-31 14:17:07 -04:00
Emmanuel Lepage Vallee ae0d306114 textclock: Move to wibox.widget
It doesn't depend on `awful`, so it doesn't belong in `awful`.
2016-05-30 17:51:19 -04:00
Jim Mitchener 4b0209f4fa Add description to fullscreen client key 2016-05-29 18:33:59 -08:00
Emmanuel Lepage Vallee dafd29f2a3 awful.wibox: Rename to awful.wibar
Why:

 * Two different (but related) concepts had the same name
 * Users were confused for years on IRC
 * The wibar name was already in use in some doc to avoid confusion
2016-05-15 17:17:12 -04:00
Uli Schlachter a55baf9e3c Default config: Allow beautiful.wallpaper to be a wallpaper
This e.g. allows themes to specify different wallpapers for different screens.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-30 09:36:50 +02:00
Uli Schlachter c6fafe06c0 Default config: Remove tags table
Tags are accessible as s.tags on a screen object. Yup, that's harder to find
than a variable that is defined in the default config, but such is life.

Now that awful.rules supports specifying tags by name, I guess that the number
one reason for needing the tags table is gone.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-26 09:36:53 +02:00
Uli Schlachter 330aa49912 default config: Only have a single connect_for_each_screen()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-26 09:34:54 +02:00
Emmanuel Lepage Vallee 6bc99fe52f awesomerc: Use rules to set the default position instead of "manage"
This avoid a conflict when rules try to set overlapping geometry.
2016-04-20 00:11:04 -04:00
Emmanuel Lepage Vallee f72dcce4bd titlebars: Use the request system rather than 'manage'.
As awesomerc.lua "manage" section is executed after the rules, using
a 'geometry' or 'placement' property in the rules was broken.
2016-04-20 00:11:04 -04:00
Emmanuel Lepage Vallee fcd320c7f6 Make awful.rules mandatory
There was many unfixable race conditions that could only be
solved by better integrating the request:: system and
awful.rules. This has the side effect to make rules mandatory.
2016-04-18 23:55:52 -04:00
Uli Schlachter 3f0483003c Default config: Use strings for tag names
Tag names really are strings. Numbers just work accidentally since the C code
uses luaL_checklstring() to access the tag name and this function silently
converts numbers to strings.

This also has a nice documentation effect, making it easier for people to figure
out that they can change the name of a tag. Plus, with this the changes done by
previous commits make more sense (specifying an awful.rules-rule that identifies
a tag by name).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:31:46 +02:00
Uli Schlachter 65fa565cef Update awful.rules tag-related examples
Fixes: https://github.com/awesomeWM/awesome/issues/799
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:31:46 +02:00
Emmanuel Lepage Vallee dd52f1ce86 awful.tag: Move functions to awful.client and screen 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee 43f1561f26 awful.client: Convert all remaining functions to methods. 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee 8a0738a4bc gears.screen: Merge into awful.screen
gears modules usually don't depend on Awesome C-API. This code has
been placed there for unclear reasons.

Also, there is ongoing work to unify each "concepts" API into one
single page. Having `gears.screen` go against this effort.
2016-04-06 23:32:44 -04:00
Daniel Hahler c86c873779 minor: clarify mod-ctrl-shift-X comment; fix typo 2016-04-04 20:30:48 +02:00
Uli Schlachter bed09f6c18 Default config: Use connect_for_each_screen()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-27 10:51:28 +02:00
Daniel Hahler c5526ca336 Merge pull request #746 from psychon/indexless-screen-iteration
Indexless screen iteration
2016-03-07 00:26:22 +01:00
Uli Schlachter 95e5bdf5d2 Use the new way to iterate over screens in Lua
This gets us one step closer to removing screen indices.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-06 14:05:28 +01:00
Uli Schlachter a1b20ef6bb Systray: Add settings for which screen to display on
This makes it possible to have the systray only visible on the primary screen,
which is the new default value. This also makes it possible to configure
directly on which screen the systray should be visible.

This breaks the API in the sense that people who use "the old method" to
configure the systray's screen possibly don't have a systray.

Fixes: https://github.com/awesomeWM/awesome/issues/724
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-05 16:49:49 +01:00
Daniel Hahler 10ff22a75d Merge pull request #693 from psychon/enable-titlebars-by-default
Enable titlebars by default
2016-02-13 15:09:21 +01:00
Uli Schlachter f2b6f5835e Enable titlebars by default
This means that titlebars, which are an important feature, get more testing. As
was recently shown, they don't get enough testing currently. Also, new users
will likely expect titlebars these days.

Everyone who doesn't want titlebars can easily disable them.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-12 18:33:53 +01:00
actionless e5466feb07 fix(awesomerc): fix importing vim hotkeys 2016-02-12 01:03:07 +01:00
Uli Schlachter 2c24449a96 Default config: Add a missing "local"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:08 +01:00
Emmanuel Lepage Vallee 0e833fd5f4 awesomerc: Use the new declarative syntax 2016-02-10 01:25:41 -05:00
Uli Schlachter 1aed092fea Merge branch 'util-getdir' of https://github.com/psychon/awesome 2016-01-17 15:59:54 +01:00