Commit Graph

418 Commits

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