Commit graph

189 commits

Author SHA1 Message Date
Julien Danjou
4ce1887eea [mouse] Rewrite mouse functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou
33709c62cd [xutil] Remove map_raised
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
1309287ead Cleanup of TODO messages 2008-05-03 12:01:01 +02:00
Arnaud Fontaine
ff13d83f55 [mouse] Fix regression in moving 2008-05-03 12:01:00 +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
bf4071397a * Remove buggy ignore_motion_events.
* Add xcb_aux_sync() in order to fix problem when moving or resizing a window.
2008-05-03 12:01:00 +02:00
Arnaud Fontaine
dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +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
c3ba206dc6 [mouse] Use mwfact lower and upper limits
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-09 16:54:52 +02:00
Julien Danjou
40eaa6b997 [doc] Add a bunch of documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 09:45:48 +02:00
Julien Danjou
eaa8d9a486 [mouse] Place correctly window on resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 10:36:28 +02:00
Julien Danjou
ffe6186fa4 [mouse] Fix uninitialized vars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 13:22:26 +01:00
Julien Danjou
e9dbf302be Add window indicating size and position on move and resize (FS#107)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 16:10:12 +01:00
Julien Danjou
57c36df181 Add window snapping with siblings
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 15:24:45 +01:00
Julien Danjou
9c17053c51 Moving client with mouse will now snap on titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 14:56:38 +01:00
Julien Danjou
ee56b41833 uicb_client_mousemove now detects screen changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 14:41:46 +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
3a63b7bb52 Put ismoving flag on the right place 2008-03-23 15:52:21 +01:00
Julien Danjou
94a83c84b6 Fix a bug preventing ismoving to be reset to false 2008-03-23 15:52:21 +01:00
Julien Danjou
83cecd067c Remove useless include 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
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
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
f88d403d1c Update various copyrights 2008-03-23 15:52:19 +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
c6eec955c8 Rename Area to area_t 2008-03-23 15:52:18 +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
f3652aaca6 Add a pointer to SLIST struct to store previous element
This will make back cycling faster
2008-03-23 15:52:17 +01:00
Julien Danjou
dd9a1b99c4 Rename events functions from handle_event... to event_handle 2008-03-06 09:09:59 +01:00
Julien Danjou
960d870b0b fix screen_get_bycoord() 2008-02-25 13:40:30 +01:00
Julien Danjou
a84eae2700 fix stacking issues 2008-02-12 14:39:52 +01:00
Julien Danjou
1b63e8a3c5 rename get_current_layout to layout_get_current() 2008-02-12 10:09:36 +01:00
Julien Danjou
606d157e31 rename some screens function 2008-01-30 09:36:52 +01:00
Julien Danjou
ab8d95f13d rework include 2008-01-29 11:27:14 +01:00
Julien Danjou
d9298f6edb rename get_current_tags to tags_get_current() 2008-01-29 08:31:13 +01:00
Julien Danjou
3d66b0c7d0 move define 2008-01-29 08:23:20 +01:00
Julien Danjou
ee1214846e rename some client functions 2008-01-29 08:21:05 +01:00
Julien Danjou
ea57fd8fc9 add support for smart windows placement in floating layout 2008-01-28 18:30:23 +01:00
Julien Danjou
9733c6955c remove printf() 2008-01-28 12:05:23 +01:00
Julien Danjou
4270d8bba6 better between-screen-moving handling, and allow for live re-arrange()-ing 2008-01-28 11:32:55 +01:00
Julien Danjou
6ab7121c49 allow to refresh layout when resizing to see in live what's happening 2008-01-28 11:05:32 +01:00
Julien Danjou
914e908aa8 handle screen changes 2008-01-28 11:03:19 +01:00
Julien Danjou
a73d635146 windows can be swaped with mouse in tiled layout 2008-01-28 10:37:47 +01:00
Julien Danjou
0ab751c69b raise window on move 2008-01-24 22:22:52 +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
5f174527e1 use client_setfloating() 2008-01-21 16:31:15 +01:00
Julien Danjou
85752e00d0 restack() unconditionnaly 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
0940f2f81a rename tileup/down to top/bottom 2008-01-21 16:31:15 +01:00
Fabienne Ducroquet
1dbe305177 mirror layout
I missed this feature for some time too, then I've just added two
layouts with master and stack area separated horizontaly: tiledown and
tileup (with the stack area down and up respectively) by adding a third
argument telling whether one wants to separate horizontally or verticaly
to the _tile function in layouts/tile.c. Patch against latest git
version, you will need to have icons
icons/layouts/{tiledown.png,tiledownw.png,tileup.png,tileupw.png} to
compile it without modifications.

Fabienne

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-21 16:31:14 +01:00
Julien Danjou
641d5fb9b1 introduce Layout var 2008-01-21 16:31:14 +01:00
Julien Danjou
2aacaa9320 stop dropping EnterWindow event
and make statusbar_update_position static
2008-01-10 20:53:31 +01:00
Julien Danjou
5c9291ff0b use a cache system for status bar 2008-01-07 18:12:38 +01:00
Julien Danjou
a1205efc20 move toggle floating function to layout.c and fix problem when moving with mouse tiled windows 2008-01-07 13:38:26 +01:00
Julien Danjou
af708d2fbc Rewrite everything about client geoemtry, resize, etc. 2008-01-06 20:36:39 +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
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
e07af54520 fixed windows can be moved 2008-01-02 17:17:34 +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
Julien Danjou
8c36b49f7f add support for _NET_WM_WINDOW_TYPE_DOCK 2007-12-28 21:26:02 +01:00
Julien Danjou
88ee1e037e drop PointerMotion events while resizing 2007-12-28 17:39:29 +01:00
Julien Danjou
e60b300112 optimize mwfact resizing with mouse 2007-12-28 17:37:41 +01:00
Julien Danjou
6dde3eaf16 allow to resize mwfact with mouse 2007-12-28 17:11:20 +01:00
Julien Danjou
1644cb51c3 don't XSync everything, and remove max flag on move/resize + redraw statusbar 2007-12-27 23:50:19 +01:00
Julien Danjou
f93a441da7 remove Display from Client struct 2007-12-27 23:10:43 +01:00
Julien Danjou
7196ee7102 switch to get_current_tags() in mouse.c 2007-12-27 12:50:55 +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
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
b6bfd1a4d0 The arg to uicb_ functions is no longer const. 2007-12-17 18:19:44 +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
Aldo Cortesi
2b5ba1f16f Improve the call signature of get_current_tag and get_current_layout. 2007-12-14 09:29:42 +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
Julien Danjou
895c3848eb rename uicb_*mouse to uicb_client_*mouse 2007-11-14 18:14:23 +01:00
Julien Danjou
f4390bfc3e rename uicb_togglefloating to uicb_client_togglefloating 2007-11-14 18:07:38 +01:00
Julien Danjou
aebe42decd fix segmentation fault in movemouse() (Xinerama) 2007-11-14 10:43:21 +01:00
Julien Danjou
cfa31c399d introduce mouse.[ch] files and move uicb_mouse*() to them 2007-11-13 22:57:57 +01:00