Commit Graph

268 Commits

Author SHA1 Message Date
Julien Danjou 0a44e90cb6 [lua] Fix garbage collectors
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:17:47 +02:00
Julien Danjou aba52508c7 [tag] Documentation update
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 10:13:28 +02:00
Julien Danjou 6ad47dc828 [layouts] Add magnifier layout
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 20:54:53 +02:00
Julien Danjou 4b3e7f766c [tag] Fix tag add checking
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 16:20:38 +02:00
Julien Danjou be44700669 [doc] Add new Lua based documentation generator for API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 15:25:40 +02:00
Julien Danjou 971d51918b [tag] Check that tag has not been added before.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:43:09 +02:00
Fabienne Ducroquet 834405425e Rearrange the screen when changing layout
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 15:46:40 +02:00
Julien Danjou 21ae849d9f Rename VirtScreen to screen_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 09:01:49 +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 4e4a7d2703 [tag] Add luaA_tag_userdata_new() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:40:41 +02:00
Julien Danjou c6261b028b [tag] Add function to manipulate layouts
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 16:59:05 +02:00
Julien Danjou 2c548ef816 [tag] Add lua function to get/set tag's name.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:57:18 +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 1c4acbe38c [tag] Make static and remove useless functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:58:34 +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 48482f3712 [tag] Add missing elements in tag_push_to_screen() 2008-05-09 22:45:32 +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 c9f4c45007 [rules] Rename Rule to rule_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +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 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 4bfcfc5a9b [tags] Check that at least one tag is vieedw on toggletag (FS#143)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-01 09:00:14 +02:00
Steffen Schulz 981c47835e [uicb] uicb_client_toggletag() with NULL use as sticky toggle
The following modification to client_toggletag will make it possible to
make windows sticky/unsticky via client_toggletag(0).
Upon unsticky, the window will stay at the currently selected tags.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 09:06:53 +01:00
Julien Danjou 2a6292db29 Add documentation for tag_new()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 08:53:14 +01:00
Julien Danjou b39529b44d Clean EWMH desktop calls
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 f88d403d1c Update various copyrights 2008-03-23 15:52:19 +01:00
Julien Danjou 14798753ca Bugfix in client_toggletag and checking if not tag selected 2008-03-12 16:09:56 +01:00
Julien Danjou 1b87c2be2a Verify user input for tag values (mwfact, nmaster and ncol)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-08 10:26:51 +01:00
Michael Kaminsky 6fb68f5d90 Fix segfault after viewing same tag twice and doing a tag_prev_selected.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-26 22:22:38 +01:00
Julien Danjou 0b6129e625 remove {load,save}awesomeprops()
this is too bugged
2008-02-12 15:43:57 +01:00
Julien Danjou 105f89a58b fix was_selected tag attribute handling 2008-02-04 14:32:06 +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 6a05197297 add tag_view_byinde() 2008-01-23 08:45:02 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou 6e4d13c9dc add a new cache system for arrange()ing 2008-01-21 16:31:15 +01:00
Julien Danjou 5f72c9f056 use tag_list_next_cycle() 2008-01-21 16:31:15 +01:00
Julien Danjou 3b1526ea5b store screen in tag 2008-01-21 16:31:15 +01:00
Julien Danjou 67c155c0dd add tag_view() function 2008-01-21 16:31:15 +01:00
Julien Danjou 2592d3032c add more functions to manipulate tags 2008-01-21 16:31:15 +01:00
Julien Danjou 4ee9cdcd67 make tag_view_prev and next to by cycling 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 f700e483d6 rename TagClientLink to tag_client_node_t 2008-01-21 16:31:14 +01:00
Julien Danjou 6fc766a847 clean some tag stuff 2008-01-21 16:31:14 +01:00
Julien Danjou 45ac9d24f4 rename tag_view to tag_view_byindex 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 29740269ec rename is_tag_match_rules() to tag_match_rule() 2008-01-21 16:31:14 +01:00
Julien Danjou 628ce3e7ad use list functions for TagClientLink 2008-01-21 16:31:14 +01:00
Julien Danjou 99e54ef971 use list functions for Tag 2008-01-21 16:31:13 +01:00
Julien Danjou c248d9afca resize with floating geom when setting floating 2008-01-17 10:08:20 +01:00
Julien Danjou f7ea8a1c50 invalidate cache on tag switching 2008-01-11 16:01:10 +01:00
Julien Danjou bbc94b97f8 fix some cache flags 2008-01-09 09:59:45 +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 58c8912e33 Revert "force windows to tile mode" - it's useful afterall to not consider "no value" as "false"
This reverts commit 81afe81b4e.

Conflicts:

	event.c
2008-01-07 00:36:45 +01:00
Julien Danjou 81afe81b4e force windows to tile mode 2008-01-07 00:28:27 +01:00
Julien Danjou 29a5cda54f fix some weird conditions with fullscreen/max/arrange 2008-01-06 23:27:47 +01:00
Julien Danjou 4fbce766bf add auto option to float in rules 2008-01-06 22:21:23 +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 8978f0837e break on detach or for() will fail to assign ->next 2008-01-04 17:08:30 +01:00
Nikos Ntarmos e79fdcb22e uicb_tag_view not working correctly with null argument
uicb_tag_view(...) hasn't been working correctly since tag_view(...)
came into existence. The problem is that saveawesomeprops(...),
arrange(...) and ewmh_update_net_current_desktop(...) need to be called
for a NULL argument as well, but these were moved to tag_view(...).

We can either add them back albeit only for the arg=NULL case, or move
these calls back into uicb_tag_view(...) and copy them over to
ewmh_process_client_message(...) and to all possible future users of
tag_view(...). The attached patch does the former.
2008-01-03 09:44:13 +01:00
Julien Danjou 5d9ef8b5d5 new uicb: tag_create 2008-01-02 17:10:32 +01:00
Julien Danjou 4f65aa8f51 rework headers inclusion 2008-01-01 18:02:36 +01:00
Julien Danjou 909f92d500 replace UICB_PROTO macro by a typedef 2008-01-01 17:25:48 +01:00
Julien Danjou 3216eb4d41 documente some functions and simplify client_saveprops() proto 2007-12-30 15:08:38 +01:00
Julien Danjou f8300c5523 add support for _NET_CURRENT_DESKTOP messages 2007-12-28 22:16:27 +01:00
Julien Danjou 629f2efb83 bug fix in focus_get_latest_client_for_tags: restore tags on each roll 2007-12-28 12:48:42 +01:00
Julien Danjou 14909f47a9 move tclink in awesomeconf 2007-12-28 11:34:35 +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 3de4814910 add support for _NET_CURRENT_DESKTOP 2007-12-27 18:42:20 +01:00
Julien Danjou a95694c177 simplify proto 2007-12-27 14:02:27 +01:00
Julien Danjou a48cefe53e remove calls to get_current_tag() 2007-12-27 11:53:23 +01:00
Julien Danjou 33add50256 store location and width of each widgets 2007-12-27 11:35:45 +01:00
Julien Danjou a0e7aee072 introduce get_current_tags() and deprecate get_current_{tag,layout}() 2007-12-23 16:28:40 +01:00
Julien Danjou d5d9439777 add support for Urgency hint 2007-12-23 15:16:10 +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 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 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 8b62669970 fix tag_view prev/next segfault 2007-12-15 13:35:15 +01:00
Julien Danjou 7327a92972 untag everything on rules applying 2007-12-15 09:02:49 +01:00
Julien Danjou df2a8e1b1d add a focus history 2007-12-14 21:51:54 +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 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 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
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
Arnaud Fontaine ece6bb27f3 check whether atoi success 2007-11-26 18:42:30 +01:00
Julien Danjou 51911613c5 handle uicb_client_toggletag() with no args or with i > ntags 2007-11-16 22:07:58 +01:00
Julien Danjou d46f740a39 check for int value in uicb_tag_toggleview() 2007-11-16 22:03:26 +01:00
Julien Danjou 037d6aea59 fix bug with arg is NULL in uicb_client_tag() 2007-11-16 21:56:31 +01:00
Julien Danjou 4ca7059efc rename uicb_view to uicb_tag_view 2007-11-14 18:07:38 +01:00
Julien Danjou bfde2f3211 rename uicb_toggletag to uicb_client_toggletag 2007-11-14 18:07:38 +01:00
Julien Danjou 10391f3190 rename uicb_toggleview to uicb_tag_toggleview 2007-11-14 18:07:38 +01:00
Julien Danjou f4390bfc3e rename uicb_togglefloating to uicb_client_togglefloating 2007-11-14 18:07:38 +01:00
Julien Danjou 5b0987bb28 rename uicb_tag to uicb_client_tag 2007-11-14 18:07:38 +01:00
Julien Danjou 0f2db7653d introduce new tag_client_with_current_selected() function to tag a client with currently selected tags 2007-11-14 10:00:15 +01:00
Julien Danjou a0ea5bf734 move compileregs() from tag.c to rules.c 2007-11-13 22:45:46 +01:00
Julien Danjou a07669c52c remove applyrules() function 2007-11-13 22:42:12 +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 8741fdba69 fix a bug in rule handling when screen is set 2007-11-12 21:53:05 +01:00
Julien Danjou b76f216f69 forget a RULE_NOSCREEN occurence 2007-11-12 19:36:10 +01:00
Julien Danjou adcadddc46 define RULE_NOSCREEN -1 2007-11-12 19:35:31 +01:00
Julien Danjou 9f21fb3c9e rules are now stored in a linked list 2007-11-12 19:25:10 +01:00
Julien Danjou f70424487e screen can now be specified in rules 2007-11-12 18:21:03 +01:00
Julien Danjou 8b048ec6fe tags uicb function does not take arg name anymore, but tag index number 2007-11-11 11:30:07 +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
Nikos Ntarmos 360f96b5fd stop centering mouse on move, just keep current coords 2007-11-09 19:22:42 +01:00
Julien Danjou 14e8c82a8a fix max() size restore, introduce volatile option to resize() 2007-10-29 15:24:10 +01:00
Julien Danjou 001f430c0c remove global client_sel, use tag's client_sel 2007-10-26 23:19:13 +02:00
Julien Danjou d24413a75d rename resize() to client_resize() 2007-10-26 19:51:20 +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 842eed01c0 remove current_layout, insert get_current_layout() to get it dynamicly 2007-10-16 22:33:15 +02:00
Julien Danjou ccb7e89750 arrange() does not need Display as arg 2007-10-15 18:23:05 +02:00
Julien Danjou 3592e8e448 save and loadawesomeprops do not need display as arg 2007-10-15 18:14:43 +02:00
Julien Danjou d263c89aa4 untab on floating 2007-10-15 17:20:17 +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 4a7acf821e remove Regs struct, use Rules 2007-10-15 12:40:45 +02:00
Julien Danjou c4e130d7d9 remove Display as param for uicb 2007-10-11 23:32:29 +02:00
Julien Danjou c3986a5937 sel is no more extern 2007-10-11 23:12:05 +02:00
Julien Danjou e733af41ec remove drawcontext everywhere 2007-10-10 14:09:36 +02:00
Julien Danjou 97a2085705 cosmetic: remove lines with empty spaces at end 2007-10-03 17:26:14 +02:00
Julien Danjou 17ec922077 bug fix: set not matched tags to False instead of nothing 2007-10-02 10:36:49 +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 ab738c9cab bug fix: XClassHint not copied correctly
Thanks Nikos Ntarmos <ntarmos@ceid.upatras.gr>
2007-09-28 10:46:34 +02:00
Julien Danjou 486dd410ca bug fix: apply selected layouts for tag in uicb_tag_view{next,prev}
Thanks Jordà Polo <jorda@ettin.org>
2007-09-27 16:24:42 +02:00
Julien Danjou 2c149b25d3 optimize a little isvisible() 2007-09-26 18:56:58 +02:00
Julien Danjou 935bcc7ce4 move Regs into tag.c 2007-09-24 18:02:03 +02:00
Julien Danjou 595eba78d7 create a Tag struct type and use it 2007-09-24 15:37:52 +02:00
Julien Danjou 40384806fd use a_strcmp() instead of strcmp() 2007-09-21 17:32:00 +02:00
Julien Danjou 03ee9ce9d1 rename some tag_view UI callback functions and add uicb_tag_viewprev uicb_tag_viewnext as bindable 2007-09-20 22:24:52 +02:00
Julien Danjou 4ef83a4e40 documentation update for tags 2007-09-20 22:02:57 +02:00
Julien Danjou d9523d3436 simplify load/saveawesomeprops 2007-09-18 19:53:52 +02:00
Julien Danjou dcec6aa749 remove screen arg from uicb* 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 c3bb58f47a stop making awesomelibconf global and store screen number in awesome_configs
we strdup elems and p_delete them in cleanup
2007-09-16 23:13:34 +02:00
Julien Danjou 0539eaa4b0 is_visible check for screen 2007-09-16 14:56:08 +02:00