Commit graph

362 commits

Author SHA1 Message Date
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
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
Julien Danjou
f957a0e0b5 cosmetic remove useless {} 2007-10-19 15:31:30 +02:00
Julien Danjou
cabfc67b87 rename configure() as window_configure() and passes info as args 2007-10-17 17:29:21 +02:00
Julien Danjou
2e832c8186 get_client_bywin() only need a single pointer, not a double 2007-10-17 17:09:26 +02:00
Julien Danjou
02c07a8e11 move tabbed windows collapsed in **clients list, so focusing next/prev will be nicer 2007-10-17 15:09:59 +02:00
Julien Danjou
e7da450d3c client_attach and detach are together <3 2007-10-17 12:12:40 +02:00
Julien Danjou
8a1633ccbe rename and document client_attach/detach 2007-10-17 12:10:17 +02:00
Julien Danjou
b59df01d6c document get_client_bywin 2007-10-17 11:49:54 +02:00
Julien Danjou
cffeb9a22c use get_client_bywin in manage() 2007-10-16 22:43:03 +02:00
Julien Danjou
1080180320 move get_client_bywin in client.c 2007-10-16 22:40:02 +02:00
Julien Danjou
842eed01c0 remove current_layout, insert get_current_layout() to get it dynamicly 2007-10-16 22:33:15 +02:00
Nikos Ntarmos
9360efb89e fix click-to-raise feature 2007-10-16 12:27:31 +02:00
Julien Danjou
00ddb9d398 bugfix: restore focus after swapprev/next 2007-10-15 21:17:32 +02:00
Julien Danjou
035bf83f59 untab on unmanage 2007-10-15 20:23:54 +02:00
Julien Danjou
0026bd3813 focus does not need Display as arg 2007-10-15 18:25:29 +02:00
Julien Danjou
ccb7e89750 arrange() does not need Display as arg 2007-10-15 18:23:05 +02:00
Julien Danjou
17bc4dc9a7 drawstatusbar does not need display as arg 2007-10-15 18:19:33 +02:00
Julien Danjou
8cd37bedf5 cosmetic 2007-10-15 18:06:47 +02:00
Julien Danjou
b1e22e1d8b cosmetic 2007-10-15 17:33:28 +02:00
Julien Danjou
0339b6f64b fix refresh of colborders 2007-10-15 16:57:54 +02:00
Julien Danjou
14ea2dc0ae minimal tab support 2007-10-15 16:28:36 +02:00
Julien Danjou
a74ca1d1de tabswidth is 4 not 6 2007-10-15 13:56:24 +02:00
Julien Danjou
4e0acfa99a add coding style stuff 2007-10-15 13:40:52 +02:00
Julien Danjou
b89779677e remove snext from Client struct 2007-10-12 11:43:07 +02:00
Julien Danjou
863714f501 use p_delete instead of XFree for our own pointers 2007-10-11 23:44:35 +02:00
Julien Danjou
c4e130d7d9 remove Display as param for uicb 2007-10-11 23:32:29 +02:00
Julien Danjou
0899432059 remove stack 2007-10-11 23:17:12 +02:00
Julien Danjou
c3986a5937 sel is no more extern 2007-10-11 23:12:05 +02:00
Julien Danjou
12ef66b79a clients list is no more global 2007-10-11 21:50:32 +02:00
Julien Danjou
3c6e7fa6de cosmetic, fix indentations 2007-10-11 15:23:33 +02:00
Julien Danjou
c05ed01c1a bugfix: only catch first click to raise if we're floating 2007-10-11 11:33:40 +02:00
Nikos Ntarmos
8401eee5f5 Implementing a click-to-raise feature
When in floating mode or in floating layout the only way to bring one
window on top of another seems to be a focus switch through
focusnext/focusprev. The following patch implements a click-to-raise
feature.
2007-10-11 10:34:16 +02:00
Julien Danjou
e733af41ec remove drawcontext everywhere 2007-10-10 14:09:36 +02:00
Julien Danjou
1a755ff245 simplify color handling 2007-10-10 13:07:12 +02:00
daniel@brinkers.de
ec6525883e opacity change by mousewheel 2007-10-10 09:58:42 +02:00
Julien Danjou
99ef84e621 bugfix: don't do stuff RootWindow() with non existent screen (Xinerama) 2007-10-03 20:58:00 +02:00
Julien Danjou
97a2085705 cosmetic: remove lines with empty spaces at end 2007-10-03 17:26:14 +02:00
Julien Danjou
067861a942 bugfix: don't put new clients on top without computing statusbar position 2007-10-03 16:18:45 +02:00
Julien Danjou
7e1be2be50 document detach function 2007-10-03 00:13:09 +02:00
Julien Danjou
950605b1a0 simplify get_screen_info() 2007-10-01 20:58:29 +02:00
Julien Danjou
2ea22c721c set inline in header file 2007-10-01 20:44:02 +02:00
Julien Danjou
f1ef5c2ddd move uicb_ to end of file 2007-10-01 20:42:59 +02:00
Julien Danjou
7204cbdc46 restore fullscreen support on Xinerama 2007-10-01 16:43:01 +02:00
Julien Danjou
8c531e2a81 store phys_screen 2007-10-01 15:23:05 +02:00
Julien Danjou
bdeb1eaca4 free ScreenInfo unconditionnally 2007-10-01 14:25:56 +02:00
Julien Danjou
3e385c3bea use real_screen in grabbuttons(), fix Xinerama support 2007-09-29 13:09:45 +02:00
Julien Danjou
7beabd32d3 enhance windows screen moving when windows are floating 2007-09-28 16:40:20 +02:00
Julien Danjou
8112ec2cca introduce move_client_to_screen to move a client in a new screen and tag it with good tags 2007-09-28 11:30:51 +02:00
Julien Danjou
2680d34a64 make manage() more Xinerama efficient 2007-09-27 21:22:01 +02:00
Julien Danjou
bbb3a8cfbf resize() now update client screen number in Xinerama 2007-09-27 20:19:36 +02:00
Julien Danjou
783a10f146 cosmetic 2007-09-27 18:57:03 +02:00
Julien Danjou
b4cc86abf0 make moveresize work with +/- as others 2007-09-27 12:30:18 +02:00
Julien Danjou
a22b4c1008 new feature: add swap{next,prev} for reordering visible windows 2007-09-25 12:41:36 +02:00
Julien Danjou
894b341feb simplfiy drawstatus() remove screen useless arg 2007-09-24 16:23:49 +02:00
Julien Danjou
595eba78d7 create a Tag struct type and use it 2007-09-24 15:37:52 +02:00
Julien Danjou
2f43209c34 fix toggle floating with Button2 in tileleft layout, and prefix layout functions with layouts_ 2007-09-20 22:07:59 +02:00
Julien Danjou
6d97fc8292 update documentation 2007-09-20 21:27:43 +02:00
Julien Danjou
a8a814110c fix the ultimate bug when restarting awesome, client misdisplayed 2007-09-19 00:03:54 +02:00
Julien Danjou
9919ba2d4b add uicb_setborder to change conf borderpx while running 2007-09-18 23:36:52 +02:00
Julien Danjou
dcec6aa749 remove screen arg from uicb* 2007-09-18 19:53:52 +02:00
Julien Danjou
ef69814e29 simplify manage(), remove screen arg 2007-09-18 19:53:52 +02:00
Julien Danjou
30e7cf5b40 simplify arrange and restack 2007-09-18 19:53:46 +02:00
Julien Danjou
bf9601f79c simplify focus, get screen from awesomeconf 2007-09-17 13:39:18 +02:00
Julien Danjou
0539eaa4b0 is_visible check for screen 2007-09-16 14:56:08 +02:00
Julien Danjou
933b0413ea add screen arg to uicb* 2007-09-16 01:05:43 +02:00
Julien Danjou
969b38c63d remove DefaultRootWindow from grabbuttons, use c->screen to grab real RootWindow 2007-09-15 23:21:04 +02:00
Julien Danjou
e91de5bfb9 restack and arrange take screen as arg 2007-09-15 23:17:59 +02:00
Julien Danjou
e4e8a2966f get_display_info take screen and screen is stored in statusbar struct 2007-09-15 23:04:04 +02:00
Julien Danjou
53e5630c6c add screen to drawstatusbar 2007-09-15 22:57:37 +02:00
Julien Danjou
3cc29b0250 add screen args to focus() 2007-09-15 22:51:09 +02:00
Julien Danjou
c02be2ab82 store screen of client, first step to multi head support 2007-09-15 22:36:23 +02:00
Julien Danjou
9cdc7c3ef9 fix vlc bug 2007-09-15 20:24:40 +02:00
Julien Danjou
fe89aa31b0 create statusbar.c and move things from draw.c 2007-09-15 15:16:53 +02:00
Julien Danjou
01b2785587 rename drawstatus to drawstatusbar 2007-09-15 13:54:02 +02:00
Julien Danjou
4488708feb use compute function in settrans() 2007-09-14 13:50:46 +02:00
Julien Danjou
59c870db3e add get_display_info function to screen.c and use it for getting windows_area geom 2007-09-14 11:55:56 +02:00
Julien Danjou
c8abcf33fb add XShape support 2007-09-13 15:58:08 +02:00
Julien Danjou
2c6a71f358 add DC to uicb_*() args 2007-09-12 18:11:27 +02:00
Julien Danjou
de3fdc02d8 add DC to arrange() 2007-09-12 17:00:33 +02:00
Julien Danjou
9897e5a839 remove DC from global in draw.c 2007-09-12 16:55:47 +02:00
Julien Danjou
d6c63bd086 remove wa(x,y,h,w) from global vars, add functions to compute them 2007-09-12 16:03:42 +02:00
Julien Danjou
28df49c3cb rename gettextprop to xgettextprop and move it to util.c 2007-09-12 15:01:35 +02:00
Julien Danjou
2d63bf2825 typo 2007-09-12 14:31:19 +02:00
Julien Danjou
7659289b9e chance license to GPLv2 2007-09-12 14:29:51 +02:00
Julien Danjou
9223e8c0b8 Revert "remove unmapped attribute"
This reverts commit 10e324ad0b.
2007-09-11 15:55:34 +02:00
Julien Danjou
10e324ad0b remove unmapped attribute 2007-09-11 14:56:24 +02:00
Julien Danjou
9f56ade4e9 use more safe functions and update #inlcude 2007-09-11 14:00:49 +02:00
Julien Danjou
cf3135b6cf documentation and simplify uicb_settrans 2007-09-11 13:14:43 +02:00
Julien Danjou
fc686750eb move some netatom back but only in setup() 2007-09-10 16:55:33 +02:00
Julien Danjou
c95c4173a6 remove NetWMName 2007-09-10 16:49:54 +02:00
Julien Danjou
a6a91757c1 remove wmatom 2007-09-10 16:48:00 +02:00
Julien Danjou
56b92a20b4 remove WMState 2007-09-10 16:47:20 +02:00
Julien Danjou
9485e7305c remove WMName 2007-09-10 16:45:42 +02:00
Julien Danjou
58dac78b87 remove WMProtocols 2007-09-10 16:44:23 +02:00
Julien Danjou
deadd850ae remove WMDelete 2007-09-10 16:43:20 +02:00
Julien Danjou
baa1e422fe rename last jdwm to awesome and make config a little more robust 2007-09-10 16:11:57 +02:00
Julien Danjou
6f528063be rename jdwm to awesome 2007-09-10 12:06:54 +02:00
Julien Danjou
2de4fd3fec remove sx and sy since they are always 0, LOL 2007-09-07 17:36:21 +02:00
Julien Danjou
8db67dca7c remove sw/sh, calculate each time 2007-09-07 17:19:03 +02:00
Julien Danjou
c3d2e56ef1 remove jdwmprops as global var, replaced by a macro 2007-09-07 16:46:46 +02:00
Julien Danjou
a9d1f4a37d remove global selscreen variable and remove unused vars from setup() 2007-09-07 12:53:30 +02:00
Julien Danjou
a4449818f3 remove useless string.h inclusion 2007-09-07 11:48:30 +02:00
Julien Danjou
7fd29e4bad make prop saveprops() dynamicly allocated too 2007-09-07 11:18:27 +02:00
Julien Danjou
75bb6ee238 bug fix, size of prop was not good 2007-09-07 00:09:56 +02:00
Julien Danjou
aa4177c2b1 make loadprops more dynamic 2007-09-06 23:48:18 +02:00
Julien Danjou
6dcccd7a5a Rework settrans
- set setclienttrans static
- remove current_opacity arg of setclienttrans, not useful
2007-09-06 22:45:05 +02:00
Julien Danjou
2044f82761 fix segfault with transparency 2007-09-06 22:29:14 +02:00
Julien Danjou
bbfbb26326 remove prop from global and static, use in fcts 2007-09-06 22:02:50 +02:00
Julien Danjou
e5f2ed3f22 remove extern seltags, put it in jdwmconf 2007-09-06 19:05:26 +02:00
Julien Danjou
f7173bd79d first import 2007-09-05 20:15:00 +02:00