X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fconf.c;h=258f563078132cc7f3d794dc3c2efd6bca3db7b9;hb=29aae1975d46f66b97a2b873f1875eded8c6fbc3;hp=62c91f117679ace71fd879314ecc7816058a7f36;hpb=803afbc1cd633f6c025bcd9537e9b7e9aedadd0d;p=ion3.git diff --git a/ioncore/conf.c b/ioncore/conf.c index 62c91f1..258f563 100644 --- a/ioncore/conf.c +++ b/ioncore/conf.c @@ -1,12 +1,9 @@ /* * ion/ioncore/conf.c * - * Copyright (c) Tuomo Valkonen 1999-2007. + * Copyright (c) Tuomo Valkonen 1999-2008. * - * Ion is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. + * See the included file LICENSE for details. */ #include @@ -61,7 +58,8 @@ static ExtlFn get_layout_fn; * for hidden workspaces with activity? \\ * \var{frame_default_index} & (string) Specifies where to add new regions * on the mutually exclusive list of a frame. One of - * ''last'', ''next'' (for after current), ''next-act'' + * \codestr{last}, \codestr{next}, (for after current), + * or \codestr{next-act} * (for after current and anything with activity right * after it). \\ * \var{dblclick_delay} & (integer) Delay between clicks of a double click.\\ @@ -72,10 +70,16 @@ static ExtlFn get_layout_fn; * \var{kbresize_t_min} & (integer) See below. \\ * \var{kbresize_step} & (floating point) See below. \\ * \var{kbresize_maxacc} & (floating point) See below. \\ + * \var{edge_resistance} & (integer) Resize edge resistance in pixels. \\ * \var{framed_transients} & (boolean) Put transients in nested frames. \\ * \var{float_placement_method} & (string) How to place floating frames. - * One of ''udlr'' (up-down, then left-right), - * ''lrud'' (left-right, then up-down) or ''random''. \\ + * One of \codestr{udlr} (up-down, then left-right), + * \codestr{lrud} (left-right, then up-down), or + * \codestr{random}. \\ + * \var{mousefocus} & (string) Mouse focus mode: + * \codestr{disabled} or \codestr{sloppy}. \\ + * \var{unsqueeze} & (boolean) Auto-unsqueeze transients/menus/queries/etc. \\ + * \var{autoraise} & (boolean) Autoraise regions in groups on goto. \\ * \end{tabularx} * * When a keyboard resize function is called, and at most \var{kbresize_t_max} @@ -99,6 +103,8 @@ void ioncore_set(ExtlTab tab) extl_table_gets_b(tab, "switchto", &(ioncore_g.switchto_new)); extl_table_gets_b(tab, "screen_notify", &(ioncore_g.screen_notify)); extl_table_gets_b(tab, "framed_transients", &(ioncore_g.framed_transients)); + extl_table_gets_b(tab, "unsqueeze", &(ioncore_g.unsqueeze_enabled)); + extl_table_gets_b(tab, "autoraise", &(ioncore_g.autoraise)); if(extl_table_gets_s(tab, "frame_default_index", &tmp)){ ioncore_g.frame_default_index=stringintmap_value(frame_idxs, @@ -106,6 +112,14 @@ void ioncore_set(ExtlTab tab) ioncore_g.frame_default_index); free(tmp); } + + if(extl_table_gets_s(tab, "mousefocus", &tmp)){ + if(strcmp(tmp, "disabled")==0) + ioncore_g.no_mousefocus=TRUE; + else if(strcmp(tmp, "sloppy")==0) + ioncore_g.no_mousefocus=FALSE; + free(tmp); + } if(extl_table_gets_i(tab, "dblclick_delay", &dd)) ioncore_g.dblclick_delay=maxof(0, dd); @@ -146,12 +160,20 @@ ExtlTab ioncore_get() extl_table_sets_b(tab, "switchto", ioncore_g.switchto_new); extl_table_sets_i(tab, "dblclick_delay", ioncore_g.dblclick_delay); extl_table_sets_b(tab, "screen_notify", ioncore_g.screen_notify); + extl_table_sets_b(tab, "framed_transients", ioncore_g.framed_transients); + extl_table_sets_b(tab, "unsqueeze", ioncore_g.unsqueeze_enabled); + extl_table_sets_b(tab, "autoraise", ioncore_g.autoraise); + extl_table_sets_s(tab, "frame_default_index", stringintmap_key(frame_idxs, ioncore_g.frame_default_index, NULL)); + extl_table_sets_s(tab, "mousefocus", (ioncore_g.no_mousefocus + ? "disabled" + : "sloppy")); + ioncore_get_moveres_accel(tab); ioncore_groupws_get(tab); @@ -189,7 +211,8 @@ ExtlTab ioncore_get_layout(const char *layout) /*EXTL_DOC - * Get important directories (userdir, sessiondir, searchpath). + * Get important directories (the fields \var{userdir}, + * \var{sessiondir}, \var{searchpath} in the returned table). */ EXTL_SAFE EXTL_EXPORT @@ -204,7 +227,8 @@ ExtlTab ioncore_get_paths(ExtlTab tab) /*EXTL_DOC - * Set important directories (sessiondir, searchpath). + * Set important directories (the fields \var{sessiondir}, \var{searchpath} + * of \var{tab}). */ EXTL_EXPORT bool ioncore_set_paths(ExtlTab tab)