Julien Danjou
c2ca948b39
add new_get_focus option
2008-01-07 18:54:45 +01:00
Julien Danjou
5c9291ff0b
use a cache system for status bar
2008-01-07 18:12:38 +01:00
Julien Danjou
1381989651
restack on max
2008-01-06 23:37:53 +01:00
Julien Danjou
bdfb84f3b5
remove useless AWESOMEPROPS_ATOM() define
2008-01-06 22:55:46 +01:00
Julien Danjou
a5c86280b3
remove Display arg of xgettextprop()
2008-01-06 22:53:40 +01:00
Julien Danjou
b4ff03c27e
fix rearrange
2008-01-06 22:28:15 +01:00
Julien Danjou
7ad579898f
simplify unmanage code
2008-01-06 21:57:53 +01:00
Julien Danjou
a30579b32e
respect config for resizing
2008-01-06 20:43:13 +01:00
Julien Danjou
af708d2fbc
Rewrite everything about client geoemtry, resize, etc.
2008-01-06 20:36:39 +01:00
Julien Danjou
7983a3196d
simplify window_configure() args
2008-01-05 20:25:55 +01:00
Julien Danjou
70a3114dba
use Area as arg for client_resize
2008-01-05 20:19:59 +01:00
Julien Danjou
163acc8624
use Area to store window geoms
2008-01-05 19:38:50 +01:00
Julien Danjou
5a66ffb2e7
remove flags attribute
2008-01-05 18:57:33 +01:00
Julien Danjou
a8a9b7d925
simplify client_resize
2008-01-05 18:54:17 +01:00
Julien Danjou
3742f31216
remove setborder uicb
2008-01-04 17:56:18 +01:00
Julien Danjou
1d08ed45a8
add new_become_master option to disable new client becoming automaticaly master
2008-01-04 17:53:28 +01:00
Julien Danjou
bcebd5e1ce
fix various uninit vars
2008-01-04 14:19:59 +01:00
Julien Danjou
10c257d57a
get rid of Client phys_screen
2008-01-02 19:26:55 +01:00
Julien Danjou
437bc5c22c
add 2008 copyright notice
2008-01-02 16:59:43 +01:00
Julien Danjou
0cf4ff6d9f
implement not_master rules option (FS#6)
2008-01-02 12:00:36 +01:00
Julien Danjou
9e93857864
use sel->border instead of globalconf borders
2008-01-02 11:37:16 +01:00
Julien Danjou
6701d0d2be
add a borders option to client_maximize() to (not) handle border removal
2008-01-02 11:36:06 +01:00
Julien Danjou
9865d44a88
Revert "remove borders modification on maximize()"
...
This reverts commit d8ef2748a6
.
2008-01-02 11:32:12 +01:00
Nikos Ntarmos
d8ef2748a6
remove borders modification on maximize()
2008-01-02 09:55:03 +01:00
Julien Danjou
4f65aa8f51
rework headers inclusion
2008-01-01 18:02:36 +01:00
Julien Danjou
f467fed598
use LayoutArrange and Uicb type into config.h ; move some functions from layout.c to client.c
2008-01-01 17:37:16 +01:00
Julien Danjou
909f92d500
replace UICB_PROTO macro by a typedef
2008-01-01 17:25:48 +01:00
Julien Danjou
f7f6951957
allow to have several statusbar
2007-12-30 21:00:34 +01:00
Nikos Ntarmos
0fb6cf2817
check for EWMH.initial_state
2007-12-30 18:31:22 +01:00
Julien Danjou
6f4dec78ff
remove Display as arg from window_*() fcts
2007-12-30 15:24:51 +01:00
Julien Danjou
3216eb4d41
documente some functions and simplify client_saveprops() proto
2007-12-30 15:08:38 +01:00
Julien Danjou
8c36b49f7f
add support for _NET_WM_WINDOW_TYPE_DOCK
2007-12-28 21:26:02 +01:00
Julien Danjou
4e45103537
skip skippable windows when looking for a client
2007-12-28 14:12:54 +01:00
Julien Danjou
91c0f00b2b
update EWMH info before applying rules
2007-12-28 14:03:22 +01:00
Julien Danjou
e0c1472249
windows that start in Withdrawstate are skipped in focus list
2007-12-28 13:43:47 +01:00
Julien Danjou
19cd145861
use focus history when focus(NULL)
2007-12-28 10:12:34 +01:00
Julien Danjou
f93a441da7
remove Display from Client struct
2007-12-27 23:10:43 +01:00
Julien Danjou
48d9ea047f
simplify is_client_tagged() proto
2007-12-27 23:05:34 +01:00
Julien Danjou
e95dc4b4cd
simplify tag_client() and untag_client() proto
2007-12-27 22:43:59 +01:00
Julien Danjou
2287c0ff7c
add support for NET_WM_STATE and NET_WM_STATE_STICKY
2007-12-27 22:39:29 +01:00
Julien Danjou
87fce96644
add support for NET_CLOSE_WINDOW
2007-12-27 20:49:38 +01:00
Julien Danjou
50e7595a0c
add support for _NET_ACTIVE_WINDOW
2007-12-27 19:33:01 +01:00
Julien Danjou
423659d401
move ewmh_update_net_client_list() into ewmh.c
2007-12-27 18:01:36 +01:00
Julien Danjou
c66c6dff84
add support for _NET_CLIENT_LIST
2007-12-27 16:19:05 +01:00
Julien Danjou
f5f31d36d7
switch to get_current_tags() in client.c
2007-12-27 13:22:40 +01:00
Julien Danjou
58a3c0c494
add new UICB: uicb_focus_client_byname
2007-12-23 16:16:02 +01:00
Julien Danjou
d5d9439777
add support for Urgency hint
2007-12-23 15:16:10 +01:00
Aldo Cortesi
5f079ef73e
Clean get_screen_info and get_display_info.
...
Besides making these functions much nicer to use, this fixes a number of
things:
- Clients now don't have to free the returned structures.
- The ScreenInfo allocated by XineramaQueryScreens should be freed with XFree,
not p_delete.
This patch also introduces an abstract Area type that will be very useful.
2007-12-23 09:53:50 +01:00
Aldo Cortesi
7190e4fa48
Change awesome_config -> AwesomeConf.
...
All other struct definitions in the project follow this naming convention.
2007-12-19 10:43:02 +01:00
Aldo Cortesi
980afac1cf
Make sure all uicb_ functions have doxygen annotations.
...
Also refactor some indentation while I'm there.
2007-12-19 10:42:34 +01:00
Aldo Cortesi
cbf5c474c1
Documentation generation fixes.
...
- Fix many instances of incorrect and incomplete doxygen annotations.
- Teach doxygen not to complain when it comes accross gcc __attribute__
specifications.
- Turn off graph generation by default.
- Make doxygen quiet, so we can actually see warnings when they occur.
2007-12-19 10:42:24 +01:00
Aldo Cortesi
ce556ec743
The preferred line length is 80 characters.
2007-12-18 11:27:26 +01:00
Aldo Cortesi
965cbb7e0b
Continue to simplify interfaces that require arguments in globalconf.
...
Today I focus on screen.c.
2007-12-18 11:26:39 +01:00
Aldo Cortesi
205f2c55ca
Make "Statusbar statusbar" the in VirtScreen "Statusbar *statusbar". This is
...
more consistent with the rest of the interface, and will make our life easier
when we have mulitiple statusbars per screen.
2007-12-18 11:26:18 +01:00
Aldo Cortesi
d5fd96dbd2
Refactor the focus.c interface to use globalconf.
2007-12-17 18:21:42 +01:00
Aldo Cortesi
b6bfd1a4d0
The arg to uicb_ functions is no longer const.
2007-12-17 18:19:44 +01:00
Aldo Cortesi
6e8b1383fe
Various doc comment fixes.
2007-12-16 12:13:07 +01:00
Aldo Cortesi
2f74c079aa
Massive, massive interface refactoring.
...
The big change here is that we now keep our configuration structure in a global
variable called globalconf. This radically simplifies many interfaces, since
passing awesomeconf everywhere is no longer necessary. There are also more
subtle interface effects - now we can reliably identify a screen from just a
screen ID, rather than an awesomeconf, screenid tuple.
Overall, this patch makes most of the interfaces in awesome much nicer to use -
enjoy!
Yes, this is a huge patch, but since a lot of the refactoring was done
systematically using vim macros, splitting this up would have been very hard.
2007-12-16 12:12:48 +01:00
Julien Danjou
df2a8e1b1d
add a focus history
2007-12-14 21:51:54 +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
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
687b648c1b
fix some includes and add copyright
2007-12-14 16:15:40 +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
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
dcff13a5e7
Comment typos.
2007-12-14 08:47:21 +01:00
Julien Danjou
5f811b1cf2
use VirtScreen arg for tag_client_with_current_selected()
2007-12-13 10:46:32 +01:00
Julien Danjou
5fa67c23df
split awesomeconf and screen config
...
a.k.a the big post-2.0 blind commit
2007-12-11 20:56:51 +01:00
Nathan Hüsken
9524f15478
Adding padding
2007-11-28 11:00:48 +01:00
Nikos Ntarmos
355dc7d556
fix rules handling in configurequest events
2007-11-27 16:48:06 +01:00
Nikos Ntarmos
ac188235ed
Split x-related util functions to a separate xutil.{c,h} file pair.
...
Hi there.
awesome-client is now linked against the whole hog of x-related libs
that awesome depends on. These get pulled in by awesome-client using the
same LDFLAGS as awesome. Removing x-related libs from the LDFLAGS for
awesome-client is only half of the story, as it also depends on util.c
which now has a couple of x-related functions. The attached patch also
splits these functions into a separate xutil.{c,h} file pair and teaches
the rest of the files to use them. Apart from the small difference in
file size (I see a 3-3.5% decrease in file size, both for a stripped and
a non-stripped awesome-client binary), this should also somewhat reduce
the startup time (since awesome-client won't have to map all of these
libraries).
Cheers...
\n\n
2007-11-19 20:45:21 +01:00
Julien Danjou
dd2c511181
move_client_to_screen() implies tag_client_with_current_selected()
2007-11-15 14:49:08 +01:00
Julien Danjou
aa4de56ef5
simplify client_manage()
2007-11-15 14:44:43 +01:00
Julien Danjou
455ef2e1d7
rename uicb_swap{prev,next} to uicb_client_swap{prev,next}
2007-11-14 18:07:35 +01:00
Julien Danjou
8b933e196b
rename uicb_settrans to uicb_client_settrans
2007-11-14 17:52:49 +01:00
Julien Danjou
b594731fc2
rename uicb_moveresize to uicb_client_moveresize
2007-11-14 17:51:22 +01:00
Julien Danjou
c5ee95992c
rename uicb_killclient to uicb_client_kill
2007-11-14 17:50:16 +01:00
Julien Danjou
7a919a76fb
mouse button clicks on windows are now configurable
2007-11-14 17:18:16 +01:00
Julien Danjou
88b6f17410
bugfix: initialize matched to False, damn it
2007-11-14 12:12:30 +01:00
Julien Danjou
5c5e9418d7
don't forget to retag windows on screen changes
2007-11-14 11:11:04 +01:00
Julien Danjou
adf437c0e3
use tag_client_with_current_selected() instead of our own loop and set -O2 or mplayer fails
2007-11-14 10:42:28 +01:00
Julien Danjou
0779473a30
fix problem with mplayer
2007-11-14 10:34:02 +01:00
Julien Danjou
98c869c8f3
remove garbage printf()
2007-11-13 23:00:11 +01:00
Julien Danjou
0acaae11d9
stop using applyrules() and do some stuff ourselves
2007-11-13 22:41:56 +01:00
Julien Danjou
06dc3ba221
add new rules.c file with new functions for using Rule-s struct
2007-11-13 21:41:57 +01:00
Julien Danjou
adcadddc46
define RULE_NOSCREEN -1
2007-11-12 19:35:31 +01:00
Julien Danjou
f70424487e
screen can now be specified in rules
2007-11-12 18:21:03 +01:00
Julien Danjou
ef7034b0b8
use linked list instead of tabs for mouse bindings
2007-11-12 13:21:28 +01:00
Julien Danjou
05e102a49a
mouse clicks on root window are now configurable
2007-11-12 10:55:21 +01:00
Nikos Ntarmos
0f840d2eec
Sanitize screen changes - take 2
...
I was looking back at this issue and realized that it is possible for
one of the x,y coordinates to be negative and yet a screen change must
be performed. This may happen when a window is moving with its
upper-left corner outside the upper part of the screen, and it crosses
the x-axis boundary between two consecutive screens.
2007-11-10 17:59:33 +01:00
Julien Danjou
1004cefa2f
Remove current tab support
...
We will add a real new one later.
2007-11-10 10:45:32 +01:00
Julien Danjou
6ef4b8e741
really update coords on resize
2007-11-10 10:12:50 +01:00
Nikos Ntarmos
e2452fa62a
Sanitize screen changes
...
Whith Xinerama active a client that moves outside the upper-left screen
boundary is erroneously changing screens. The attached patch changes
this behavior so that a client may change screen only when its new
coordinates are positive. The assumption is that the client can't fall
off the lower-right boundary since the mouse pointer can't go there when
moving. However, the upper-left corner of a window (which is the point
we use to compute the client's scren) can move more to the left or up
than the upper-left corner of the screen (coords 0,0) thus becoming
negative.
2007-11-09 19:25:31 +01:00
Nikos Ntarmos
360f96b5fd
stop centering mouse on move, just keep current coords
2007-11-09 19:22:42 +01:00