Commit Graph

1499 Commits

Author SHA1 Message Date
▟ ▖▟ ▖ 40b4387e6d awful.menu: update t new layout api
Apparently the style to get the direction of a wibox.layout.* changed
from calling get_dir to just accessing the attribute dir.
2015-04-18 08:53:57 +02:00
Emmanuel Lepage Vallée 2f24ec69e1 Merge pull request #149 from lexa/master
xkb: implementation of keyboard layout switcher
2015-04-17 11:23:16 -04:00
Daniel Hahler 40e76cf92b Merge pull request #175 from blueyed/ewmh-fullmax-fix-offscreen
ewmh: screen_change: fix off-screen geometries
2015-04-17 17:20:29 +02:00
Daniel Hahler 594825c929 Fix awful.completion for zsh
This fixes 704cf21.
2015-03-31 00:11:22 +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
Daniel Hahler e1fa04a15d ewmh: screen_change: fix off-screen geometries
When moving a fullscreen/maximized client to a smaller screen or with
different Y offset etc, its offset was not handled properly.

This moves it first into the new area, and then makes sure that its not
off-screen.  The latter should not happen, because the width/height is
adjusted before.
2015-03-21 05:54:01 +01:00
Daniel Hahler 07486f7ead tag.lua: add "property::icon_only" signal
Thanks @NormalRa for the patch.

Fixes #138.
2015-03-17 16:24:47 +01:00
taptap 5b81a0db60 Add reset_timer and replace_text functions
Enables users to replace text and reset expiration timeouts of existing
notifications, which is necessary for OSD creation by means of naughty.

Signed-off-by: taptap <alexey.e.egorov@gmail.com>
2015-02-28 23:54:02 +01: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 ffa535ca29 doc: fix markup with wibox.widget.textbox:set_markup 2015-02-28 23:14:14 +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 2930c0ab4a doc: fix for awful.util.geticonpath 2015-02-28 23:14:14 +01:00
Julian Wollrath 3a34b49179 Fix LDoc warning. 2015-02-28 23:14:13 +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 4d7bd19014 Make everything wibox related a class in the docs.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:13 +01:00
Julian Wollrath f8a3209707 Fix ldoc warning.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:13 +01:00
Julian Wollrath 6de9d1e1d5 Make description of awful.mouse.finder readable.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:13 +01:00
Julian Wollrath b16944a654 Fix generation of the docs.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
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
Julian Wollrath 668055479e Convert usage of HTML to markdown.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:13 +01:00
Julian Wollrath 38e2a47157 Fixup newly introduced whitespace issues.
Signed-off-by: Julian Wollrath <jwollrath@web.de>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) b96b3ef31c Docs: Move all docs to a `docs` folder.
This moves all of the documentation into a separate folder, which keeps
everything in one place and avoids unnecessary clutter.

This will pay off when proper guides are written for various aspects of
using awesome or contributing to it.

This also updates the building system, so that the docs are properly
generated with new directories.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) 6ab86b5d03 Docs: Add local functions to beautiful and naughty
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) 4b94f05799 Docs: Naughty - mostly done
Reorganise the config table, so that we have a single table and the
fields are nested.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) 734cc2f59c Docs Finish beautiful
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) 654b110322 Docs: Fix the header for beautiful
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +01:00
Ignas Anikevicius (gns_ank) ed0bf91122 Docs: Work on naughty
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:12 +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
Ignas Anikevicius (gns_ank) e4fa6effe2 Docs: Fix headers for the wibox module
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) 00f558ff92 Docs: General work on gears module.
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) de10f5e4f0 Docs: awful.layouts fixup
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) 9f8e2b1336 Docs: Begin work on awful.client
This fixes usage and some and client parameter types.
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) a0051c7dc4 Docs: Start menubar refactoring
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) 20eeb66541 Docs: Start gears.color refactoring
Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) f726dcee61 Fix LDoc errors on generating the documentation.
This also at the same time ports the documentation to the new `Markdown`
format.
2015-02-28 23:14:11 +01:00
Ignas Anikevicius (gns_ank) 12185a5aae Docs: Port awful.rules into the new doc format.
This converts the old documentation style into the new one to use
markdown instead of HTML in bigger doc blocks. Also, we can use block
comments, which means that writting documentation (and indenting code
blocks) easier.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>
2015-02-28 23:14:11 +01:00
Emmanuel Lepage Vallée 2f0a7f9de4 Merge pull request #150 from Elv13/fix_arrange_error
layout: Fix delayed arrange regression
2015-02-24 20:52:19 +00:00
Daniel Hahler 025b2841da autofocus: emit `request::activate` signal
After a client gets unmanaged, the newly focused client might not be
visible / raised above other windows.

Using the `request::activate` signal makes the autofocus handler more
flexible, and will raise the focused client by default.
2015-02-24 15:33:49 +01:00
Daniel Hahler 015e3e985b Merge pull request #144 from actionless/menubar-paginated-scroll
feat(lib: menubar): add paginated scrolling
2015-02-24 12:21:23 +01:00
actionless 2a9b1d00e1 feat(lib: menubar): add paginated scrolling
also fixes some local/global issues and adds saving current geometry to the instance table
2015-02-23 20:34:26 +01:00
Emmanuel Lepage Vallee c88c51f74d layout: Fix delayed arrange regression 2015-02-22 22:32:16 +00:00
Kenton 517d6049c8 added middle anchors for naughty notifications
top_middle and bottom_middle can be used as position arguments for new naughty.notifications
2015-02-21 17:37:30 -05:00
Daniel Hahler d1984a7a1f Merge pull request #95 from blueyed/signal-client-property-screen-old
Send old_screen with "property::screen" client signal
2015-02-20 23:25:38 +01:00
Daniel Hahler 6bffd1938a Merge pull request #132 from awesomeWM/doc-fixes
A new set of doc fixes / improvements
2015-02-19 22:39:28 +01:00
Daniel Hahler 696f93f4d5 Merge pull request #123 from blueyed/tooltip-add-delay_show
awful.tooltip: add "delay_show" arg
2015-02-19 22:38:38 +01:00
Emmanuel Lepage Vallée aa0b9becf7 Merge pull request #101 from silverhammermba/drylayouts
DRY off layout code
2015-02-19 19:33:36 +00:00
Daniel Hahler 5d0fc566e9 awful.tooltip: add "delay_show" arg
This will wrap the show and hide methods using gears.timeout.
2015-02-19 18:16:00 +01:00
Daniel Hahler 9702fc63c6 Merge pull request #125 from blueyed/fix-placement-no-offscreen-xy-at-0
awful.placement.no_offscreen: no negative x/y
2015-02-18 23:34:29 +01:00
Daniel Hahler 8b6acb830f minor: code style fixes 2015-02-17 18:55:26 +01:00
Daniel Hahler f05ebc5d98 awful.tag: fix call to update_urgent from client_untagged
Ref: #130
2015-02-17 18:38:43 +01:00
Daniel Hahler 289bc26a3c doc: config.ld: setup @client alias, and use it
It also adds the "@tab" alias, which did not work for me, but should be
the default?!
2015-02-15 22:33:23 +01:00
Daniel Hahler 47ffb1610c doc: improve meta info / structure for gears.timer 2015-02-15 22:30:05 +01:00
Daniel Hahler 302e698ba8 minor 2015-02-15 22:30:05 +01:00
Daniel Hahler 29d1b473f8 Fix doc for textbox:set_markup 2015-02-15 22:30:05 +01:00
Max 52ec0ebd93 Don't create borders/set client geometry in layouts
Instead, layouts simply store client geometries in a table.
awful.layout.arrange corrects these for border widths and applies them.
2015-02-15 11:25:11 -05:00
Daniel Hahler 246de56aad Use delayed calls for autofocus signal handlers
This avoids awful.autofocus to kick in, focusing some other client in
between (where a focused signal would get emitted for, although the
intermediate client was never meant to have focus).

This is the traceback:

    stack traceback:
      /home/user/.config/awesome/cyclefocus/init.lua:199: in function 'add'
      /home/user/.config/awesome/cyclefocus/init.lua:309: in function </home/user/.config/awesome/cyclefocus/init.lua:304>
      [C]: ?
      /usr/local/share/awesome/lib/awful/autofocus.lua:22: in function 'check_focus'
      /usr/local/share/awesome/lib/awful/autofocus.lua:31: in function </usr/local/share/awesome/lib/awful/autofocus.lua:28>
      [C]: ?
      /usr/local/share/awesome/lib/awful/tag.lua:517: in function 'viewonly'
      /usr/local/share/awesome/lib/awful/client.lua:69: in function 'jumpto'
      /home/user/.config/awesome/rc.lua:1188: in function 'client_run_or_raise'
      /home/user/.config/awesome/rc.lua:1217: in function 'run_or_raise'
      /home/user/.config/awesome/rc.lua:1243: in function 'press'
      /usr/local/share/awesome/lib/awful/key.lua:42: in function </usr/local/share/awesome/lib/awful/key.lua:42>

Ref: https://github.com/awesomeWM/awesome/pull/19

This supersedes https://github.com/awesomeWM/awesome/pull/107.
2015-02-15 14:23:10 +01:00
Daniel Hahler 5140ef1764 Send old_screen with "property::screen" client signal
This should improve layout re-arranging with 2+ screens.
2015-02-15 13:26:46 +01:00
Daniel Hahler a791e695bb Merge pull request #121 from awesomeWM/doc-fix-tooltip
doc: fix/improve markup for awful.tooltip
2015-02-15 13:12:57 +01:00
Daniel Hahler 17776051ec layout.arrange: delay a call per screen
This is a followup / fix for 7410646, which did not handle multiple
arrange calls to different screens per main lopp.
2015-02-15 12:09:16 +01:00
Daniel Hahler 0d17ac0d0c doc: fix/improve markup for awful.tooltip 2015-02-15 12:02:58 +01:00
Daniel Hahler 62346a75a9 awful.util.deprecate: do not use glib.String() for the hash
This works around a crash and is not really required.

Fixes https://github.com/awesomeWM/awesome/issues/127.
2015-02-15 10:52:35 +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
Daniel Hahler 9f8dff8a14 awful.placement.no_offscreen: no negative x/y
If a client's width/height is larger than the screen's geometry, align
it at the screen's x/y offset.

Test case with gvim, from a maximized terminal on a floating tag:

    % gvim -u NONE -N --cmd "set lines=$((LINES + 5))"

Without this patch the top of the window is off-screen, but the bottom
should be.  Fixing it using a number of lines that fit the screen should
display the window completely.
2015-02-14 22:04:36 +01:00
Daniel Hahler e30935c934 Merge pull request #91 from Ram-Z/icon_only
widget/taglist: don't add margin when icon_only = true
2015-02-14 20:58:46 +01:00
Daniel Hahler 6183d8587a Merge pull request #118 from blueyed/fix-proper-activate-via-rules
Properly fix activating an "invisible" client via rules
2015-02-14 20:55:04 +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
Daniel Hahler 8fa1309279 Merge pull request #105 from blueyed/awful-util-deprecate-once-per-traceback
awful.util.deprecate: display deprecations only once
2015-02-14 15:38:36 +01:00
Daniel Hahler 0a76e41cb8 Use lgi.GLib.String():append(tb):hash() 2015-02-14 15:37:09 +01:00
Daniel Hahler 74106462ac Do layout.arrange only once per main loop
This uses timer.delayed_call to arrange the layouts only once per main
loop.
2015-02-14 15:10:31 +01:00
Daniel Hahler ffa0001d34 Merge pull request #96 from blueyed/emit-tag-history-update-from-restore
Emit tag::history::update signal from tag.history.restore
2015-02-14 14:55:28 +01:00
Daniel Hahler b77e23c047 Merge branch 'partly-revert-pr-87' into fix-proper-activate-via-rules
This reverts PR #87, except for f562b4a ("luaA_object_emit_signal: check
for valid object").
2015-02-14 14:37:25 +01:00
Daniel Hahler 76ede0ef45 Revert "awful.rules.execute: use delayed_call for emitting request::activate"
The 'request::activate' signal should be sent and handled immediately,
and not delayed.  It was too much of a hack to work around the client
not being visible.

Instead, the "is visible" constraint on `capi.client.focus` will be
removed.

This reverts commit 6963ede3dc.
2015-02-14 14:30:04 +01:00
Daniel Hahler 055ad392ee Revert "Revert "Partly revert commit 90fde1393f""
This reverts commit 1c6463822e.
2015-02-14 14:29:16 +01:00
Uli Schlachter b4d677797a awful.util.unittest: Move into spec/
This gets rid of awful.util.unittest and instead creates an automatic test for
it under spec/awful/util_spec.lua. In the process, it also fixes the test to
actually test the right thing and I took the liberty to add some more tests.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-02-14 13:38:01 +01:00
Daniel Hahler c74b11fee8 Merge pull request #87 from blueyed/fix-client-visible-during-activate
awful.rules.execute: use delayed_call for emitting request::activate
2015-02-13 02:02:15 +01:00
Emmanuel Lepage Vallée 5fde04c4cf Merge pull request #104 from blueyed/util.file_readable-check-for-not-dir
awful.util.file_readable: return false for dirs
2015-02-11 23:48:49 +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
Emmanuel Lepage Vallee b292b09328 Add 'urgent' property to tags 2015-02-10 19:28:04 +00:00
Emmanuel Lepage Vallee d688ebe6cd Add new request::urgent signal
This fix two things:

(1) Clients asking to be urgent while focussed, this have been reported
a few time for urxvt and I usually link a patch that fix this. This may
not be considered a bug by some, but I think it is.

(2) Add the ability to stop noisy clients from setting the urgent state
themselves.
2015-02-10 19:27:46 +00:00
Daniel Hahler 627f8ea20f Remove 'enc=utf-8' from Vim modelines
This is not allowed, and results in:

> E520: Not allowed in a modeline: enc=utf-8
2015-02-10 20:18:46 +01:00
Daniel Hahler 1c6463822e Revert "Partly revert commit 90fde1393f"
This reverts commit 254e50d88c.
2015-02-10 09:35:53 +01:00
Daniel Hahler 6963ede3dc awful.rules.execute: use delayed_call for emitting request::activate
This is a followup to commit 90fde13, which caused the client not to be
visible during the request::activate callback.

This requires an initial call to `awesome_refresh` before the main loop
to get `awesome.startup` right.

Ref: https://github.com/awesomeWM/awesome/commit/90fde139#commitcomment-9308225
2015-02-10 09:35:53 +01:00
Daniel Hahler 3ab3bb900a Merge pull request #93 from blueyed/enforce-client-geometry
awful.ewmh: Enforce client geometry (FS#764, FS#1216)
2015-02-10 09:33:33 +01:00
Emmanuel Lepage Vallée 3d3c216705 Merge pull request #106 from blueyed/traceback-with-imagebox-set_image-error
Print debug.traceback() with imagebox:set_image, when reading image failed
2015-02-09 19:50:18 +00:00
Daniel Hahler 60e04d3ae3 menubar: get_icon_lookup_path: only look in apps/ with icon_themes
Ref: https://github.com/awesomeWM/awesome/pull/100#issuecomment-73559676
2015-02-09 20:45:32 +01:00
Daniel Hahler dc41e62f9a menubar: icon_formats: svg is supported 2015-02-09 20:45:32 +01:00
Daniel Hahler d25e15001f Move building of icon lookup path into get_icon_lookup_path 2015-02-09 20:45:32 +01:00
salorium c315687dad menubar: improve path icon behavior
This adds $XDG_DATA_DIRS and HOME/.icons for icon lookups.
2015-02-09 20:45:32 +01:00
Daniel Hahler 8df51d0b8c awful.util.deprecate: display deprecations only once
This remembers displayed tracebacks and skips them if they were
displayed already.
2015-02-09 20:26:57 +01:00
Daniel Hahler a6718a4a0d Print debug.traceback() with imagebox:set_image, when reading image failed
This made it easier to figure out where a file causing an error was
coming from, but I could imagine that this could become too noisy, and
that there is/should probably be a more streamlined way to enable more
verbose logging / error output.
2015-02-09 20:20:21 +01:00
Daniel Hahler a0e7f88b00 awful.util.file_readable: return false for dirs
This is currently only used for icon lookups / where files are expected.
2015-02-09 20:17:40 +01:00
Daniel Hahler 3a160c9363 awful.client.property.get: fix loading multiple persistent properties
When loading persistent properties for a client, the loop value wasn't used,
but the original/requested property.  This would only get triggered when
using more than one persistent client property (the default is one,
"floating").
2015-02-08 02:46:40 +01:00
Daniel Hahler 516dd91027 Re-apply naughty: Fix builds without dbus (d5088c5)
This got lost in 355f106 (naughty: Split up into core and dbus).
2015-02-06 23:08:07 +01:00
Roy Crihfield 02bfd06038 menubar: quote special chars
- Simplified & renamed nocase function
 - Add pattern-quoting functions to awful.util:
   - awful.util.query_to_pattern
   - awful.util.quote_pattern
 - awful.util: Add basic unit tests for menubar query

Fixes https://github.com/awesomeWM/awesome/issues/84.
2015-02-06 18:27:38 +01:00
Daniel Hahler 4557b59a3e awful.ewmh: Enforce client geometry (FS#764, FS#1216)
This reverts "Revert "awful.ewmh: Enforce client geometry
(FS#764,FS#1216)"", but adds a fix to ignore property::geometry signals
coming from geometry_change itself.

FS#764: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=764
FS#1216: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1216

This reverts commit 8cf48d1fe8.
2015-02-02 10:22:07 +01:00
Daniel Hahler 704cf21b68 completion: quote strings passed to the shell
The strings passed to the shell completion machinery need to be quoted.
2015-01-24 11:15:17 +01:00
Uli Schlachter 0469cb4481 Merge branch 'pr=desktop-name' of git://github.com/roysc/awesome 2015-01-23 21:02:03 +01:00
Uli Schlachter 70bcdef1fd Merge branch 'master' of git://github.com/AlexisBRENON/awesome 2015-01-23 21:01:17 +01:00
Uli Schlachter 254e50d88c Partly revert commit 90fde1393f
That commit made awful.tag use timer.delayed_call() to call withcurrent() during
the manage signal. The idea was "if nothing else assigns any tags until the end,
apply some default ones".

However, the C core refuses to set the input focus to an unviewable client and
thus this means that setting the input focus during manage failed. So, instead
of using the delayed_call(), just call withcurrent() directly, like we did
before.

However, some part of that commit is still left: Awful.rules no longer
disconnects the withcurrent() callback from the "manage" signal. This was
originally added in commit 5e7ddd1efa, because it clients flickered otherwise if
they were moved to some unselected tag during "manage". This happened because
the C code unbanned the client when it got assigned the input focus and only
later did some other code move it to some unselected tag.

However, this flickering will no longer occur, because commit 3dbf89c990 added
lazy focus setting. Thanks to this, setting the focus no longer unbans a client
as a side-effect. Thus, if you focus a client and then remove it from all
selected tags, nothing will be visible on-screen.

To make a long story short: This commit reverts the part of commit 90fde1393f
which caused side effects. The part that wasn't necessary any more is left in.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-23 20:51:35 +01:00