Commit Graph

856 Commits

Author SHA1 Message Date
Uli Schlachter 90fde1393f awful.tag: Use delayed_call to call withcurrent on manage
This way this function runs after everything else did its job. The client will
only get assigned a tag after everything else had a chance to do so.

Thanks to this, awful.rules no longer has to disconnect the call to withcurrent.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-11 11:19:04 +01:00
Uli Schlachter 2e286a45d8 awful.mouse.finder: Remove rounded_corners call
Let's just quote a mail I received from Rastislav Barlik:

I tried to make use of awful.mouse.finder but I found out that it's not working
as supporting functions rounded_corners were removed with commit
03e0ee53d2.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 20:28:26 +01:00
Uli Schlachter 0f02ed0e15 Merge branch 'patch-1' of git://github.com/findkiko/awesome 2015-01-10 12:56:46 +01:00
Uli Schlachter ed3f93ceb9 Merge branch 'simplify-calc_timeout' of git://github.com/blueyed/awesome 2015-01-10 01:22:47 +01:00
Daniel Hahler 8261e02a0b Simplify `calc_timeout` with textclock
Ref: 8dc6fa8666 (commitcomment-8867170)
2015-01-06 16:41:56 +01:00
Rastislav Barlik ac5f8c69a7 Displaying only selected tags in taglist
Add taglist.filter.selected() for displaying only currently selected tags
2015-01-06 12:49:19 +01:00
Uli Schlachter b9ea9255e9 timer: Add a backwards-compatibility hack to awful
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-12-07 09:44:58 +01:00
Uli Schlachter 8dc6fa8666 textclock: Round timeout so that displayed time is more accurate
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-12-06 17:15:24 +01:00
Uli Schlachter 94e61ec94b timer: Move from C to lua as gears.timer
No API-change (besides the obvious no-longer-a-global-object) intended.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-12-06 16:44:04 +01:00
findkiko 6f5ec2abe7 Vim style menu navigation in addition to arrow keys
Is there a reason it shouldn't be on by default? I'm not familiar enough with the code-base to tell if it will clash with anything.
2014-11-30 15:27:28 -08:00
Uli Schlachter 44fb6e4de2 Merge branch 'ewmh-activate-on-startup' of git://github.com/blueyed/awesome 2014-11-07 21:48:40 +01:00
Uli Schlachter 14e7274cc7 Merge branch 'request_context_v2' of git://github.com/Elv13/awesome-1 2014-11-07 21:46:59 +01:00
Uli Schlachter 904b679bc6 Merge branch 'tag_index_v1' of git://github.com/Elv13/awesome-1 2014-11-07 21:46:09 +01:00
Daniel Hahler d2168a9889 ewmh.activate: focus and especially raise clients during startup
This fixes the focused client (possibly) not being raised after
restarting awesome.
2014-11-06 21:26:32 +01:00
Emmanuel Lepage Vallee 45ad4459f2 tag: Improve tag property::index support (FS#1229)
* Move the "index" setting burden to individual functions
  instead of gettags().

* Add some properties earlier so the signal hooks will be called
  with valid data.
2014-11-01 18:46:06 -04:00
Emmanuel Lepage Vallee 37684abe33 Add context to request::activate signal 2014-10-25 23:31:23 -04:00
Robert Siska 8d7b0feedd Layouts can define their own resizing handler (FS#1267) 2014-10-23 01:30:19 +02:00
Uli Schlachter 1c72186cbc Merge branch 'fix_tag_remove_v1' of git://github.com/Elv13/awesome-1 2014-10-18 10:02:13 +02:00
Uli Schlachter a764afb81e Merge branch 'layout_unit_testability_V2' of git://github.com/Elv13/awesome-1 2014-10-18 10:01:00 +02:00
Uli Schlachter dd2f805e09 Merge branch 'tag_swap_V2' of git://github.com/Elv13/awesome-1 2014-10-17 10:37:50 +02:00
Emmanuel Lepage Vallee 3ff24467b9 tag.delete: Do not reset client tag when unnecessary 2014-10-13 21:36:11 -04:00
Emmanuel Lepage Vallee dfaef973c3 Add awful.tag.swap 2014-10-13 15:19:14 -04:00
Emmanuel Lepage Vallee 4120e00649 layouts: Allow layouts to be invoked with fake data
This patch allows 2 things to be done:

* Write unit test to validate layouts using fake clients and tags
* Query the current layout geometry from another tag

The advantages of the former are clear and simple. Those of the later include:

* Creating a screenshot of another layout
* Display the layout wireframe in the tag list (like KDE2-3, Gnome2)
* Having and 'ALT-tab' like visual popup for tags
2014-10-13 15:07:31 -04:00
Emmanuel Lepage Vallee 6d20094c15 awful.tag.update: Fix identical tag set detection
If the "current" table is empty, then identical always true.
There is a lot of case where this can happen. Mostly when using
dynamic tagging.
2014-10-13 15:00:09 -04:00
Uli Schlachter a113fe0f3c awful.widget.button: Override :set_image() to do the right thing
Reported-at: http://article.gmane.org/gmane.comp.window-managers.awesome/10778
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-09-15 13:55:21 +02:00
Daniel Hahler 4ee144188e tasklist: add/use a single icon for "maximized"
This provides more space in the tasklist, because it will typically only
use a single icon for maximized clients, instead of three
(maximized_vertical, maximized_horizontal and floating).

Fixes https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1252
2014-09-04 18:38:18 +02:00
Uli Schlachter a64f8b1385 Merge branch 'fix-ldoc-usage' of git://github.com/blueyed/awesome 2014-09-02 14:21:42 +02:00
Daniel Hahler b6d32b136e ldoc: fix usage of @usage, which is <code> automatically 2014-08-28 19:45:46 +02:00
Evžen 93905348cb fix(lib.awful.taglist): multiple tag selection
multiple tag selection wasn't highlighting properly when *_occupied is set in theme table
2014-08-24 13:03:28 +02:00
Jason Yan aedcd90d4d Fix check against clients in taglist. 2014-05-09 00:19:49 -07:00
Uli Schlachter 9fce440078 awful.util.geticonpath: Correctly localize variables
This function was accidentally setting the global variable "icontypes". Fix this
by adding the needed "local" and also localize some more variables for
consistency.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-05-03 11:15:14 +02:00
Uli Schlachter 92dc63fe02 Remove unused argument to awful.client.property.persist
This is a left-over from an old version of the patch which introduced this new
function.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-21 19:30:03 +02:00
Daniel Hahler 6d04528bd8 Add persistent client properties
`client.property.persist` can be used to make properties persistent
across restarts. This works by backing them up via X properties (using
the `awful.client.property.` prefix).

`client.property.persist(c, "floating", "boolean")` is used to make the
floating property persistent by default.

Based on a patch from Uli, source: https://gist.github.com/psychon/10320743

doc, only set current prop in 'persist'

Fix xprop/prop mixup in 'persist'

Only call set for non-nil values
2014-04-20 14:54:21 +02:00
Uli Schlachter e998e3fe20 awful.client.shape: Import client shape handling (FS#1051)
This new awful module reacts to shapes that a client sets on itself and sets the
shape of awesome's frame window to match. This way, xeyes really gets
transparent parts again.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-14 10:04:56 +02:00
Uli Schlachter dcc348d75e Fix some random ldoc warnings
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-13 18:06:49 +02:00
Uli Schlachter d76d3e0b6a Merge git://github.com/Teknocrat/awesome 2014-04-12 16:15:11 +02:00
Uli Schlachter 1090719d67 remove awful.widget.taglist.gettag (FS#1256)
It's been broken since ages.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-12 12:18:34 +02:00
Gino! b4b6e6c1fc Fix Icon Finding in awful.util
This should also fix naughty failures to display the correct icons
2014-04-11 17:43:23 -04:00
Uli Schlachter ec8db18289 awful.tag.setscreen: Check if old_screen == new_screen (FS#1249)
Setting a tag's screen to what it already is shouldn't have any bad effects.
However, this code messed up the tag order and selection status.

Fix this by returning early if the tag already has the right screen.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-09 22:06:21 +02:00
Uli Schlachter 27f483a601 awful.tag.move: Fix tag index setting (FS#1249)
Since commit 9c69e857ed, awful.tag.setscreen() unsets a tag's index to make
sure things end up in a sane order on the new screen. Thus, the call to
setscreen() removed the "index" property that tag.move just set.

Fix this by setting the index after the screen.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-09 22:06:10 +02:00
Daniel Hahler df23964b20 Make callbacks to rules.execute optional 2014-04-01 10:48:18 +02:00
Uli Schlachter 6dfe48690b awful.tooltip: Add (and use) :set_markup() function
Since commit 5b4666432f, we use set_text() instead of set_markup()
on the tooltip's textbox. This means it is no longer possible to use pango
markup in the tooltip which was not intended.

Fix this (properly) by introducing a :set_markup() function on tooltips (and use
it in the timer function to restore the old behavior).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 23:35:35 +02:00
Uli Schlachter 90226d0ccf awful.tooltip: Small reorganization
This inlines the set_defaults() function into its only caller and makes us less
stupid with the font property.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 23:31:38 +02:00
Uli Schlachter 271f084735 screen: Turn into proper lua object
This makes the screen objects use our existing infrastructure for implementing
classes and objects with lua instead of hand-rolling an own version.

This results in some small API change: Screen objects no longer have an
add_signal() function and instead this function exists on the parent screen
class.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-30 16:37:19 +02:00
Uli Schlachter 2dc28b29e9 Merge remote-tracking branch 'blueyed/fix-restore-in-tag.delete' 2014-03-29 18:12:37 +01:00
Uli Schlachter 3cbdc2a79f Use awful.layout.layouts for implementing optional parameters
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-28 13:29:16 +01:00
Emmanuel Lepage Vallee bfc6065ad9 Make 'layouts' global 2014-03-28 13:24:04 +01:00
Daniel Hahler bc4a5f38c9 manage signal handler: use awesome.startup
The `manage` arg is gone.
2014-03-27 13:50:19 +01:00
Emmanuel Lepage Vallee 8bddba170b Fix tag screen switching
The bugs this fix are:

 * Invalid request using nil as screen
 * Stop messing indexes in the old screen
 * Prevent c.screen <-> t.screen mismatch
 * Prevent no tags being selected in the old screen
2014-03-26 23:14:09 +01:00
Uli Schlachter d91d36c69c awful.tag.withcurrent: Try harder at finding a tag (FS#1196)
When a screen doesn't have any tags selected, then just tag the new client with
all of the screen's tags. That way, we don't lose clients.

Also, if we failed at coming up with tags for a client, don't completely untag
it. This means that it can keep its old tags if it had any.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-26 14:29:02 +01:00