Julien Danjou
a734c7dd5d
Remove transparency prop on focus
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-19 15:04:43 +01:00
Julien Danjou
4516bfcf3a
Check for EWMH hints after reloading client props
...
This avoid to think a client has already props in case it's tagged
with EWMH and then do not use its rules
2008-03-15 14:46:45 +01:00
Julien Danjou
9d98d71ad1
Keep floating windows on top of the stack
2008-03-04 15:25:59 +01:00
Julien Danjou
de8dcbb724
replace drop_events arch by x,y pointer coordinates saving
2008-03-04 10:14:13 +01:00
marco candrian
317929baea
Is the pointer inside client with including the borders...
...
it didn't reshift the pointer when the pointer was on the
right border (or even somebit in the client) because it didn't calculate
the border with to the dimensions.
Also, it wrapped the pointer inside the client. now it leaves it on the border
when that was the case before. Or on resizing (smaller) the pointer might also move
(relativ to the client) to the most outside point of the left or top border.
There is still the problem so:
the client gets moved/resize, the pointer might get out of the area temprarly and the
client loses the focus - despite that the pointer will reshifted onto it again.
A general: client_focus(sel, screen, False);
at the end seems to help, but is probably not clean etc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-02 19:28:50 +01:00
marco candrian
271bf8da4a
border width taken into account on pointer movement
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-28 10:28:07 +01:00
marco candrian
f604d4dbdd
client_moveresize fix
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-28 07:54:45 +01:00
Julien Danjou
e5038732ca
check if the unmapped client is not the scratchpad
2008-02-26 17:45:55 +01:00
Julien Danjou
f54ff424a0
check widgets position
2008-02-25 20:09:19 +01:00
Julien Danjou
960d870b0b
fix screen_get_bycoord()
2008-02-25 13:40:30 +01:00
Julien Danjou
1e3f3d9300
floating placement can be chosen by config
2008-02-13 18:04:20 +01:00
marco candrian
4ff0dae17e
trailing whitespaces removed
...
like:
find . -iname "*.txt" -o -iname "*.c" -o -iname "*.h" | xargs sed -i 's/\s\+$//'
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-13 09:05:10 +01:00
Julien Danjou
a84eae2700
fix stacking issues
2008-02-12 14:39:52 +01:00
Julien Danjou
768aef8960
check transient and isfixed for setting floating state, even if we can loadprops
2008-02-12 10:19:59 +01:00
Julien Danjou
1b63e8a3c5
rename get_current_layout to layout_get_current()
2008-02-12 10:09:36 +01:00
Julien Danjou
e0099da269
use get_current_layout()
2008-02-12 10:08:16 +01:00
Julien Danjou
9390abcfb4
fix memory leak in smart_placement (with area_list_remove) and fix the algo
2008-02-11 17:15:28 +01:00
Julien Danjou
72d68b13a3
change focus raising
2008-02-09 23:12:40 +01:00
Julien Danjou
2fad66e23f
focus on maximize()
2008-02-09 22:42:21 +01:00
Julien Danjou
85e5baa4b1
focus scratch window when it appears, and don't select it for focusing in history
2008-02-08 15:08:42 +01:00
Julien Danjou
cdb85ad098
stop raising like dumb
2008-02-06 19:48:26 +01:00
Julien Danjou
b2e004b453
add scratch window support
2008-02-06 09:06:43 +01:00
Julien Danjou
befcf19ea2
introduce fuzzy logic: fix problem with not_master
2008-02-05 17:31:47 +01:00
Julien Danjou
a26b40fa28
fix segfault in client_zoom
2008-02-05 07:15:23 +01:00
Julien Danjou
06904cfcaa
Revert "remove opacity_unfocused"
2008-02-04 14:54:50 +01:00
Julien Danjou
a4a7433928
not size, position
2008-02-01 11:30:39 +01:00
Julien Danjou
4ad1f8a54a
don't compute position if program or user specified ones
2008-02-01 10:42:16 +01:00
Julien Danjou
606d157e31
rename some screens function
2008-01-30 09:36:52 +01:00
Julien Danjou
c3aeedfa24
better use of the space in smart placement
2008-01-29 09:13:35 +01:00
Julien Danjou
d9298f6edb
rename get_current_tags to tags_get_current()
2008-01-29 08:31:13 +01:00
Julien Danjou
ee1214846e
rename some client functions
2008-01-29 08:21:05 +01:00
Julien Danjou
9c7bbad840
respect border widths
2008-01-28 20:16:54 +01:00
Julien Danjou
ea57fd8fc9
add support for smart windows placement in floating layout
2008-01-28 18:30:23 +01:00
Julien Danjou
e233c2bfab
drop some EnterWindow events on swap/zoom
2008-01-28 16:46:31 +01:00
Julien Danjou
b016919d59
use client's screen here
2008-01-28 12:28:25 +01:00
Julien Danjou
75d57960de
type: screen != phys_screen
2008-01-28 11:44:57 +01:00
Julien Danjou
9f68db5360
use c->screen geometry, not display's
2008-01-28 11:43:37 +01:00
Julien Danjou
a0bef6d49e
missing include
2008-01-27 19:08:11 +01:00
Julien Danjou
95d5fe299e
rename focus() to client_focus()
2008-01-27 19:07:39 +01:00
Julien Danjou
b6642e45c8
rename initxcolor to draw_color_new() and move it to draw.c
2008-01-27 18:56:37 +01:00
Julien Danjou
37b4f62258
always grab Button1
2008-01-26 13:11:12 +01:00
MATSUU Takuto
363cefefee
transparency rule support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-25 23:48:24 +01:00
Julien Danjou
c22430a115
fix handling of window raisings
2008-01-25 23:43:16 +01:00
Julien Danjou
6f1e1e1abe
handle focus history on arrange()
2008-01-25 22:50:18 +01:00
Julien Danjou
485614f2df
rewrite focus handling
...
- arrange() does not focus() anymore
- restore dropping events infra
- add client_unfocus()
- grabbuttons() where we should and add root_grabbuttons() for root window
2008-01-25 22:37:49 +01:00
Julien Danjou
8434040cb2
do not drop XSetInputFocus errors; but we can not give focus to unmapped windows
2008-01-25 09:37:41 +01:00
Julien Danjou
367b4d48fb
Revert "rewrite focus() a bit"
...
This reverts commit 652c1459ba
.
2008-01-25 00:51:11 +01:00
Julien Danjou
652c1459ba
rewrite focus() a bit
2008-01-24 23:58:56 +01:00
Julien Danjou
3855ced402
remove selscreen arg
2008-01-24 23:48:35 +01:00
Julien Danjou
5ade4d63e0
remove opacity_unfocused
...
this is crap
2008-01-24 23:45:04 +01:00
Julien Danjou
7073133e66
remove drop event infrastructure
2008-01-24 23:43:46 +01:00
Julien Danjou
0abb100adf
use client_setfloating() in uicb_togglefloating()
2008-01-24 20:09:11 +01:00
Julien Danjou
00f7cd006a
save client props on floating
2008-01-24 18:31:14 +01:00
Julien Danjou
44aab9ff4b
call get_screen_bycoord() anyway
2008-01-22 17:30:06 +01:00
Julien Danjou
67933fb670
initial x,y coords are set with respect to statusbars (FS#45)
2008-01-22 09:50:24 +01:00
Julien Danjou
668702b777
move list.h and util.[ch] to common/
2008-01-21 18:14:59 +01:00
Julien Danjou
97f08901d6
call restack() only when focus()ing
2008-01-21 16:31:15 +01:00
Julien Danjou
83a0a4daf8
add a common infra to drop events
2008-01-21 16:31:15 +01:00
Julien Danjou
6fce5830ff
arg is useless now
2008-01-21 16:31:15 +01:00
Julien Danjou
bfc7f3ce5d
clean out some need_arrange uneeded
2008-01-21 16:31:15 +01:00
Julien Danjou
6e4d13c9dc
add a new cache system for arrange()ing
2008-01-21 16:31:15 +01:00
Julien Danjou
2f8978c15b
add client_find_next_visible()
2008-01-21 16:31:15 +01:00
Julien Danjou
4809b8bc6e
make swapnext cycling
2008-01-21 16:31:15 +01:00
Julien Danjou
650788479d
doc
2008-01-21 16:31:15 +01:00
Julien Danjou
ed3f624fc0
move clients' uicb away from layout.c
2008-01-21 16:31:15 +01:00
Julien Danjou
7f4dc5a871
use client_setfloating() to change floating attribute
2008-01-21 16:31:15 +01:00
Julien Danjou
5570612dec
resize on floating set
2008-01-21 16:31:14 +01:00
Julien Danjou
f9cebe0dd8
respect rules
2008-01-21 16:31:14 +01:00
Julien Danjou
94197429e5
tag_client_with_rule() only tag is a rule match
2008-01-21 16:31:14 +01:00
Julien Danjou
47ee745425
rewrite client_manage()
2008-01-21 16:31:14 +01:00
Julien Danjou
654fba9b5e
insert and use rule_matching_client()
2008-01-21 16:31:14 +01:00
Julien Danjou
bdd474348b
use cycle functions
2008-01-21 16:31:14 +01:00
Julien Danjou
572f409a29
use lists functions for Client
2008-01-21 16:31:13 +01:00
Nikos Ntarmos
7c122e00ac
Fix for windows showing up in tile-mode and not before already floated (FS#22)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-16 19:01:30 +01:00
Nikos Ntarmos
a9170edf10
don't draw the border of skip'ed windows
...
ewmh_process_window_type_atom(...) clears the border for windows that
are to be skipped. However, client_updatewmhints(...) doesn't.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-15 08:24:26 +01:00
Fabienne Ducroquet
aedfe8b665
Fix client_togglehorizontalmax and client_toggleverticalmax
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-12 17:02:12 +01:00
Julien Danjou
903555e502
better fix for max windows
2008-01-11 17:56:50 +01:00
Julien Danjou
93e137eaab
invalidate cache
2008-01-11 16:44:24 +01:00
Julien Danjou
7c93dd381e
fix maximization on floating layouts
2008-01-11 16:41:03 +01:00
Julien Danjou
d427ffe4d2
invalidate only if we focus a new client
2008-01-11 16:01:10 +01:00
Julien Danjou
901f1da5ca
fix documentation
2008-01-11 13:37:33 +01:00
Julien Danjou
876377880d
cosmetic
2008-01-11 12:01:51 +01:00
Julien Danjou
ce0b433aba
check if client is not NULL
...
Debian bug #459992
2008-01-10 07:05:54 +01:00
Nikos Ntarmos
08e13d598e
Fix for 'windows showing up in tile-mode and not before already floated'
...
FS#22
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-09 09:43:39 +01:00
Julien Danjou
e3f5dc81e9
fix swapping when already master
2008-01-07 19:07:22 +01:00
Julien Danjou
cef0253652
no need to refocus
2008-01-07 19:06:23 +01:00
Julien Danjou
4a610dfeb3
no need to restore focus
2008-01-07 19:03:17 +01:00
Julien Danjou
6483b36389
only invalidate cache if client is urgent
2008-01-07 19:00:17 +01:00
Arnaud Fontaine
7a2b851a03
fix XGetTransientForHint() call
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-07 18:57:25 +01:00
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
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