Commit Graph

159 Commits

Author SHA1 Message Date
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
Nikos Ntarmos 96350151b9 Fix issue with multiple clients having focused border on same tag
It so happens that when two clients are fired up one after the other on
the same tag, they both get a 'focused'-type border. A bisect sequence
showed that the culprit was commit 001f430. I think that it all boils
down to client_manage just setting tag->client_sel and hoping for
arrange(...) to do the Right Thing (TM). The attached patch uses
focus(...) instead.
2007-11-08 11:31:37 +01:00
Nikos Ntarmos 983d2d72a6 implement uicb_reloadconfig 2007-10-31 11:37:38 +01:00
Julien Danjou 14e8c82a8a fix max() size restore, introduce volatile option to resize() 2007-10-29 15:24:10 +01:00
Julien Danjou bd20a965f3 update client coords on manage() to set them on the right screen in Xinerama 2007-10-27 22:54:34 +02:00
Julien Danjou ddfc087c99 also saves real coords in floating layout 2007-10-27 09:02:48 +02:00
Julien Danjou 001f430c0c remove global client_sel, use tag's client_sel 2007-10-26 23:19:13 +02:00
Julien Danjou 9d507dc50c rewrite get_current_tag_number() in get_current_tag() 2007-10-26 22:15:26 +02:00
Julien Danjou c817b07d9a rename ban() and unban() to client_*() 2007-10-26 19:51:20 +02:00
Julien Danjou f330cb303c rename manage() and unmanage() to client_*() 2007-10-26 19:51:20 +02:00
Julien Danjou d24413a75d rename resize() to client_resize() 2007-10-26 19:51:20 +02:00
Julien Danjou e646072312 move grabbuttons to window functions 2007-10-26 19:51:20 +02:00
Julien Danjou 47a878e4cd move set_shape in client.c to window_setshape in window.c 2007-10-26 19:51:20 +02:00
Julien Danjou bd0dc10842 compute c->screen correctly 2007-10-26 18:42:05 +02:00
Julien Danjou ddf64e9db2 grab some window function from client.c and move them in window.c 2007-10-26 18:23:15 +02:00
Nikos Ntarmos 4db1146f6c Remember the focused window on tag changes
a. Adds a get_current_tag_number function to allow for above updates
and teaches get_current_layout(...) and arrange(...) to use it.
b. Adds an extra client_sel entry in struct Tag, updated on
focus(...), manage(...), and unmanage(...), and used in arrange(...).
2007-10-25 20:20:13 +02:00
Julien Danjou dd5387e25e bugfix: do not assume 0,0 is the screen coords, for god sake 2007-10-25 18:52:28 +02:00
Julien Danjou 530a6ef104 bugfix: save rx/ry/rw/rh when resizing a floating window 2007-10-25 13:57:02 +02:00
Julien Danjou 702d85b4d2 do not use c->screen but awesomeconf->screen in si 2007-10-24 12:35:53 +02:00
Julien Danjou e47e1a4a23 remove unmapped attribute
this fix a bug when fast-switching between tags and dropping
some windows management as we should not.
Use window_getstate() (moved from awesome.c's getstate()) instead.
2007-10-23 16:32:55 +02:00
Julien Danjou 9b60eb3d06 bugfix: set rx correctly 2007-10-22 17:01:25 +02:00
Julien Danjou f379de70ce Remove disp arg to manage(), add comments to manage() and rename setclienttrans to window_settrans 2007-10-22 16:25:27 +02:00
Julien Danjou 71b7860ba3 cosmetic and documente Bool-s attribute in Client 2007-10-22 11:21:27 +02:00
MATSUU Takuto b1dcf6c71b set{nmaster,ncol,mwfact,moveresize} to work
From 842eed01c0, setnmaster, setncol,
setmwfact and setmoveresize don't work fine.
2007-10-22 09:56:33 +02:00
Julien Danjou 03681846fa remove useless isbanned attribute on Client 2007-10-19 15:42:48 +02:00
Julien Danjou 7a921fbc5e remove ftview attribute 2007-10-19 15:41:20 +02:00
Julien Danjou 25d12961a8 rename setclientstate to window_setstate and change args for isprotodel() 2007-10-19 15:36:41 +02:00