Commit Graph

221 Commits

Author SHA1 Message Date
koniu a48e71af18 naughty: destroy() now takes object instead idx (FS #350)
Fixes the bug although still relies on index being passed with notification
in notify() and re-set by arrange().

Also box:geometry() in arrange() stopped working with just one argument
so it pushes all coords now.

Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 17:42:49 +02:00
koniu e6d644c4fb naughty: import
Signed-off-by: koniu <gkusnierz@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-18 13:40:01 +02:00
Gregor Best 072937ec70 Various changes to awful.util and invaders
This commit changes various aspects of awful.util and invaders:

awful.util:

- added awful.util.getdir(d)
  This function takes one argument and returns a matching directory,
  as of now, only "cache" is supported. The return value is either
  $XDG_CACHE_HOME/awesome/ or $HOME/.cache/awesome/, XDG_CACHE_HOME
  takes precedence

invaders:

- renamed invaders to awesome invaders
  at two places in the sourcecode, invaders is referred to as
  "Space Invaders for Awesome". As Taiko holds the trademark for
  the term "Space Invaders", I changed both of its occurences to
  "Awesome Invaders" to avoid conflicts with the law of Japan and
  the United States of America (and possibly others)

- added support for XDG_CACHE_HOME
  this change adds support for XDG_CACHE_HOME as the cache directory
  for highscores and screenshots

- added some parameters to invaders.run()
  this change adds three parameters to invaders.run, supplied as a
  table. They are "x", "y" and "solidbg".

  "x" sets the X coordinate of the playfield
  "y" sets the Y coordinate of the playfield
  "solidbg" sets the color of the playfield background for people who
  have problems with transparency. This still looks rather hackish and
  needs to be polished

- changed startup position
  up until now, invaders always started at (100,100) on the first
  screen, now it starts centered to the screen on which the mouse cursor
  is.
2008-10-17 19:20:31 +02:00
Gregor Best 1f8d52b3f5 Fix 1800 points bug and finally get beautiful support working
This commit (finally) fixes beautiful support, now it should work with
beautiful and without.

Another fixed serious bug is that no more enemies are spawned if the
score is higher than 1800
2008-10-15 18:59:31 +02:00
Gregor Best b3518691cf add beautiful support to invaders.lua and change Garoth' name
This commit adds beautiful support to invaders.lua and changes Garoth'
name in the top comment to his full name + nickname
2008-10-14 21:39:56 +02:00
Julien Danjou 32ea9f46ca invaders: import
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-14 18:16:26 +02:00
Julien Danjou 39f50d5b06 awful.titlebar: do not build args
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-12 17:14:44 +02:00
Thomas Harning Jr 946b38147e awful.titlebar: Pull in missing dependencies and grab theme details
Modules beautiful and widget are required by the titlebar:
 * beautiful to retrieve theme details
 * widget for the buttons

Signed-off-by: Thomas Harning Jr <harningt@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-09 18:45:46 +02:00
Andrei Thorp 3c1f516758 Added swapbydirection to client.lua.in in awful.
Works similar to focus.bydirection, but swaps windows instead.
Also, added a generic local method get_client_in_direction for
use by (swap|focus)\.?bydirection.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-09 18:44:31 +02:00
Julien Danjou df843a8452 awful.placement: fix no_overlap (FS#335)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-02 12:12:42 +02:00
Julien Danjou 683b1a9572 awful.widget: use margin instead of spaces
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-01 17:03:49 +02:00
Julien Danjou 842886b7d0 awful: add compatibility with old function names from util
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-01 16:26:30 +02:00
Julien Danjou 9dca1330c2 awful.client: maximize works in floating layout
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-01 15:05:54 +02:00
Julien Danjou 3f9b726065 awful.client: use right data array
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-01 15:00:33 +02:00
Julien Danjou da2f473386 awful.util: fix wrong variable
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 17:07:25 +02:00
Julien Danjou c3775199b0 awful.util: use loadfile instead of loadstring
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 17:00:19 +02:00
Julien Danjou 581a8b1103 tabulous: store tags in otable
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 16:39:43 +02:00
Julien Danjou da52a7b197 awful: add helper to check configuration file syntax
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 15:50:41 +02:00
Julien Danjou c1566f39c5 awful.prompt: add math lib
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 09:36:40 +02:00
Julien Danjou 6dc84a1c12 awful.prompt: fix history save
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-30 09:22:34 +02:00
Julien Danjou 8d6e2b57af awful.client: remove useless vars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-29 19:57:04 +02:00
Julien Danjou 34647e4e75 awful: split in several modules
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-29 18:30:32 +02:00
Nathan Weizenbaum 89700eeebe awful: shift+tab cycles backwards through prompts
Signed-off-by: Nathan Weizenbaum <nex342@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-27 08:52:39 +02:00
Julien Danjou d23c352fcc awful: use minimized rather than hidden in tasklist label
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 17:04:52 +02:00
Julien Danjou 5709435392 wibox: rework, merge titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:42 +02:00
Julien Danjou f374210382 client: add property hook
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-26 15:00:27 +02:00
Julien Danjou 0feb7de68e wibox: merge statusbars and titlebars Lua objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 14:34:43 +02:00
Julien Danjou 98cf1890b4 awful: stop using deprecated visible_get()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou 71ac6710e5 widgets: replace appicon by imagebox
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou 6614ffcb06 lua: deprecate and replace {font,colors}_set
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou 320ac68fb7 awful: filter focus by type
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou 4ac6d4568b awful: create a new launcher widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 5bacb52ee3 awful: refuse to set titlebar on no-normal windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 01f37e1edc keygrabber: push an hash table instead of indexed table
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou fef8ef91cb awful: add no_overlap and no_offscreen placement
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou f0fe2e03c6 awful: implement under_mouse placement
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou ba20d32d10 awful: button handle enter if mouse button pushed
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 0a74d9e127 awful: button reset on mouse leave
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou c3d4ce3e42 awful: titlebars use awful.widget.button now
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou 93fdc47901 awful: add button widget in awful
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou 3b895d84ed mouse: rework mouse buttons API, support release events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou bc9196084a awful: strip alpha channel in pango colors
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-18 17:07:04 +02:00
Marc Lagrange 56471ca618 awful: permit user defined images for squares
Signed-off-by: Marc Lagrange <markocpc@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-13 16:55:21 +02:00
Julien Danjou 2d42b3c15c awful: fix comments typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-12 20:38:48 +02:00
Julien Danjou 1cdd098fb1 awful: add client.setslave()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-10 17:04:54 +02:00
Julien Danjou 587302358c awful: check for bg,fg focus (FS#304)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-07 23:29:24 +02:00
Julien Danjou 03dffd34dd awful: add pread() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-04 10:55:27 +02:00
Julien Danjou 1b44fae3b2 awful: does not allow a window to have no tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-03 19:30:25 +02:00
Julien Danjou fb33e85f31 awful: one of fg or bg urgent is enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-01 10:49:30 +02:00
Julien Danjou 7c6743d89b awful: update titlebar after adding it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-01 09:38:46 +02:00
Gregor Best 3e325782de awesomerc: use gmatch instead of deprecated gfind
a user in #awesome made me aware of a little quirk in lib/awful.lua
which renders the history of the prompt unusable when using Gentoo and
installing Lua without the USE-flag "deprecated". Lua states that
string.gfind has been replaced with string.gmatch and aborts the
function prompt_history_save(id). I attached a patch that replaces
id:gfind with id:gmatch, which so far has not revealed any problems.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-31 08:43:50 +02:00
Maxime COSTE 3fecec15c3 tabulous: Handle external raise of hidden windows
Tabulous now gracefully handle hidden windows being raised from the task bar.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-30 08:56:27 +02:00
Maxime COSTE ef7d08c027 tabulous: fixed deprecated focus_get/set calls
Hi again,

some trivial cleanup that (I think) needed to be done.

Cheers,

Mawww.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28 11:43:10 +02:00
Maxime COSTE 531005453a tabulous: made tabulous tab aware
here is a patch that add tag support for tabulous, so now when a windows is
both tabbed and multiple tagged, it behave as expected (at least by me, that
is do not hide a window in a tag where it is not tabbed)

We can still mess up the tabs by clicking on the window name (in the taskbar)
but this will (I hope) be fixed in another patch.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-28 10:47:47 +02:00
Maxime COSTE c4d8cad1c5 awful: add support for programmable bash completion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-26 16:25:19 +02:00
Julien Danjou fdddc839e8 awful: drop lfs in favor of mkdir -p
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-23 08:29:52 +02:00
Julien Danjou c3a1e36be1 awful: avoid concat of nil
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-21 14:57:31 +02:00
Julien Danjou fd35fc6d11 beautiful: set wallpaper of each screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 18:15:08 +02:00
Julien Danjou 62370ecb87 awful: create history dir if does not exists
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 16:55:30 +02:00
Matteo Landi e9a65cbfd5 awful: titlebar support for changing the close button
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 16:41:33 +02:00
Julien Danjou a651388da0 awful: fix toggletag (FS#277)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 13:13:34 +02:00
Julien Danjou f4872715ce mouse: coords is a function now
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 12:10:22 +02:00
Julien Danjou e02fc5aacb client: make coords a method
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 12:00:22 +02:00
Julien Danjou d261f9a3cc widgets: generic set/get for list
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 19:13:46 +02:00
Julien Danjou 145e19b2e6 statusbar: widget is now a function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 18:20:39 +02:00
Matteo Landi 6049eaec3f beautiful: remove tabulations in key/value parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 16:57:48 +02:00
Julien Danjou 22f41a6983 lib: add @release tag
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 11:41:58 +02:00
Leon Winter 2e2b6a3112 awful: add urgent client fast switching
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 10:39:34 +02:00
Julien Danjou a5cb5a4397 awful: don't compare with ws coords
This fails if the window has resize hints or send configure request.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-17 10:14:38 +02:00
Damien Leone 17d1e6b741 awful: fix theme.taglist_squares usage
Signed-off-by: Damien Leone <damien.leone@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-15 19:18:06 +02:00
Matteo Landi 5e30026920 awful: allow coloring the taglist and the tasklist
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-15 16:48:58 +02:00
Julien Danjou df79115dd1 zaphod: restore support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-15 00:31:32 +02:00
Julien Danjou afddb337b2 awful: make timer not every one second
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-14 16:26:33 +02:00
Lucas de Vries f99dd800ec awful: add done_callback
Always called when the prompt ends, regardless of whether
it was cancelled, to prompt.run.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-14 14:27:56 +02:00
Lucas de Vries 651479f254 awful: don't try to spawn nil or empty commands 2008-08-14 14:23:01 +02:00
Lucas de Vries 6ae0d554a8 awful: make displaying the taglist squares a theme variable 2008-08-13 22:48:41 +02:00
Lucas de Vries 469a44f0db awful: also display selected tags in widget.taglist.label.noempty 2008-08-13 22:48:11 +02:00
Damien Leone b2398370f9 awful: Patch prompt so it can handle different files
Signed-off-by: Damien Leone <damien.leone@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 21:07:58 +02:00
Julien Danjou 7e15509733 screen: implement tags set/get as function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 18:12:26 +02:00
Julien Danjou d69b602e52 tag: export clients as a function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 17:59:01 +02:00
Julien Danjou 871285551d client: export tags as a function
That makes more sense.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 17:49:57 +02:00
Julien Danjou 905d8e78a1 awful: check for name not nil
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 18:04:02 +02:00
Julien Danjou 5211448bd8 awful: switch screen focus even, don't care for windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 17:35:00 +02:00
Julien Danjou c2f8275bf8 client: deprecate client_get() and client_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 12:17:19 +02:00
Julien Danjou 8adf417145 awful: maximize now toggles
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 10:34:49 +02:00
Julien Danjou 594308316a awful: prompt history index is local to prompt
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-12 08:39:31 +02:00
Julien Danjou ab66b87377 lua: fix otable __newindex
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 23:33:35 +02:00
Julien Danjou f9954cd6af awful: init index history at run
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 22:42:48 +02:00
Damien Leone 17900df7db awful: fix index init
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 20:49:37 +02:00
Damien Leone 2e4fdbb40d awful: fix empty command adding
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 20:39:03 +02:00
Damien Leone df7d60faf3 awful: add prompt history
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 19:47:23 +02:00
Julien Danjou 5758a3919a tag: remove get and geti methods
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 18:26:09 +02:00
Julien Danjou be2bfdcfc5 screen: introduce screen objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 17:14:02 +02:00
Julien Danjou fb093696bb clients: add icon_name support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:41:42 +02:00
Konstantin 0397854775 awful: add no empty show for taglist
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 09:53:44 +02:00
Julien Danjou a5806d5e61 lua: arrays use __next and __pairs metamethods
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 16:19:56 +02:00
Konstantin 4ab499fe26 Alternative export method of arrays from C to Lua
The patch is mainly to export client_array_t object to Lua,
but can be used to export any ..._array_t object.

The idea: export to Lua not a table, but userdata with
metamethods to get/set/define length of ..._array_t object
directly.

Now when I get clients field from tag object C code
creates full copy of client_array_t structure into Lua table.
It takes traversing a whole array of data.

I did it in other way: userdata is exported, with __index,
__newindex, and __len meta-methods defined, and Lua
script gains direct access to client_array_t C-array:
it can get client object, get length of array and assign
client objects to some index in C-array.

Pros:
No overhead of creation a copy of C-structure into Lua-table:
if I want just to test a number of clients for a tag, I don't need
a whole loop to build table, I just want to read clients->len field,
and I do so via __len meta-method.
Also if I want to get some client from tags.clients, I don't need
to create ALL clients Lua-objects, I just get client_t C-struct
and create Lua-object from it. Just in place.
So Lua-loop enuming all tag.clients is not 2 loops internally
(first create copy of tag.clients into Lua-table, then enum this table),
but only one, and if I break out of loop in the middle, I create
only some client Lua-objects, not all of them from tag.clients.

Contras:
As far as clients field is not a table, I cant use pairs/ipairs
and other table functions for it.
But it can be implemented in other way:
for k,c pairs(tag.clients) => for k = 1, #tag.clients,
table.insert(tag.clients, client) => tag.clients[#tag.clients+1] = client

etc.

One more Pro now:
As far as tag.clients in current implementation returns copy of data
table.insert doesn't do what's expected: it doesn't really add client
into tag.clients "array".
With my implementation client is added as expected, as we work with
client_array_t structure directly.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 16:18:59 +02:00
Fabienne Ducroquet 0348b0566e libs: fix callback call and untab
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 08:04:09 +02:00
Konstantin 36cf917890 awful.lua - use new tags.clients to enum clients in taglist.label.all
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-09 19:48:17 +02:00
Julien Danjou 2f04baed34 beautiful: fix luadoc module name
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 19:07:42 +02:00