Commit Graph

1458 Commits

Author SHA1 Message Date
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
Roy Crihfield d268dba075 menubar: handle nil Name in .desktop files 2015-01-21 17:56:12 -05:00
Daniel Hahler 532c113e1f minor: doc fixes for keygrabber.lua 2015-01-21 08:33:03 +01:00
Alexis BRENON 0c06d37899 [beautiful] Beautiful initialization handle path or table
Allow beautiful to be initialized either with a path to the theme file or directly with a table
2015-01-20 15:37:35 +01:00
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 7bc4ab0bf7 gears.object: Assert that arguments have the correct type
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-11 11:19:04 +01:00
Uli Schlachter 6fc15f4afd Add and use gears.timer.delayed_call
This function calls a callback at the end of the current main loop iteration.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-11 11:19:04 +01:00
Uli Schlachter 26ffd2c6f2 naughty.dbus: Fix the CloseNotification method
It was broken when naughty was split up.

Thanks to trollixx for reporting this on IRC.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 21:06:30 +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 6afb5f28a2 naughty.dbus: Make this actually work
Apparently I still had an old naughty.lua laying around in build/lib and thus
this new code wasn't actually tested. It's a miracle that it works so well
besides this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 20:27:26 +01:00
Uli Schlachter 223a8c8742 naughty.dbus: Factor out a helper function
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 18:57:38 +01:00
Uli Schlachter 355f10609c naughty: Split up into core and dbus
No changes in functionality intended.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 18:44:30 +01:00
Uli Schlachter 239bc02d83 naughty: Make the actions API more useful to lua code
Previously it was just tailored for the dbus interface's needs.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 17:51:12 +01:00
Uli Schlachter 509bbe7230 naughty: Add a destroy callback argument to naughty.notify
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 17:32:27 +01:00
Uli Schlachter d5088c5f6f naughty: Fix builds without dbus
The new notification action code tried to emit dbus signals even if awesome was
build without notification support. Fix this by adding the necessary "if".

(This also removes an unused return value which wasn't marked as "local" and
thus triggered my "complain if something messes with the global env"-script)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 16:56:03 +01:00
Uli Schlachter a36ddb68e1 gears.timer: Don't assert() that no error occured
The whole point of this pcall() is that we do not have unprotected Lua errors,
because those kill awesome. So instead of assert()ing, let's just print a
message.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-01-10 16:53:59 +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
Uli Schlachter 462518f926 Merge branch 'master' of git://github.com/barlik/awesome 2015-01-10 01:22:23 +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
Da Risk 28a6468f37 naughty: make sendNotificationClosed() and sendActionInvoked() local 2015-01-02 21:02:12 +01:00
Da Risk e664a74710 Add support for notification actions
The desktop notification specification says that a notification can have
different actions. These actions allow the user to interact with the client
application and should be displayed by the notification server.
* Add function to emit a DBus signal
* Notifications : emit NotificationClosed signal when closing notification
* Notifications: use constant for notification closed reasons
* notifications: Implement notifications actions

This is just a basic implementation to display the actions send with the
notifications. The actions should be displayed differently
* Notifications: add support for default action
2014-12-31 14:28:46 +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
actionless 7c4010eea3 fix(lib: wibox: layout): fixed ldoc for set_spacing method 2014-11-08 01:08:26 +01:00
Uli Schlachter 6f992f13b0 Merge branch 'layout_spacing' of git://github.com/Elv13/awesome-1 2014-11-07 22:12:42 +01: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
Emmanuel Lepage Vallee 848aadf95c wibox.layout: Add fixed and flex layouts widget spacing property 2014-10-18 01:17:50 -04: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