Commit Graph

5103 Commits

Author SHA1 Message Date
Gregor Best 44b8549770 awful.mouse: fix interclient border snapping
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-28 12:26:42 +02:00
Chris Newton ef3a7bb1b0 Added a flag to the exit signal
This boolean can be used to differentiate between restarts and exits.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-21 07:43:29 +01:00
Gregor Best 35a5a74744 awful.mouse: fix client snapping
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-21 07:38:53 +01:00
Andres Freund 3f40feb3c4 Correct typo in awful.client.restore
This corrects a type in awful.client.restore which caused it not to restore any
client at all  if all clients are minimized.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-02 18:54:39 +01:00
Uli Schlachter 6fe0c27930 Fix size restore on unfullscreening
When a window is restored back to normal resize from fullscreen mode, its
geometry got smaller by its titlebar's size. Fix this by adding the titlebar
geometry to the client's geometry at the correct place.

Thanks to anrxc for reporting this and helping me debug it.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-01 22:15:56 +01:00
Uli Schlachter b2e2959be8 awful.placement.no_overlap: Honor original position
awful.placement.no_overlap caused clients on an otherwise empty desktop to stich
to the top-left corner of the screen because it always preferred the top-left
corner of the available space.

This commit doesn't change the way in which the available area is computed, but
instead this now tries to keep the client at its original position if that is
available.

This fixes cases where calling awful.placement.no_overlap as a callback from an
awful.rule rule didn't work because the manage signal in the default config
later overrode that via calling awful.placement.no_overlap.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-03-01 17:55:56 +01:00
Thomas Moschny d2b684d4a3 Normalize icon path names (fixes #869).
The elements in ${icon_sources}, as returned by file(GLOB ...) contain
double slashes, could be a bug in cmake. This causes building with
cmake 2.8.4 to fail, due to dependency problems lateron.

This patch works around the issue by normalizing all path names in
${icon_sources} while appending them to ${ALL_ICONS}, thereby removing
the double slashes.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-21 18:07:42 +01:00
Uli Schlachter b87fc48230 Bind awful.client.restore to mod+ctrl+n
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-19 22:28:49 +01:00
Uli Schlachter 2963a32d44 Add awful.client.restore()
This restores the first minimized client it finds on the selected tags.

Optionally, this function accepts a screen number as its first argument.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-19 22:28:36 +01:00
Uli Schlachter 64bb0bea08 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 22:28:14 +01:00
Uli Schlachter f6907e1296 awful.client.floating.toggle: Fix for dialogs
awful.client.floating.get() does some sensible defaults. E.g. dialogs are
floating by default. Since floating.toggle only checked the property, these
defaults made it break.

So floating.toggle() should use floating.get to decide if a given client is
floating. It should also use "false" instead of "nil" when the client is made
non-floating or else the default will apply again.

Thanks to vsp for making me figure this out. :)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-10 23:05:44 +01:00
André Aparício 3dd4cc3226 Fix default naughty preset for dbus notifications
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-03 18:07:52 +01:00
Benoît Ryder 1513f399e1 Don't ignore forced width for textbox with background image.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-01 19:50:53 +01:00
Benoît Ryder 89c3e7411d Fixed copy/paste bugs.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-02-01 19:50:53 +01:00
jpike 3eb12cdf00 Add naughty.config.notify_callback
This optional callback can be used for filtering and/or editing
notifications.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-28 21:05:01 +01:00
Uli Schlachter 23ff7a8414 Don't focus a different screen on unmanage (FS#850)
When some client on the left monitor was closed while client.focus is on the
right monitor (e.g. 'sleep 5 ; exit' in a terminal), awful.autofocus would shift
the input focus to whatever client happened to be next in the focus history on
the left monitor.

Fix this by only ever moving the input focus between screens when a tag is
selected, not when some client does its magic.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-27 22:27:53 +01:00
Anurag Priyam b805492c2a add usage example for awful.menu
Added a very simple example to show the usage, and applicability of
awful.menu by dynamically constructing a menu of clients that match a
particular rule.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-26 22:10:32 +01:00
Anurag Priyam 41ba50fde2 fix minor grammar, and typo in awful.menu.new's documentation
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-26 22:10:32 +01:00
Anurag Priyam 9c3731c782 add markup to awful.menu.new's documentation
Display the possible keys to the 'menu' params as a bullet list
(unreadable otherwise).

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-26 22:10:32 +01:00
Uli Schlachter 12c7e2852f Tag clients more intelligently (FS#700)
Before this commit, c:tags(tags) and t:clients(clients) first removed all
tags/clients and then added the new one.

This is now changed into only removing the tags/clients that have to be removed
and leaving the others in place. Hopefully, this avoids all kinds of weird
issues which we had.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-18 14:24:43 +01:00
Julien Danjou 95ae751bad change codename
Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-17 12:38:13 +01:00
Anurag Priyam 8fc605abb8 add usage example for keygrabber API
To demonstrate keygrabber API usage, I added a small function to the
docs that can be bound to a key and used to resize clients using
keyboard.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-16 20:20:34 +01:00
Uli Schlachter 90f0939bee Make awful.client.idx public
The luadoc API documentation already contained this function and it seems to be
useful for user configs.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-03 14:18:58 +01:00
Julien Danjou 95eb965883 timer: add again method
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-17 13:49:51 +01:00
Julien Danjou cdbbac3c6f awesome-client: allow to send multi line code
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-17 12:02:57 +01:00
Michael Abbott 9cdbb016f1 Revert "build: look for libs in /usr/local/lib"
This reverts commit 7c86714dca.

It doesn't make sense to hard-wire /usr/local into the build, as this
depends entirely on the build target.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-14 21:05:46 +01:00
Uli Schlachter 0e7d36703e Use _LDFLAGS instead of _LIBRARIES
If a library is in a non-standard path, the linker needs an extra argument so
that it knows how to find this library: -L/path/to/lib

pkg_check_modules() sets _LIBRARIES only to the library's name, but _LDFLAGS
also contains a -L flag if one was found.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-14 20:28:37 +01:00
Uli Schlachter 95403b9544 awful.client.setwfact: Handle invisible clients (FS#693)
setwfact() calls idx() on the client that it works on. When idx() is called with
a client that isn't visible, it fails while trying to find outs the client's
index in the current layout.

  event_handle_mousegrabber:119: error running function:
    lib/awful/client.lua:688: attempt to compare nil with number

Fix this by ignoring all clients that aren't visible in setwfact().

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-11 14:23:31 +01:00
Radu Andries 35286d5ecc Improve naughty's dbus interface
Evil spec from galago project.
image_data should be read too as in http://www.galago-project.org/specs/notification/0.9/x344.html

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-10 17:20:51 +01:00
Uli Schlachter a756972962 spawn: Create sessions for processes
Each process spawned from awesome now gets its own session and process group.
This makes sure they aren't connected to awesome in any way any more. This
especially fixes some problems with signals.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-12-04 13:21:55 +01:00
Uli Schlachter 03010ca5c2 Properly die when the X server dies
When the X connection breaks for whatever reason, awesome wouldn't properly
exit, but go into a busy loop instead. Fix this by dying when our connection to
the X server dies.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-11-13 22:35:00 +01:00
Uli Schlachter d303957d01 Set minimum required cmake version to 2.8.0
We are using file(copy ...) which seems to be new in cmake 2.8.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-28 22:20:54 +02:00
Julien Danjou b0e8024e47 awful.prompt: add ctrl-backspace
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-10-21 09:05:55 +02:00
Julien Danjou 8805a99f73 awful.tag: do not update history when identical tags
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-10-20 17:30:48 +02:00
Julien Danjou f37d9f5c7c awful.tag: remove useless line
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-10-20 17:00:10 +02:00
Stjujsckij Nickolaj b4cc392e23 Remove last known usage of deprecated in Lua 5.1 `arg`
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-12 18:37:54 +02:00
Stjujsckij Nickolaj 7ef7fe7e03 awful.titlebar: Stop using arg
Implementing vararg functions via arg is deprecated in lua. This kind of thing
should instead be done via "...".

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-12 18:37:54 +02:00
Alexandre "kAworu" Perrin 3961a2ee31 use CMake check_function_exists() for execinfo
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 22:52:00 +02:00
Alexandre "kAworu" Perrin 56f0c84240 test for __builtin_clz() and fallback to an inline implementation.
__builtin_clz() is not defined by gcc prior to 3.4 and maybe not for some other
compiler vendors.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 20:41:44 +02:00
Uli Schlachter f9c2fcacb2 awful.util.join: Stop using arg
Implementing vararg functions via arg is deprecated in lua. This kind of thing
should instead be done via "...".

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 17:13:51 +02:00
Alexandre "kAworu" Perrin f38566bd97 avoid using seq in awsetbg, and test for columns count argument of -m option.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 17:12:00 +02:00
Uli Schlachter 0116d739b5 Don't fail if execinfo is not available
Previously, cmake aborted when execinfo was not found. With this commit the
backtrace code is just disabled when execinfo is not available.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 16:42:34 +02:00
Alexandre "kAworu" Perrin 23d5b27206 awesomeConfig: test for execinfo.h/backtrace()
add a test for execinfo.h and backtrace() function which are defined by
GNU libc. If it fails, require libexecinfo.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-10-11 16:42:08 +02:00
koniu 02cd1cbda3 awful.completion: callback functions return table of matches
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 15:23:06 +02:00
koniu 595b344156 awful.prompt: add 'autoexec' argument
If set the prompt will execute the command upon completion which returns
only one match.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-11 15:23:06 +02:00
Uli Schlachter 9e79d18747 Tasklist: Fail less badly with invalid utf8
xterm is famous for messing up the utf8 in its title (unless correctly
configured).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-07 18:42:05 +02:00
Uli Schlachter a4b8fc4894 Flush the cairo surface after drawing
It is perfectly valid for a cairo surface to delay the actual. This is mostly
done in situations where it speeds stuff up. Since we want our drawing to be
visible, we have to flush the cairo surface when we are done drawing.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-10-05 19:48:54 +02:00
Julien Danjou 0ee01cc3fe change codename
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-10-04 10:51:54 +02:00
Roman Kosenko 4bdc716d8a Fix image cropping/enlarging
Function imlib_create_cropped_image() from imlib2 doesn't initialize
buffer for new image, so if we use crop bounds bigger than original ones
we need to erase garbage from derived image.
This bug produced colorful pressed buttons (FS#516, FS#822).

Signed-off-by: Roman Kosenko <madkite@gmail.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-27 11:14:18 +02:00
Gregor Best e6b99ae374 naughty: localize obj
Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-09-19 20:16:55 +02:00