Commit Graph

421 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallée a9e8cc3dab Merge pull request #1404 from Veratil/tasklist-spacing-fix
Tasklist spacing fix + taglist spacing doc addition
2017-01-16 23:39:53 -05:00
Kevin Zander 44e0ea5681 taglist_shape_border_width_focus and taglist_shape_border_color_focus are not put into the correct variables 2017-01-16 11:18:47 -06:00
Kevin Zander 74b5ac72da Fix incorrect variable lookup for theme.tasklist_bg_image_* 2017-01-16 02:39:01 -06:00
Kevin Zander 56a2e98896 Add doc for taglist_spacing 2017-01-16 01:12:12 -06:00
Kevin Zander c3b565faab Fix theme lookup of tasklist_spacing; fix doc typo 2017-01-16 01:11:42 -06:00
rob 703b11182c taglist: added volatile tag theme variables 2017-01-07 21:21:46 -07:00
Uli Schlachter e7b4898a7e Fix typo: Remove double tasklist_tasklist_ (#1323) 2016-12-28 22:25:23 +01:00
Uli Schlachter bdb7e90b74 Fix classmod in awful.widget.keyboardlayout (#1314)
Fixes: https://github.com/awesomeWM/awesome/issues/1313
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-12-27 21:38:20 +01:00
Daniel Hahler aeab2a70e9 Fix whitespace warnings reported by luacheck (#1229) 2016-11-21 22:38:23 +01:00
Emmanuel Lepage Vallee 2d5a1798af doc: Document tasklist_plain_task_name
It was missing.
2016-11-15 16:33:20 -05:00
Emmanuel Lepage Vallee 07f3a178fa prompt: Fix 2 deprecation warnings
An oversaw in a previous commit introduced deprecation warnings
on the default config.
2016-10-12 01:53:53 -04:00
Uli Schlachter fd3daf54b3 keyboardlayout: Don't break if parsing the layout fails (#1154)
Fixes: https://github.com/awesomeWM/awesome/issues/1108
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-10-09 22:36:41 +02:00
Uli Schlachter 259c4f716f Remove @release @AWESOME_VERSION@ everywhere (#1157)
It does not provide much value. The version number is already known to
ldoc globally in the "description" variable.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-10-09 22:36:20 +02: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 bbb3d14822 doc: Document the tasklist variables. 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 9e8c4a71e3 doc: Document taglist theme variables 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 6e829ce104 tasklist: Add shape support 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 520bd02416 tasklist: Add spacing support 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 967fc87a92 taglist: Add shape support 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee da47357ae7 widget.common: Add shape support 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 00ee99851b taglist: Add spacing support 2016-09-26 01:20:56 -04:00
Emmanuel Lepage Vallee 85334faffd doc: Remove invalid tasklist documentation 2016-09-26 00:40:20 -04:00
Emmanuel Lepage Vallee bb96f94845 tasklist: Add some documentation 2016-09-25 22:47:35 -04:00
Emmanuel Lepage Vallee 2b6ff1b3ca taglist: Add more documentation 2016-09-25 22:47:35 -04:00
Akulen 1be737be3a awful.widget.tasklist: Add an align option (#1065) 2016-09-02 18:14:43 +02:00
Emmanuel Lepage Vallee 732b170cb0 doc: Fix the awful.widget.button documentation
It was missing the macros.
2016-08-20 15:41:12 -04:00
Emmanuel Lepage Vallee f9c9e11d11 graph: Move to wibox.widget 2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee 6493cbee76 progressbar: Move to `wibox.widget` 2016-05-30 17:51:19 -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
Emmanuel Lepage Vallee d85588babe wibox: Create a container module
Previously, the "containers" were placed in layout or widget.

They all have similar APIs and usage, so lets bring them together.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee bb5ee50de9 layoutbox: Revert 25f4f24791
Apparently, there is such thing as not leaking enough...

Also try to clear the widgets from mywibox. This seem to help.

Time will tell.

Fixes #914, unfixes #808
2016-05-18 01:45:21 -04:00
Emmanuel Lepage Vallee 25f4f24791 layoutbox: Fix a leak with Lua 5.1 and luajit
Fixes #808
2016-05-15 17:15:55 -04:00
Emmanuel Lepage Vallee ca02ec1bbe widget.button: Release the button when the mouse leave
This isn't correct, but it avoid a bug where the button stay
pressed forever if the mouse leave while it's pressed.
2016-05-10 16:06:46 -04:00
Uli Schlachter bc9b3ca751 tasklist: Stop updating after a screen was invalidated
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-05-08 14:52:31 +02:00
Uli Schlachter 5390913f5a taglist: Stop updating after a screen was invalidated
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-05-08 14:52:31 +02:00
Uli Schlachter 2da981afdd Merge branch 'screen-gc' of https://github.com/psychon/awesome 2016-04-30 09:10:26 +02:00
Wolfgang Popp 76313263b6 Add clear() function to awful.widget.graph and doc fixes (#847)
* awful.widget.graph: add clear() function.

* awful.widget.graph: doc fixes for add_value.
add_value did not show up in generated luadoc. And the value parameter does not need to be between 0 and 1.

* awful.widget.graph: local functions clear and add_value as methods of graph.
2016-04-26 22:14:09 +02:00
Uli Schlachter fc390ff405 Use weak keys for referring to screens
This commit changes some tables that are used for per-screen stuff to have weak
keys, so that the screens can be garbage-collected, if needed.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-26 09:34:54 +02:00
Abdo Roig-Maranges 3c3e2daeb2 fix deprecation warning 2016-04-17 16:35:08 +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 82342f055c awful.client: Deprecate .floating.get/set
Begin to formalize the getter/setter syntax into a coherent one
2016-04-11 23:46:10 -04:00
Daniel Hahler c86c873779 minor: clarify mod-ctrl-shift-X comment; fix typo 2016-04-04 20:30:48 +02:00
Abdo Roig-Maranges cb46f09361 make keyboard layout naming function easily overridable 2016-03-30 15:41:30 +02:00
Abdo Roig-Maranges 1879966556 handle layout names like us(altgr-intl) 2016-03-30 14:45:48 +02:00
Daniel Hahler 8966c73599 Minor doc fixes 2016-03-06 14:46:13 +01:00
Emmanuel Lepage Vallee 19f874a73f awful.widget.graph: Expose private data 2016-02-29 03:12:08 -05:00
Daniel Hahler 2bcff5af27 Merge pull request #708 from psychon/less_screen_indicies2
Less screen indicies
2016-02-28 22:15:37 +01:00
actionless 504c105cba feat(awful: widgets): add 'watch' widget 2016-02-28 12:11:57 +01:00
Uli Schlachter d56b5c031b Remove some now unnecessary uses of s.index
Because all our Lua code can now work with screen objects, most of the uses of
s.index that the previous patches added for reaching this goal can be removed
again.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-27 09:24:19 +01:00
Uli Schlachter b3f43f9110 Support screen objects in more of awful
This commit makes the code in awful.widget work with screen objects.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-26 19:50:17 +01:00
Uli Schlachter 426da4f8bb Fix one more luacheck warning in awful.widget.tasklist 2016-02-14 14:43:20 +01:00
Uli Schlachter b4148f5dfa Mark a bug in awful.widget.common as such
No idea what the correct value for this argument is supposed to be, but since
there is no variable "m" in scope, this always uses nil as the value.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-14 14:43:04 +01:00
Uli Schlachter c7aed3bd88 Fix wrong variable in awful.widget.taglist
There is no "s" variable. This code wants "screen" instead. The effect of this
typo was that with multiple taglists, only the one that was created last got
updated.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-14 14:42:58 +01:00
Uli Schlachter 99a4184224 Fix luacheck warnings in lib/awful/widget/
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-11 21:55:32 +01:00
Uli Schlachter 7d32f7b733 tasklist: Unreference client in unmanage
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-04 18:24:53 +01:00
Uli Schlachter b3ab06896d awful.widget.common: Follow :set_markup() API change
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-01-17 16:50:03 +01:00
Uli Schlachter 3793c339ce Merge branch 'surface-errors' of https://github.com/psychon/awesome 2016-01-17 16:01:03 +01:00
Uli Schlachter 4d562306d2 taglist: Remove dead code
The image "library" is long gone.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-01-15 18:43:56 +01:00
Uli Schlachter 8953218e5c Use get_cache_dir() instead of getdir("cache") everywhere
Just because I like that function more. :-)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-12-11 18:16:26 +01:00
Uli Schlachter b7d398f339 awful.widget.tasklist: Use pairs instead of ipairs
This is a weak table whose entries might be removed by the garbage collector.
I'm not sure if this will every cause problems, but it's better to be prepared
for tables having "nil holes" (which would mean ipairs ignores some entries).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-11-19 20:13:37 +01:00
Uli Schlachter 7eed74b814 Fix multiple tasklists on the same screen (#563)
The code already tried to handle this correctly, but at some point it used the
wrong variable as the screen number...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-11-19 20:11:42 +01:00
Daniel Hahler b3c7efd5e4 Add awful.widget.prompt.spawn_and_handle_error helper
This is meant to avoid boilerplate code when creating prompt hooks.
2015-11-08 12:32:53 +01:00
Daniel Hahler 4bffa7e47e doc: fix unintentional rendering as code due to indent 2015-10-14 00:22:26 +02:00
Uli Schlachter e3199edca1 Merge branch 'snid_callback' of https://github.com/Elv13/awesome-1 2015-10-10 19:52:41 +02:00
Uli Schlachter 67faf52bab Properly update multiple taglists
My recent refactoring accidentally made the taglist only connect to the signal
for the first screen on which a taglist is created. This commit fixes the code
so that it connects for all screens.

Fixes https://github.com/awesomeWM/awesome/issues/500

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-10-09 20:59:18 +02:00
Emmanuel Lepage Vallee 4095eb91a8 Move util.spawn to a new module, add ability to spawn with properties
* This commit add a new module to avoid a (4 level) loop dependency
* It is now possible to call awful.spawn() with a table of properties
* awful.rules is used to execute the rules.

* Everything is public to allow alternative workflow modules such as
    Tyrannical to use their own callback implementation.
2015-09-29 18:05:56 -04:00
Uli Schlachter abc5a552a4 Make tasklist garbage-collectable
Again, instead of directly connecting to various signals for updating a
tasklist, this commit changes the code so that there is just a single, global
connections and based on this a weak table with all tasklist instances is used
do the updates.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-27 14:20:24 +02:00
Uli Schlachter 40db0b7337 Make taglists garbage-collectable
Similar to what the previous commit does for layoutboxes, this changes the code
for the taglist so that there is only a single, global connection to the various
signals and these update all taglists via weak tables.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-27 14:03:59 +02:00
Uli Schlachter 6f2e7bba25 Make layoutbox kind-of garbage-collectable
Instead of connecting to the needed tag-update-signal again for every layoutbox,
this now just creates a single connection and updates all layoutboxes from here.
A new weak table is used to find the layoutboxes from these callbacks.
Additionally, layoutboxes are now per-screen unique. So even if you try to
create three layoutboxes for screen 1, the code will now always return the same
instance.

This kind-of fixes the leak test for layoutboxes. The problem is that the
default config also creates a layoutbox and adds it to a wibox. Since this is
now the same layoutbox, the test still fails. Just removing the layoutbox-part
from the default config makes this problem go away.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-27 13:19:12 +02:00
Uli Schlachter e9377c4808 Make textclock garbage-collectable
This fixes the textclock-specific part of the test that the previous commit
added.

To fix this, gears.timer.weak_start_new() is used. This function creates a timer
that is automatically stopped when its callback function is garbage collected.
The callback function is saved as a member of the texbox widget that is the
"widget behind the textclock". Thus, the timer can only be stopped after the
widget is garbage-collected, but the timer does not keep the widget alive.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-27 12:44:10 +02:00
Daniel Hahler 116c90c8d8 minor: taglist.taglist_label: join if / remove indent 2015-09-25 01:29:00 +02:00
Daniel Hahler f4d6011f23 awful.widget.taglist: handle/display urgent property always
For non-selected tags, display the urgent bg/fg always.
Previously, this was skipped in case the tag had the focused client,
which is possible since a while.

Ref: https://github.com/awesomeWM/awesome/issues/455#issuecomment-143072993
2015-09-25 01:07:51 +02:00
Kazunobu Kuriyama a005ad22b1 Correct indentation of keyboardlayout.lua
Correct the indentation of keyboardlayout.lua, so that it complies with
the vim modeline at the bottom of the file.
2015-09-13 01:35:50 +09:00
Kazunobu Kuriyama 81e667feab keyboardlayout: Extend allowable 'group_names' pattern range
Extend the range of the 'group_names' patterns which is currently
restricted to typical ones like

    pc+us+ru:2+de:3+ba:4+inet

to more general ones such as

    macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2

so that the keyboardlayout widget can handles all possible patterns
returned by awesome.xkb_get_layout_group().
2015-09-13 01:19:00 +09:00
Uli Schlachter 26699d5ad7 graph and progressbar: Convert to new system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-05 14:51:36 +02:00
Daniel Hahler c7d375790d awful.widget.common.list_update: expose textbox to label callback
This allows the "label" callback to adjust the textbox itself.
`tasklist_label` is changed to make use of it and supports new style
arguments: `font_focus`, `font_urgent` and `font_minimized`.

Closes https://github.com/awesomeWM/awesome/pull/313.
2015-09-02 22:25:24 +02:00
Uli Schlachter 56c22cde77 Merge branch 'widget_context' 2015-08-23 15:33:43 +02:00
Daniel Hahler 57ec268b8e tasklist: handle transient_for with skip_taskbar clients
Ref: https://github.com/awesomeWM/awesome/issues/182
2015-08-12 14:31:16 +02:00
Uli Schlachter 1ebc34b5e9 Widgets: Also add a context argument to :fit()
Together with the context argument to :draw(), this even allows widgets to have
DPI-dependant size.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-08-12 11:19:48 +02:00
Uli Schlachter 88b98789a0 Rename the first argument to :draw to "context"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-08-12 11:19:28 +02:00
Uli Schlachter 008cae50b2 awful.widget.keyboardlayout: Rename private members
I'm working on something that adds :layout functions to widgets. This clashes
with the keyboardlayout widget's use of an entry with this name. This change
adds an underscore as a prefix to the private data members of the
keyboardlayout.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-08-11 12:44:48 +02:00
Daniel Hahler 4a3589aad4 widget.common.list_update: improve margins (dpi / imagebox)
Use `beautiful.xresources.apply_dpi` for `common.list_update`'s textbox
margins, and add a left margin for the imagebox, too.

The latter is useful/nicer with the default behavior of an inverted
style for the focused tasklist entry.
2015-08-01 17:39:48 +02:00
Daniel Hahler b08d3caba8 awful.widget.layoutbox: add tooltip with the layout's name
Closes https://github.com/awesomeWM/awesome/pull/322.
2015-07-28 19:31:26 +02:00
Daniel Hahler 410a6e5bb2 Merge pull request #155 from silverhammermba/pango_color
Replace color_strip_alpha with check_pango_color
2015-07-25 23:26:22 +02:00
Daniel Hahler f060fc055f awful.widget.tasklist: reset queued_update before tasklist_update
This will reset it properly in case of any error in the callback itself.
2015-07-22 13:52:47 +02:00
Daniel Hahler c6ede6e96e tasklist: display symbols with "above" and "below" clients
When windows are set as "above", they will basically behave as "ontop"
(under normal circumstances) and therefore an indicator is useful to get
displayed in that case, too.

Closes https://github.com/awesomeWM/awesome/pull/325.
2015-07-18 01:03:01 +02:00
Max d22a65a103 Replace uses of color_strip_alpha with ensure_pango_color, refactor
This simplifies the logic a bit since all of the fg/bg colors are
always set when it gets to checking the client state.
2015-07-10 18:11:45 -04:00
Daniel Hahler 4a845ced0f awful.widget.graph: setters: emit widget::updated only on changes
Ref: #284
2015-07-10 15:32:22 +02:00
Daniel Hahler 3be423fcb3 awful.widget.graph: expose properties via getters
This allows to see if a widget is stacked for example.

It uses getters instead of exposing the properties directly, which
should be made readonly then probably (which has drawbacks according to [1]).

1: http://lua-users.org/wiki/ReadOnlyTables

Closes https://github.com/awesomeWM/awesome/pull/284.
2015-07-10 15:32:07 +02:00
Daniel Hahler 5630ad1bb2 taglist: call taglist_update only once per main loop
Currently `taglist_update` gets triggered often, because it listens to
a lot of signals.
This patch makes it only call the last one through `timer.delayed_call`.
2015-07-09 11:46:46 +02:00
Daniel Hahler 1924e044f7 tasklist: call tasklist_update only once per main loop
Currently `tasklist_update` gets triggered often, because it listens to
a lot of signals.
This patch makes it only call the last one through `timer.delayed_call`.
2015-07-09 11:46:45 +02:00
Daniel Hahler d361eeab34 Make use of the new `oldscreen` argument with property::screen handlers
Closes #285
2015-07-05 17:42:57 +02:00
actionless 89beaf12e5 fix: rename the rest of *.lua.in files 2015-06-22 11:28:36 +02:00
Julian Wollrath 6cc7be512c Remove the *.in from all files.
Signed-off-b: Julian Wollrath <jwollrath@web.de>
2015-06-19 22:33:32 +02:00
Uli Schlachter 31fcc11272 textclock: Load GLib.DateTime only once
I doubt that this makes much of a difference since lgi surely caches things, but
this still seems nicer to me.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-06-12 10:57:42 +02:00
Uli Schlachter fe0a96d7f1 keyboardlayout: Don't mess with undefined variables
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-06-12 10:57:22 +02:00
Ganesh Ajjanagadde f2e74994f2 awful.textclock: fix timezone handling
This fixes issue #249.
2015-06-12 02:28:06 +02:00
Daniel Hahler 3618d95b11 minor: doc fix for awful.widget.keyboardlayout 2015-05-13 12:52:22 +02:00
Daniel Hahler 98c4ae8573 Fix ldoc target for awful.widget.keyboardlayout
Define @classmod wibox.widget.keyboardlayout, otherwise ldoc fails to
find the base class:

> module(...) name deduction failed: base .../src/build/docs/capi/ .../src/build/lib/awful/widget/keyboardlayout.lua

Fixes https://github.com/awesomeWM/awesome/pull/149#issuecomment-94014438
2015-04-19 00:31:11 +02:00
Aleksey Fedotov d9b1d5490c xkb: Added widget to display current keyboard layout
Widget shows current keyboard layout short name (usually two letters,
for example 'us', 'de'). Indicator will be hidden if only one layout
configured.  Layout can be switched either by clicking on widget or by
function keyboardlayout.next_layout()
2015-03-29 22:36:02 +03:00
Julian Wollrath ca89f0f311 Use LDoc commands to mark parameters as optional in the docs.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:15 +01:00
Daniel Hahler 1b6564f209 docs: fix HTML / table param with awful/widget/tasklist.lua 2015-02-28 23:14:14 +01:00
Daniel Hahler 65ad83ac30 docs: ignore awful/widget/init.lua, not common 2015-02-28 23:14:14 +01:00
Daniel Hahler faa1c74f03 doc: refer to gears.color.create_pattern from set_color 2015-02-28 23:14:13 +01:00
Julian Wollrath 939dab8ba9 Some more doc fixes all over the place.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:13 +01:00
Ignas Anikevicius (gns_ank) 7f8a0787b8 Docs: General work on the awful module.
This is basically an initial stab for some modules and some
experimenting with the `@classmod` directive.

For most of the docs only basic transforming was done.

At the moment the tooltip module looks the best.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Daniel Hahler f2aa8d39ed Merge branch 'ewmh_urgent_v1'
- Fix / revert changing of file modes for: lib/awful/tag.lua.in,
   lib/awful/widget/taglist.lua.in, objects/client.c and property.h.
 - Fix typo / punctuation in doc.
 - Use `capi.client.connect_signal` instead of `add_signal`
   (Ref: https://github.com/Elv13/awesome-1/commit/b292b09#commitcomment-9750466).

Pull request: https://github.com/awesomeWM/awesome/pull/33
2015-02-14 23:36:26 +01:00
Samir Benmendil f453863794 Don't add margin when icon_only = true
Avoid adding an unnecessary margin to the taglist if it has the
`icon_only` property.

Fixes FS#1199 - widgets add an unnecessary margin if icon_only= true
https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1199
2015-02-14 17:03:09 +00:00
Emmanuel Lepage Vallee 1306a543c2 Use tag urgent::property instead of looping every clients in awful.widgets.taglist 2015-02-10 19:28:09 +00: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 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
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
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 dcc348d75e Fix some random ldoc warnings
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-04-13 18:06:49 +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
Jan Larres 9723f23f26 taglist: Add [bg|fg]_empty
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-12-02 15:10:10 +01:00
Uli Schlachter 15f0881966 tasklist: Add default colors for broken themes
In case loading the theme failed and we don't have fg_normal or bg_normal, add
default values for these properties. All the other colors are only used if they
are defined, but these two always need to be defined.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-11-18 15:19:54 +01:00
Emmanuel Lepage Vallee a484ef076d Allow to disable taglist icons.
This is used if the user want to use a custom drawing method.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-17 23:43:29 +01:00
Emmanuel Lepage Vallee 67710d0008 Add ability to set background images for empty tag
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-17 23:43:29 +01:00
Emmanuel Lepage Vallee e920c74fd9 Add ability to disable tasklist icons and restore ability to set bg_images
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-17 23:43:29 +01:00
Emmanuel Lepage Vallee 1c76560da7 Add external function for {tag,task,tab}list background image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-17 23:43:28 +01:00
cdump d8a93dafa3 awful.tag: add index property for custom tag order
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-03-12 15:14:38 +01:00
Lukáš Hrázký 02ea5f9b23 awful.widget.common: remove unsed function
Signed-off-by: Lukáš Hrázký <lukkash@email.cz>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-01-05 23:05:30 +01:00
Lukáš Hrázký dd29a41c4e tasklist: add a theme option for a plain task name
If theme.tasklist_plain_task_name is set to true, the various client
state marks will not be prepended to the task name.

Signed-off-by: Lukáš Hrázký <lukkash@email.cz>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-01-05 23:05:30 +01:00
Lukáš Hrázký 4463f89b15 {tag,task}list: add update_function and base_widget constructor arguments
The arguments are optional, making it possible to use a custom function
to create the {tag,task}list layout. The base_widget arguments can be
used to override the base layout of the {tag,task}list widget.

Signed-off-by: Lukáš Hrázký <lukkash@email.cz>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2013-01-05 23:05:30 +01:00
Uli Schlachter 823cd10be7 awful.widget.button: Fix name clash (FS#1064)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-15 10:08:23 +01:00
Björn Åström 6db7bdfcb9 Fix minimizedcurrenttags filter with sticky clients
Sticky clients showed up in the tasklist without being minimized when using the minimizedcurrenttags filter.
This patch fixes that.

Signed-off-by: Björn Åström <bjoast@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-12-13 18:01:40 +01:00
Uli Schlachter c50d62749b Fix errors from missing themes
This patch gets rid of lots of errors that happen when beautiful.init() is not
called in the config. Most of them were missing default values.

Thanks to panthar for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-27 22:55:42 +01:00
Uli Schlachter d13b825c36 Fix warnings from LDoc
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 15:35:32 +01:00
Uli Schlachter 96e03cb45d Lots of random documentation fixes
This is mostly about mis-named parameters, but also other small things.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-11-19 14:09:10 +01:00
Uli Schlachter 8348d44444 Tags: Remove screen property
A tag's screen is now implemented purely in lua and it is no longer C's
business.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-23 10:05:34 +02:00
Uli Schlachter 2ada67b730 Added a functions for getting all tags on a screen
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-10-20 22:54:20 +02:00
Uli Schlachter ce9932f17f Fix various minor errors after the lua 5.2 conversion
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 21:12:26 +02:00
Arvydas Sidorenko ce19cabae3 Fixed bug with global `tags` in rc.lua
awful.wibox.tasklist was overwritting `tags` variable breaking all the
functionality which uses it.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko c3ebfd99fc Ported awful.widget to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-16 17:37:30 +02:00
Arvydas Sidorenko 4e67027a97 Ported wibox.layout to lua 5.2
Tested with lua 5.1: all good

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
2012-06-16 17:37:30 +02:00
Uli Schlachter f702c4ea04 Simplify the graph drawing code
Instead of having to handle the border width all the time, let's make cairo
worry about that.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 18:06:05 +02:00
Uli Schlachter 7a1acd4a98 awful.widget.graph: Various minor fixes
For example, the rightmost pixel of a border-less graph wasn't draw and all
drawing was shifted one pixel to the left.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 17:59:07 +02:00
dodo cafd28027f awful.widget.graph: don't draw bg color over fg color
behavior before: draw fg color everywhere and draw each value inverted as bg color.
if not enough values available "remove" the free area (draw a big rectangle with bg color over it).

behavior now: draw each value onto background as fg stroke.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-06-13 17:24:58 +02:00
Uli Schlachter 4f30dfd198 Switch from oocairo to lgi.cairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-27 19:20:34 +02:00
Felix Bier 4170c77a08 Return condition value instead of conditional true/false
Signed-off-by: Felix Bier <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-13 10:49:10 +02:00
Felix 1a91fd64b9 Return condition value instead of conditional true/false
Patterns like

if condition then
  return true
else
  return false
end

could be simplified to

return condition

Signed-off-by: Felix <flx.bier@googlemail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-05-12 10:38:38 +02:00
Uli Schlachter 6841999a47 Taglist: Add {bg,fg}_occupied theme options
This commit adds a new {bg,fg}_occupied option to the taglist. These control the
background and foreground color that unselected but occupied tags get in the
taglist. Occupied here means that at least one client is tagged with that tag.

Thanks to NougatRillettes for submitting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-04-06 19:21:40 +02:00
TsT c33aa4a512 mistake fix: "b" local variable declaration is missing
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-03-08 15:46:35 +01:00
Arvydas Sidorenko e052bd99b0 oocairo.image_surface_create_from_png TO awesome.load_image
Replaced all references to image_surface_create_from_png to
awesome.load_image

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-01-29 16:18:18 +01:00
Anurag Priyam 902db9a73d tasklist: indicate sticky clients with a solid square as the default
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-01-13 20:07:52 +01:00
Anurag Priyam 6121db9a13 tasklist: allow 'symbols' used to mark certain client properties to be themed
Symbols (or, visual hints) used to indicate that a client is: 'ontop' or
'floating' or 'maximized_horizontal' or 'maximized_vertical', can now be
defined in the theme, or passed to awful.widget.tasklist() as the last, 'style'
argument (see docs).

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-01-13 20:07:52 +01:00
Ignas Anikevicius (gns_ank) 0b689058f3 Adding {fg,bg}_normal to prevent text overlapping
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-19 17:23:09 +02:00
Uli Schlachter 7a6d49999a ta{g,sk}list: Cache widgets again
Instead of re-creating all the widgets for the list entries on each update, this
code now caches its widgets again and only creates new widgets when a new
client/tag appears.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-10-04 13:55:59 +02:00
Gregor Best c2ea920ca0 remove encoding=utf-8 from modelines
This option is no longer valid in modelines, so it has been removed from
all modelines using the following shellscript:

    #!/bin/ksh

    git ls-tree -r HEAD | cut -f2 | while read f; do
        egrep -e '^(//|--) vim: .*encoding=' $f >/dev/null || continue
        sed -E -e '/^(\/\/|--) vim:/s/:encoding=utf-8//' $f > /tmp/foo
        mv /tmp/foo $f
    done

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-09-11 17:34:09 +02:00
Perry Hargrave f882477269 Update tasklist when client screen changes
This handles corner case where a client has no tags (e.g. stickied), but
is moved across screens.

Signed-off-by: Perry Hargrave <resixian@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-07-08 18:23:02 +02:00
Uli Schlachter bc116c6ef1 Fix two minor typos
Thanks to anrxc for noticing the graph one.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-05-07 16:04:04 +02:00
Uli Schlachter e59f17357d tasklist/taglist: Handle invalid text better
When some client sets an invalid window title, a lua error was generated while
updating the tasklist. This caused all later tasklist entries to be skipped /
missing and the last entry to be empty.

Fix this by catching lua errors with pcall.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-18 17:28:38 +01:00
dodo 5d9fa5614e display ontop mode for clients in awful.widget.tasklist
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-08 19:40:42 +01:00
Uli Schlachter 9d0cf27593 tasklist: Update when a c.minimized changes
This fixes a bug where the tasklist would still show its old content after a
client was minimized/unminized because it didn't connect to the appropriate
signal.

This wasn't noticed before, because in most cases minimizing a client also
unfocuses this client which causes a tasklist update.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-19 21:42:39 +01:00
Uli Schlachter 40958f9d21 Use ._NAME for identifying oocairo surfaces
image:type() was removed from oocairo, because the ._NAME property already
exists and there's no need for two functions doing the same job.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-21 19:54:27 +01:00
Danny Navarro a44439a6c0 Add awful.widget.tasklist.filter.minimizedcurrenttags
Added function to show only minimized clients in the taskbar for the
 current tag.

 Signed-off-by: Danny Navarro <j@dannynavarro.net>

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-17 15:45:56 +02:00
Uli Schlachter 8712be7265 awful.widget.prompt: Fix error display
This has to use :set_text() now.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-14 21:17:02 +02:00
Uli Schlachter 38d4602425 margin: Accept individual margins
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-08 17:22:00 +02:00
Uli Schlachter 2ca25128a5 Remove outdate require("awful.widget.layout")
The file isn't present any more and it's not needed anyway.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-07 21:46:52 +02:00
Uli Schlachter 650b3d6df5 Progressbar: Fix border
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-07 13:52:32 +02:00
Uli Schlachter 734973c60c Graph: Fix border and geometry
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-07 13:50:44 +02:00
Uli Schlachter 9d4e5d31bf awful.widget.layout: Remove
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-07 11:07:25 +02:00
Uli Schlachter 27d448bc97 awful.widget.common: Add background to the icon
The icon should get the same background everything else gets. Fix this by making
the background the outer-most widget in each item.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 18:45:50 +02:00
Uli Schlachter 661a8a7b38 Some more minor fixes, make "strict" happy
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 16:27:38 +02:00
Uli Schlachter c271ed7b13 tasklist: Use a fixed layout
We need a fixed layout here to make tag names like "media" work. Without this,
every take would get the same space, no matter how long its name is.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 15:48:50 +02:00
Uli Schlachter b55dc20319 awful.widget.textclock: Port to new widget system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:30:45 +02:00
Uli Schlachter 0cb3569e3e awful.widget.layoutbox: Port to new widget system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:30:00 +02:00
Uli Schlachter 3b9150f05a awful.widget.button: Port to new widget layout
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:28:43 +02:00
Uli Schlachter 1b134b2361 lua.widget.prompt: Port to new widget system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:27:16 +02:00
Uli Schlachter bf23ebdf46 graph,progressbar: Port to new widget system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:25:59 +02:00
Uli Schlachter 97ed5e70b8 {task,tag}list: Port to new widget system
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-06 14:23:36 +02:00
Uli Schlachter c8b93cec76 progressbar: Remove gradients
gears.color can do the same in better and they are currently broken anyway.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:26:23 +02:00
Uli Schlachter d8dce35269 progressbar: Port to oocairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:24:36 +02:00
Uli Schlachter 048064b8ef graph: Remove gradients
They can and should now be done via gears.color instead. It was porting ever
since this was ported to oocairo anyway...

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 19:02:03 +02:00
Uli Schlachter 6375ce4175 graph: Port to oocairo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 18:57:52 +02:00
Uli Schlachter fce09d4d42 tasklist: Remove unused local variables
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:18:21 +02:00
Uli Schlachter 40aa974ac2 taglist: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:17:03 +02:00
Uli Schlachter 523661760a Layoutbox: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 16:10:01 +02:00
Uli Schlachter 4279c879b3 awful.widget.button: Use oocairo instead of image
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-29 15:57:10 +02:00
Uli Schlachter 49b4573bc8 awful.widget: Stop using named colors
Those were removed a while ago already.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-18 12:27:09 +02:00
Uli Schlachter 71b15d292c Fix a "table expected instead of nil" error
It seems like with lots of bad luck, the garbage collector manages to "steal"
the table with the buttons right after we decided to use it. Evil collector!

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-16 19:02:15 +02:00
Uli Schlachter 89f05c90ca {tag,task}list: Use a weak-valued table
The data table is used to map objects (clients/tags) to the buttons associated
with them. This is done so that we don't have to re-create the button objects
each time this lists are updated.

The problem was that this weak-keyed table was never cleared, because the value
had a strong reference to the key (via the button's signal):

btn:connect_signal("press", function () b:emit_signal("press", o) end)

"o" is the key in the table and btn is reachable from the value. This prevented
the garbage collection of the key. Using a weak-keyed and weak-valued table
fixes this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-16 17:28:50 +02:00
Uli Schlachter 1ce0b7915b Use signal emitions on classes
Since 3fbb5f1535 "luaobject: emit signals on class too" when a signal
is emitted on some object, it will also be emitted on the class. This means that
we don't have to connect our signals via the "new" signal anymore, but can
instead connect to the signal on the class.

(Of course, the signal on the class gets as first argument the object on which
the signal was emitted)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-26 18:31:06 +02:00
Julien Danjou 6d332f07a0 lua{class,object}: rename signals functions
I knew this was wrong at the beginning, f*ck.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:28:20 +02:00
Uli Schlachter ac2ff7f7a7 prompt: Only show error messages
Ever since awesome.spawn() also returns the pid of the started process, the
prompt accidentally displayed the pid of processes that it started.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-09 14:24:58 +02:00
Konstantin Stepanov 842dfc3064 stack graph mode works with max_value
Signed-off-by: Konstantin Stepanov <kstep@p-nut.info>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-05 14:28:14 +02:00
Uli Schlachter 2e0ea80cb3 Tasklist: Listen to the correct signals
The tasklist shouldn't care about the tag history or new tags showing up and it
also shouldn't care about tags disappearing on other screens (on the current
screen the tasklist needs to update because the tag might have been selected).

On the other hand, the tasklist really should care about tags being selected and
unselected. This worked before because this causes changes to the focus history.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-06-22 16:45:06 +02:00
Uli Schlachter 470c2e20d0 Update the tasklist when a client's icon changes
Thanks to a pidgin-using friend for reporting this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-06-14 20:06:02 +02:00
Uli Schlachter 1615cff82a Tasklist: Add some missing parentheses
"a .. b or c" is equivalent to "(a .. b) or c", but we want "a .. (b or c)".
This bug caused an "attempted to concatenate a nil value" error message.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-30 18:53:04 +02:00
Julien Danjou 9ce234a533 awful.widget.tasklist: use symbols chars rather than images
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:28:43 +02:00
Andrei 'Garoth' Thorp b43da6611d docs: progressbar.lua.in missing a dash to prevent luadoc generation
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-03 11:02:20 +02:00
Adrian C. (anrxc) 4f4259c702 awful.widget: add graph stack property
Initial implementation of stacked graphs. Adds two new methods,
set_stack (false by default) and set_stack_colors (i.e. {"red",
"white", "blue"}). The order of the colors matters, because the
add_value method now accepts an (optional) last argument, an index of
a color from your stack color group.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-29 17:39:22 +02:00
Adrian C. (anrxc) 7ea4478b38 awful.widget: add progressbar ticks property
Second implementation of the progressbar ticks. Adds set_ticks,
set_ticks_gap and set_ticks_size methods. Default gap is 1, size 4 in
respect to the default progressbar width of 100px.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-23 10:57:37 +01:00
Adrian C. (anrxc) 54233fa383 awful.widget: add progressbar set_max_value property
The awful.widget.graph allows to change the maximum value a graph can
handle, thus allows users to use widgets and scripts that don't scale
the values down to 0 - 1 range. The progressbars did not allow this
and worked with a hard-coded value of 1.

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-03-02 11:59:58 +01:00