Commit Graph

322 Commits

Author SHA1 Message Date
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