Commit Graph

888 Commits

Author SHA1 Message Date
Julien Danjou aa6bfc560a [draw] Do inline UTF-8 conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +02:00
Julien Danjou 1049393840 Revert "Replace tags by workspaces"
This reverts commit 00f966ea04.

Revert "[focus] Fix bogus arguments"
This reverts commit 816b5d16bc.

Revert "[mouse] Fix bug with floating"
This reverts commit 89daa72790.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 21:56:03 +02:00
Julien Danjou ac1517bacb [client] Add support for hide/unhide
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:24:12 +02:00
Julien Danjou 00f966ea04 Replace tags by workspaces
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +02:00
Michael Gehring 59c04890fc [cleanup] random doxygen fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 17:13:09 +02:00
Julien Danjou 75cb6b81af [screen] s/move_client_to_screen/screen_client_moveto/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 11:02:34 +02:00
Alex Cornejo adedb9e397 Added get_class to client.
This is useful for writing rules in the awesomerc.lua, since
in the lua-less version it was possible to trigger rules based
on the class of the window (as opposed to the name).

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 14:53:57 +02:00
Julien Danjou 6ba90facb0 [client] Various documentation update and fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 09:27:16 +02:00
Julien Danjou 98119d5d3f [lua] Check for object validity
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:27:10 +02:00
Julien Danjou eb8378749b [titlebar] Add titlebar_client_get()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 17:54:52 +02:00
Julien Danjou 5f2585d82e [screen] s/get_display_area/display_area_get/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:34:11 +02:00
Julien Danjou 80ec848130 [client] Add titlebar_get()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 13:36:13 +02:00
Julien Danjou aecc3c0e45 [titlebar] Store titlebar inside client
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 11:50:21 +02:00
Julien Danjou 1e08a992b8 [titlebar] Rewrote titlebar based on widgets
This is the new titlebar handling code, based on widgets.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 18:41:54 +02:00
Julien Danjou 930997898b [client] Add unmanage function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 08:32:16 +02:00
Julien Danjou c332971b21 [draw] Rename draw_color_new() to xcolor_new()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:34:38 +02:00
Julien Danjou e39bb8eac6 [markup] Stop recomputing len, use slen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 07:52:29 +02:00
Julien Danjou b24c0b286c [client] Fix border_set documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 09:50:49 +02:00
Julien Danjou 3ab739553c [client] Add and honor the noborder attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 14:33:45 +02:00
Julien Danjou ebb56ce6b1 [client] Add a hook on urgent flag
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 11:08:48 +02:00
Julien Danjou bc38b86c80 [client] Need arrange on focus
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:46:13 +02:00
Julien Danjou e890297617 [client] Focus even if we think we already have focus
Because sometimes clients steal focus.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 21:34:52 +02:00
Julien Danjou 55b4c773d0 [client] Fix client_resize() comments
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 20:17:33 +02:00
Julien Danjou 0e3531d3a3 [client] Rework raise and mouse stuff
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:08:29 +02:00
Julien Danjou 93741f6b91 [client] Push client on stack list on manage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:47:19 +02:00
Julien Danjou c81dacf091 [client] Add proper stacking support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 19:32:30 +02:00
Julien Danjou f6f74c4565 [client] Add client.name_set() function and hook on title update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:51:45 +02:00
Julien Danjou d9dd1fba8e Revert "[client] Remove ismax attribute."
This reverts commit fb822997b3.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:42:20 +02:00
Julien Danjou c9fde5a9f0 [client] Check that tag and client are on the same screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 12:06:10 +02:00
Fabienne Ducroquet 1d8481fc9e [client] Save geometry of windows when resizing in floating layout
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 08:26:39 +02:00
Julien Danjou 0bbd2d4b3e Rename AwesomeConf to awesome_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +02:00
Julien Danjou 67b2702b7d [client] Remove newcomer attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 23:01:41 +02:00
Julien Danjou db5430420d [client] Create luaA_client_userdata_new() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:03 +02:00
Julien Danjou 495b99f1c5 [focus] Rewrite focus handling on arrange.
Also add some documentation.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:48:27 +02:00
Julien Danjou 981b26cbc8 [lua] Add name_get() method and make mplayer floating by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou a04417494b [mouse] Rename Button to button_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou 0142f0efc9 [layout] Rename LayoutArrange to layout_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:11:59 +02:00
Julien Danjou ccb2a2db77 [lua] Remove regex matching
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:17:02 +02:00
Julien Danjou fb822997b3 [client] Remove ismax attribute.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:11:47 +02:00
Julien Danjou e25434fe25 [client/tasklist] Reactivate icon drawing with client.icon_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 22:37:08 +02:00
Julien Danjou ec21647c87 [client] Remove useless client_get_byname()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:59:58 +02:00
Julien Danjou dc431ec430 [scratch] Remove scratch client support.
This can be done in Lua now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:47:29 +02:00
Julien Danjou ddae225363 [client] Execute hook on real focus
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:06:02 +02:00
Julien Danjou 1f046b3c9f [everything] Switch from libconfuse to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:01:15 +02:00
Julien Danjou e5ed2f2f1c [swindow] Permit to delete NULL swindow
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 18:56:33 +02:00
Arnaud Fontaine f288fda0c5 [client] Send requests to the X server and treat replies as late as possible 2008-05-12 19:42:56 +01:00
Arnaud Fontaine a4c7ffffc7 [client] Add client_redraw (FS#170) 2008-05-11 17:56:26 +01:00
Arnaud Fontaine 162b8a690c [all] Implement an atom cache in xutil as an ordered linked-list 2008-05-11 01:10:37 +02:00
Julien Danjou 7f284ba15a [client] Remove erronous call to xcb_change_window_attributes() for borders
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 15:11:02 +02:00
Julien Danjou 39a070a5ae [client] Fix bug with atoi() and make uicb focus take 0 as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:17:49 +02:00
Julien Danjou c88b0b15ff [client] Merge zoom with swap, change togglefloating to setfloating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou b75e462223 [client] Merge vertical and horizontalmax inside togglemax
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou d5859c60f7 [client] Merge focus{prev,next} and swap{prev,next}
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou f0e29977d8 [client] introduce client_style_get() and use it in tasklist/titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou 8603f0dac1 [client] Documentation update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou de3fbffcf1 [xutil] Rewrite gettextprop() proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou 7468bb6794 [client] Fix potential memory leak on client string parsing errors
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou fd9d012f73 [client] Do not escape in client's name attribution
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 088446e97d [client] Free markup data
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 09e166ca1e [client] Pass signed to xutil_gettextprop()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Arnaud Fontaine 0624f4ce6a [client] Useless accessors functions have been removed from
xcb-util/icccm which had a bug making urgency hint unusable.
2008-05-03 12:01:04 +02:00
Julien Danjou eab7633675 [tasklist] Remove styles; use drawtext format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou ccfcde3555 [client] Escape clients name
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou e4d091ab2e [tag] Rename Tag type to tag_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou d1635db59f [client] Rename Client type to client_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine 20442adfa0 Cosmetic 2008-05-03 12:01:03 +02:00
Julien Danjou c9f4c45007 [rules] Rename Rule to rule_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou eb1a9bd69c [all] Rename Layer to layer_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 97dc830db5 [util/rules] Move Fuzzy from rules to util
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou ffec807e9d [client] Stack according to client on all screens
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Arnaud Fontaine 9e88dd4372 [client] Fix xcb_get_wm_normal_hints() which now returns an allocated pointer 2008-05-03 12:01:01 +02:00
Julien Danjou 82f305b1b1 [xutil] Rework some stuff and rename xgettextprop()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Arnaud Fontaine 2f9409ba74 Desallocate replies and events properly 2008-05-03 12:01:01 +02:00
Arnaud Fontaine b0b0dcf525 [client] Send properly the ClientMessage request when killing a client 2008-05-03 12:01:01 +02:00
Arnaud Fontaine 71e9100927 Remove useless xutil_root_window() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 02c99fccb8 Prefix xutil functions properly 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 4a1720ddca Remove useless x_select_input() which leaded to useless requests 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 164e696005 Cosmetic 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 3ea19aab12 Set properly the border width of a new window 2008-05-03 12:00:59 +02:00
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
Thomas Janu 7e301b5ef2 Layer 0 is also usable now
The check for a valid layer was wrong

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:00:25 +02:00
Wolfgang Kroener 3af77fd56e add ewmh stacking layers
Add layers for ewmh stacking order
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#STACKINGORDER
desktop, below, tile, float, above, fullscreen

Signed-off-by: Wolfgang Kroener <wk@azog.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:00:25 +02:00
Julien Danjou 24d2e200af [client] Fix for 'invalidate' cache when swapping
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 11:59:56 +02:00
Julien Danjou 5daa3c6478 [client] Invalidate cache when swapping
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 11:53:38 +02:00
marco candrian 88a08c210f force a floating point division
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-20 09:28:54 +02:00
marco candrian 8129bb7135 documentation fix on client_settrans
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-20 09:28:54 +02:00
Fabienne Ducroquet b12a5235a5 [doc] Fix some typos, modify a few descriptions
Before awesome 2.3 release, I've decided to look for typos in the
awesome* manpages, here is the result. I've also modified some options'
descriptions that I didn't find very clear, I hope I have not
added/missed too many mistakes as I'm not a native English speaker...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-11 07:34:45 +02:00
Julien Danjou f3d6ca0072 [client] Fix issues with opacity
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-10 13:18:08 +02:00
Julien Danjou 76fb9906ca [client] Fix opacity focused issue
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 16:27:27 +02:00
Julien Danjou 5a062eb0d3 [client] Fix placement for maximized apps
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 15:40:33 +02:00
Julien Danjou 5e6760c589 [titlebar] Resize correctly titlebar on manage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 10:53:53 +02:00
Julien Danjou 10903a3cb5 [titlebar] Better handling of position changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 10:26:46 +02:00
Julien Danjou d4764787c5 [placement] Really resize client if we change the placement (FS#152)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 20:11:38 +02:00
Julien Danjou 6f001de781 [client] Remove useless call to XMoveResizeWindow()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:05:23 +02:00
Julien Danjou e3b057cf21 [placement] Resize client with new floating geometry
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:04:18 +02:00
Julien Danjou 2456f6d62a [floating] Do not lower windows when going back to tiled
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 14:48:42 +02:00
Julien Danjou 841ce84ed9 [doc] Update a bunch of documentation for uicb; set transparency to be between 0 and 1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 20:07:13 +02:00
Julien Danjou ff1bd31633 [client] Optimize condition
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 11:35:56 +01:00
Julien Danjou a8ab903e24 [client] Invalidate cache on maximize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 09:52:58 +01:00
Julien Danjou 3d33c84e36 [titlebar] Check if titlebar was created before unmaping it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 17:01:57 +01:00
Julien Danjou c834134cc8 [doc] Autogenerate documentation for uicb from source code
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 15:00:46 +01:00
Julien Danjou 227c31fd77 [titlebar] Collapse for all position
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 11:07:23 +01:00
Julien Danjou 15256cccc1 [titlebar] Collapse titlebar to windows even if we do not resize it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 11:03:52 +01:00
Julien Danjou 214b5a4a31 [titlebar] Fix resize_hints usage with titlebar
- titlebar_update_geometry() give now void
- we call titlebar_update_geometry_floating() to reset correctly the
  titlebar position for right/bottom, so they will be stucked to the window

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 10:57:06 +01:00
Julien Danjou 7605585aee Fix bug when switching focus to an empty screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 18:20:39 +01:00
Julien Danjou 762645ca32 client_focus() now return bool to indicate if it has given focus
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 11:28:38 +01:00
Julien Danjou c5afa7753b Split restack function out of focus, and fix click-to-raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 16:34:41 +01:00
Julien Danjou b946119d46 Disable titlebar on fullscreen/maximize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 14:44:11 +01:00
Julien Danjou 3310b974b4 Allow skip to be focused (by mouse) but refuse to focus them if they're newcomer
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:58:32 +01:00
Julien Danjou db0932f77a Cleanup stuff in client_manage for loading properties
Remove a double call to ewmh_check_client_hints, and only call
move_client_to_screen() when needed.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 21:56:12 +01:00
Julien Danjou be12562ab7 Stop client_find_visible to loop for ever
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:58:39 +01:00
Julien Danjou e261ad7b5d Refuse to give focus on skippable windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:55:37 +01:00
Steffen Schulz 3b8cf66822 new directive opacity_focused=<int>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:36:55 +01:00
Julien Danjou d07ca5f76d Fix potential segfault in client_focus()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 17:33:48 +01:00
Julien Danjou 904cd4e06a Normalize some window functions protos
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 1d468c5583 Lot of cosmetic changes: proto change, etc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 0a6c6e017b Store physical screen id in statusbar and client, change get_phys_s() to screen_virttophys()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 08f1e90384 Do not set urgent on window if it is focused 2008-03-23 15:52:21 +01:00
Julien Danjou 279e83ba05 Update titlebar with real floating info now if client is floating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou b1cd7d16c6 Do not compute smart floating geometry on awesome restart 2008-03-23 15:52:21 +01:00
Julien Danjou 1acc6ec8f6 Fix various bug with smart/mouse floating placement
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 7c79f94341 Move titlebar initialization routine in titlebar.c 2008-03-23 15:52:20 +01:00
Julien Danjou 0b6d6d738a Do nothing it the client already has focus
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou 720dabbaf6 Add support for titlebar on right 2008-03-23 15:52:20 +01:00
Julien Danjou bb0fab396f Add an ismoving attribute to client to fix a bug with titlebar and mouse moving in Xinerama 2008-03-23 15:52:20 +01:00
Julien Danjou a42d43a853 Fix various placement issue with titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou 850145f994 Changing floating geometry is bad 2008-03-23 15:52:20 +01:00
Julien Danjou 466ed47c2a Remove useless code 2008-03-23 15:52:20 +01:00
Julien Danjou dbe2052320 Check for sw also before restacking titlebars 2008-03-23 15:52:20 +01:00
Julien Danjou c99bc4dc1d Fix titlebar drawing on max 2008-03-23 15:52:20 +01:00
Julien Danjou 3eef1842e4 Do not use titlebar_update_geometry_floating() which sucks in client_resize() 2008-03-23 15:52:20 +01:00
Julien Danjou e22d57a0ca Change the way to do resize
Go back to old school

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou cf58c338e4 Add drawing support for left titlebars 2008-03-23 15:52:20 +01:00
Julien Danjou 99d72010c5 Fix various metrics problems with titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou dd71f55469 Fix regression introduced by 7e2f59d851437d68c47b5827644eba117c0e7b82
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:20 +01:00
Julien Danjou 31f6010eda Put titlebar resize for floating in titlebar_update_geometry_floating() function and call it for movemouse
This fix the problem when moving a window on a floating layout on screen N to
non-floating layout on screen M
2008-03-23 15:52:19 +01:00
Julien Danjou c9450c6fbd Remove switch/case for sw creation of titlebar, useless 2008-03-23 15:52:19 +01:00
Julien Danjou eb595fe06e Add support for Bottom titlebar 2008-03-23 15:52:19 +01:00
Julien Danjou 9bd32fc3b8 Split titlebar stuff into titlebar.[ch], and uicb_client_toggletitlebar 2008-03-23 15:52:19 +01:00
Julien Danjou bc6656320d Add support for text_align option in titlebars 2008-03-23 15:52:19 +01:00
Julien Danjou f9f75629e1 Rule for titlebar applies event if we restart; set default to auto, which means off 2008-03-23 15:52:19 +01:00
Julien Danjou cc56ccd2e9 Use section for titlebar parameters 2008-03-23 15:52:19 +01:00
Julien Danjou 3aa550ef6b Cosmetic changes 2008-03-23 15:52:19 +01:00
Julien Danjou bb453bd444 s/client_titlebar_update_position/client_titlebar_update_geometry/g 2008-03-23 15:52:19 +01:00
Julien Danjou b51e352ed8 Fix errors with windows without titlebar 2008-03-23 15:52:19 +01:00
Julien Danjou 539636c77e Fix bug with floating windows and titlebar 2008-03-23 15:52:19 +01:00
Julien Danjou 95f8325c06 Fix titlebar width (add borders) 2008-03-23 15:52:19 +01:00
Julien Danjou b6f86ebb63 Smart placement support handling titlebar 2008-03-23 15:52:19 +01:00
Julien Danjou a6b203f8a6 Disable titlebar for dock and panels 2008-03-23 15:52:19 +01:00
Julien Danjou 12584caa5d Compute the rule only one time 2008-03-23 15:52:19 +01:00
Julien Danjou 8b217359e9 Rename Auto to Maybe in Fuzzy; add Auto as Position; add support for titlebar as rule 2008-03-23 15:52:19 +01:00
Julien Danjou 2c43fd6a69 Split titlebar properties into a struct with a SW and a Position 2008-03-23 15:52:18 +01:00
Julien Danjou 4311564945 Fix condition for having titlebars 2008-03-23 15:52:18 +01:00
Julien Danjou dce101d044 Split out titlebar handling into layout for non-floating, and into resize for floating 2008-03-23 15:52:18 +01:00
Julien Danjou 3c3015fd76 Remove resize_hints args to client_resize(), force usage of client_geometry_hints() 2008-03-23 15:52:18 +01:00
Julien Danjou ea88e324a0 First titlebar support 2008-03-23 15:52:18 +01:00
Julien Danjou f1109b055c Simplify next/prev stuff 2008-03-23 15:52:18 +01:00
Julien Danjou c6eec955c8 Rename Area to area_t 2008-03-23 15:52:18 +01:00
Julien Danjou fa47024714 Change colors infrastructure to style: rename colors_ctx_t to style_t and add font in it 2008-03-23 15:52:18 +01:00
Julien Danjou 0a980095b3 Rework colors stuff, add a common colors_ctx_t containing colors and shadow options 2008-03-23 15:52:17 +01:00
Julien Danjou eee37d063c Use xinerama_is_active attribute and drop XineramaIsActive() usage 2008-03-23 15:52:17 +01:00
Julien Danjou 355b7d67b3 Change screen_get_bycoord() proto to take ScreensInfo as arg, and speed up things 2008-03-23 15:52:17 +01:00
Julien Danjou 0bde5c9e29 Move some screen functions from screen.c to new common/xscreen.c 2008-03-23 15:52:17 +01:00
Julien Danjou 867b2f0775 first version of awesome-menu 2008-03-23 15:52:15 +01:00
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