Commit Graph

244 Commits

Author SHA1 Message Date
Michael Gehring c80ff672ca mouse: user mouse_*_pointer wrappers
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:03:03 +02:00
Michael Gehring aa33631263 mouse: keep mwfact within sensible bounds
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:01:35 +02:00
Michael Gehring 7690dba009 mouse: use xcb_*_pointer_unchecked
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:01:31 +02:00
Julien Danjou b2daa2acb3 mouse: garbage collector for mouse objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 23:59:51 +02:00
Michael Gehring b16493d878 random updates/fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 20:33:47 +02:00
Julien Danjou 1142c382f7 mouse: make button bindings objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 15:35:47 +02:00
Julien Danjou 1115f17f1a mouse: make infobox optional
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:41:53 +02:00
Michael Gehring 276f5f8849 [doxygen] Add \lvalue and convert existing doc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:36:34 +02:00
Julien Danjou f11c913bc4 [lua] Fix gettop() usages
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:32:26 +02:00
Michael Gehring 1ca55927f0 [doxygen] Convert Lua documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:12:51 +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 89daa72790 [mouse] Fix bug with floating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:16:55 +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 0422266818 testdrive new doxygen commands
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 08:49:00 +02:00
Julien Danjou ca81c9a1f1 [mouse] Add optionnal argument to specify corner to grab when resizing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 18:15:53 +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
Michael Gehring 8ab1831ed6 [mouse] Use different cursors for vert./horiz. resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:28:11 +02:00
Michael Gehring 0db5446b2e [mouse] Rework tiled resizing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:26:12 +02:00
Julien Danjou 6d89565c8e [mouse] Use different cursors for corners
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 16:38:33 +02:00
Michael Gehring f00b5b252c [mouse] Grab Pointer before warping it.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 10:41:19 +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
Michael Gehring bdee66bcd9 [mouse] improved floating client resizeing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 20:01:45 +02:00
Michael Gehring b6a81100d1 [mouse] add some Pointer related utility functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:59:48 +02:00
Michael Gehring 108b9a2870 [mouse] remove spurious xcb_aux_sync
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:58:38 +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 2742318f16 [common] Use pixmap instead of drawable type
It's just more clear.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 16:13:41 +02:00
Julien Danjou 24176ba8c7 [screen] s/screen_get_area/screen_area_get/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:35:48 +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
Michael Gehring 26632ae48c [PATCH] [mouse] show correct geometry on resize (FS#203)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 14:22:59 +02:00
Julien Danjou d8a5b43f26 [widgets] Make draw functions statusbar-less dependents
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 12:18:17 +02:00
Julien Danjou 177d270e31 [mouse] Fix resize in floating and mouse wrapping
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 17:34:43 +02:00
Julien Danjou 9fa1c9b8b8 [mouse] Fix client resize in tiled mode and multi head
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 16:37:47 +02:00
Julien Danjou 7cdba19a56 [layout] Stop starting a thread for layout freshing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 11:01:57 +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 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 0bbd2d4b3e Rename AwesomeConf to awesome_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +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 fb822997b3 [client] Remove ismax attribute.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:11:47 +02:00
Julien Danjou 819ba3f191 [layout] Change {layout,statusbar}_refresh proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-21 14:40:16 +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 effaa99b91 [awesome] Remove useless includes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou b142264787 [draw] Make draw_text using a const pointer to a style
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou 33837d77a1 [draw] Rename DrawCtx to draw_context_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou f12f1798dd [draw] Add margin code inside markup string
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 5c51759cca [draw] Make text_align part of markup format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou ce8d1ff89e [titlebar] Add string to format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +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
Julien Danjou baa9525c70 [mouse] Do not overwrite events when moving
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou e246410126 [swindow] Rename SimpleWindow to simple_window_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou a04395ddc9 [swindow] Store gc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 4151df7136 [mouse] Drop motion events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 01f0a6bde6 [events] Wait for events rather than poll
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
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