Commit Graph

705 Commits

Author SHA1 Message Date
Aldo Cortesi 76ddf235ac Widget-ise the statusbar.
We now have the beginnings of a flexible widget structure for the statusbar.
For now, there is no behavioural change, and the interface is a bit crude, but
watch this space!
2007-12-15 10:15:42 +01:00
Aldo Cortesi c81b5cfc55 Refactor statusbar.c
This a preparatory patch. Refactor statusbar.c to compartmentalise the drawing
of the statusbar "widgets". We can now begin to see what a generalised widget
drawing interface would look like.

Note that at the moment we don't gracefully handle situations where "widgets"
run out of space. That will come as we generalise from here.
2007-12-15 09:48:13 +01:00
Aldo Cortesi a6bb5abfef Remove stubs for reloadconfig.
- reloadconfig never worked properly. There were a number of circumstances
    under which it would crash awesome.

    - reloadconfig always leaked memory, because our cleanup process was never
    perfect. Making it perfect would be Hard.

    - Just exec-ing awesome over the top of itself is an OK solution. Maybe we
    should add a uicb_restart to do this so users don't have to think about
    uicb_exec.
2007-12-15 09:46:28 +01:00
Aldo Cortesi f36a56cdcc Refactor draw.c
This is a big patch that does not change any behaviour. We abstract the data
needed by the draw.c functions into a context object, and pass that around
instead of passing each argument every time. This results in a much cleaner API
- most functions lose 3-4 arguments.

This is a preparatory patch for further work on statusbar.
2007-12-15 09:30:29 +01:00
Julien Danjou 7327a92972 untag everything on rules applying 2007-12-15 09:02:49 +01:00
Nikos Ntarmos e205a144cc awesome crashes when non-focused client exits/dies
When a non-focused client exits (e.g. through a signal) then awesome
crashes. The attached patch fixes this for me.

Cheers.

\n\n
2007-12-15 08:16:03 +01:00
Julien Danjou 69ba990371 rename description 2007-12-15 07:42:18 +01:00
marco candrian 0d2c1557e6 awesomerc man page 2007-12-15 07:39:55 +01:00
Nikos Ntarmos b0388938b4 minor documentation fix
Changing setstatustext to statusbar_set_text in awesome-client.1.txt.
2007-12-15 07:36:06 +01:00
Julien Danjou df2a8e1b1d add a focus history 2007-12-14 21:51:54 +01:00
Julien Danjou c7c1da5693 fix memory leak on exit 2007-12-14 20:18:59 +01:00
Julien Danjou aacb020564 rename statusbar functions 2007-12-14 20:10:52 +01:00
Julien Danjou e53b941679 rename loadprops to client_loadprops 2007-12-14 19:06:03 +01:00
Julien Danjou bb1381abc2 make tags a linked list instead of array 2007-12-14 19:05:30 +01:00
Julien Danjou b03cdbd877 remove nlayouts 2007-12-14 17:57:05 +01:00
Julien Danjou b9320be372 add spiral and dwindle layouts (fibonacci) 2007-12-14 17:05:29 +01:00
Julien Danjou f92772953c fix some #include 2007-12-14 16:42:54 +01:00
Julien Danjou 781ebc8882 move tag_client_with_rules() from client.c to tag.c 2007-12-14 16:40:08 +01:00
Julien Danjou 3a4fbce6f9 rename isvisible() to client_isvisible() and move it in client.c 2007-12-14 16:38:12 +01:00
Julien Danjou e426e60801 remove my name from -v and accept --version 2007-12-14 16:32:34 +01:00
Julien Danjou 687b648c1b fix some includes and add copyright 2007-12-14 16:15:40 +01:00
Julien Danjou 6658994a22 cosmetic 2007-12-14 16:09:05 +01:00
Julien Danjou 15cfbb9ee7 run_uicb() is static 2007-12-14 16:07:34 +01:00
Julien Danjou 213c839597 prefix some client functions with client 2007-12-14 16:05:10 +01:00
Julien Danjou 37a7116c92 we should reset client_sel on untag 2007-12-14 16:01:01 +01:00
Julien Danjou d197014d71 untag client on unmanage 2007-12-14 15:58:09 +01:00
Julien Danjou 84bb954004 rename statusbar uicb and add uicb_statusbar_set_position 2007-12-14 15:52:52 +01:00
Julien Danjou 14809f80e4 remove useless client_reattach_after() 2007-12-14 14:51:58 +01:00
Julien Danjou 078d224b46 use a linked list for handling tag <-> client relationship 2007-12-14 14:29:32 +01:00
Aldo Cortesi 2b5ba1f16f Improve the call signature of get_current_tag and get_current_layout. 2007-12-14 09:29:42 +01:00
Aldo Cortesi 8264f15fc6 Remove inline declarations in client.h - these don't match what's in the the .c
anyway.
2007-12-14 09:12:45 +01:00
Julien Danjou 4f1966732b remove -fgnu89-inline 2007-12-14 09:06:40 +01:00
Aldo Cortesi dcff13a5e7 Comment typos. 2007-12-14 08:47:21 +01:00
Aldo Cortesi 01d24558b1 Remove some redundant gcc flags. 2007-12-14 08:43:31 +01:00
Julien Danjou 6241354fec prefix eprint() with awesome: 2007-12-13 15:20:42 +01:00
Julien Danjou 11effcd7af remove awesome: for warn() calls 2007-12-13 14:03:55 +01:00
Julien Danjou 097e8e4172 Add uicb_screen_focus to switch to a specified screen. 2007-12-13 13:59:46 +01:00
Julien Danjou b313f266c8 cosmetic 2007-12-13 12:15:42 +01:00
Julien Danjou 4afb187e4f remove comments or it will fail libconfuse 2007-12-13 12:15:32 +01:00
Aldo Cortesi c9dc57c756 Add a way to define key bindings in bulk, like this:
keylist
    {
        modkey = {"Mod4"}
        command = "client_tag"
        keylist = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
        arglist = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
    }

This patch also modifies the example awesomerc to use the new syntax. Should
be fully backwards compatible.
2007-12-13 11:50:21 +01:00
Julien Danjou 425f89bada remove dual-config: awesomerc is now preprocessed and compiled in awesome 2007-12-13 11:16:43 +01:00
Julien Danjou ecf6f6ebbb save default configuration file on first run without conf file 2007-12-13 11:04:48 +01:00
Julien Danjou 5f811b1cf2 use VirtScreen arg for tag_client_with_current_selected() 2007-12-13 10:46:32 +01:00
Julien Danjou 5cbaaac719 fix typo 2007-12-13 10:19:09 +01:00
Julien Danjou d76f270962 fix wrong key for reloadconfig key binding 2007-12-13 10:18:23 +01:00
Julien Danjou 6e01126101 honor aspect ratio by default 2007-12-13 10:16:41 +01:00
Aldo Cortesi c7a4a54b47 Use warn function throughout project. 2007-12-13 09:59:46 +01:00
Aldo Cortesi 64117935c8 Add a warn utility function, and use it to improve error reporting in run_uicb. 2007-12-13 09:58:46 +01:00
Aldo Cortesi f5372a7252 Use strtok in run_uicb, in preparation for improving error reporting.
Yes strtok is not nice, but it's nicer than rolling your own. ;)
2007-12-13 09:58:05 +01:00
Aldo Cortesi 417c7a5116 Fix crashing bug triggered through awesome-client 2007-12-13 09:54:57 +01:00