xenocara/app/cwm: sticky command

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

xenocara/app/cwm: sticky command

temp+101
Hi,

It seems that cwmrc(5) could not change default key binding for sticky
command and whenever I try to bind keys to sticky, I receive "syntax error".

I check the codes and found out that in parse.y file "sticky" is a keyword.

I don't know which is the best patch for this problem, but this patch works
for me:

Index: conf.c
===================================================================
RCS file: /usr/cvs/xenocara/app/cwm/conf.c,v
retrieving revision 1.204
diff -u -p -r1.204 conf.c
--- conf.c 13 Aug 2016 09:59:48 -0000 1.204
+++ conf.c 9 Sep 2016 19:50:22 -0000
@@ -207,7 +207,7 @@ static const struct {
  { "CM-g", "grouptoggle" },
  { "CM-f", "fullscreen" },
  { "CM-m", "maximize" },
- { "CM-s", "sticky" },
+ { "CM-s", "togglesticky" },
  { "CM-equal", "vmaximize" },
  { "CMS-equal", "hmaximize" },
  { "CMS-f", "freeze" },
@@ -408,7 +408,7 @@ static const struct {
     {.i = (CWM_CLIENT_RCYCLE | CWM_CLIENT_CYCLE_INGRP)} },
  { "grouptoggle", kbfunc_client_grouptoggle, CWM_CONTEXT_CLIENT,
     {.i = CWM_KBD}},
- { "sticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
+ { "togglesticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
  { "fullscreen", kbfunc_client_toggle_fullscreen, CWM_CONTEXT_CLIENT,
     {0} },
  { "maximize", kbfunc_client_toggle_maximize, CWM_CONTEXT_CLIENT, {0} },
Index: cwmrc.5
===================================================================
RCS file: /usr/cvs/xenocara/app/cwm/cwmrc.5,v
retrieving revision 1.61
diff -u -p -r1.61 cwmrc.5
--- cwmrc.5 12 Jul 2015 14:31:47 -0000 1.61
+++ cwmrc.5 9 Sep 2016 20:12:10 -0000
@@ -301,7 +301,7 @@ Raise current window.
 Label current window.
 .It freeze
 Freeze current window geometry.
-.It sticky
+.It togglesticky
 Stick current window to all groups (same as assigning to nogroup).
 .It fullscreen
 Full-screen current window (gap + border removed).

Reply | Threaded
Open this post in threaded view
|

Re: xenocara/app/cwm: sticky command

Erling Westenvik-2
On Sat, Sep 10, 2016 at 01:06:24AM +0430, Ali Farzanrad wrote:

+1

Works well. Thanks. I've been missing this feature but never taken time
to investigate. I have a toggle_skip_taskbar (mapped to MS-t) for
programs that I don't want to show up in my taskbar (x11/tint2). And for
programs that I want to exclude from Alt-Tab, I have a toggle_skip_pager
on my TODO list. The latter would be well suited for your patch.

Cheers,

Erling

> Hi,
>
> It seems that cwmrc(5) could not change default key binding for sticky
> command and whenever I try to bind keys to sticky, I receive "syntax error".
>
> I check the codes and found out that in parse.y file "sticky" is a keyword.
>
> I don't know which is the best patch for this problem, but this patch works
> for me:
>
> Index: conf.c
> ===================================================================
> RCS file: /usr/cvs/xenocara/app/cwm/conf.c,v
> retrieving revision 1.204
> diff -u -p -r1.204 conf.c
> --- conf.c 13 Aug 2016 09:59:48 -0000 1.204
> +++ conf.c 9 Sep 2016 19:50:22 -0000
> @@ -207,7 +207,7 @@ static const struct {
>   { "CM-g", "grouptoggle" },
>   { "CM-f", "fullscreen" },
>   { "CM-m", "maximize" },
> - { "CM-s", "sticky" },
> + { "CM-s", "togglesticky" },
>   { "CM-equal", "vmaximize" },
>   { "CMS-equal", "hmaximize" },
>   { "CMS-f", "freeze" },
> @@ -408,7 +408,7 @@ static const struct {
>      {.i = (CWM_CLIENT_RCYCLE | CWM_CLIENT_CYCLE_INGRP)} },
>   { "grouptoggle", kbfunc_client_grouptoggle, CWM_CONTEXT_CLIENT,
>      {.i = CWM_KBD}},
> - { "sticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
> + { "togglesticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
>   { "fullscreen", kbfunc_client_toggle_fullscreen, CWM_CONTEXT_CLIENT,
>      {0} },
>   { "maximize", kbfunc_client_toggle_maximize, CWM_CONTEXT_CLIENT, {0} },
> Index: cwmrc.5
> ===================================================================
> RCS file: /usr/cvs/xenocara/app/cwm/cwmrc.5,v
> retrieving revision 1.61
> diff -u -p -r1.61 cwmrc.5
> --- cwmrc.5 12 Jul 2015 14:31:47 -0000 1.61
> +++ cwmrc.5 9 Sep 2016 20:12:10 -0000
> @@ -301,7 +301,7 @@ Raise current window.
>  Label current window.
>  .It freeze
>  Freeze current window geometry.
> -.It sticky
> +.It togglesticky
>  Stick current window to all groups (same as assigning to nogroup).
>  .It fullscreen
>  Full-screen current window (gap + border removed).
>

--
Erling Westenvik

Reply | Threaded
Open this post in threaded view
|

Re: xenocara/app/cwm: sticky command

Okan Demirmen
In reply to this post by temp+101
On Sat 2016.09.10 at 01:06 +0430, Ali Farzanrad wrote:
> Hi,
>
> It seems that cwmrc(5) could not change default key binding for sticky
> command and whenever I try to bind keys to sticky, I receive "syntax error".
>
> I check the codes and found out that in parse.y file "sticky" is a keyword.
>
> I don't know which is the best patch for this problem, but this patch works
> for me:

Ah, nice catch! - guess the default keybinding worked for everyone for
quite a long time :)  Thanks for the patch suggestion, though I'll
likely switch to just 'stick' to keep in line with other actions, like
'freeze', 'hide', raise', 'lower', etc...I'd prefer to change the group
meaning of 'sticky' but that breaks most people's config :(

Thanks,
Okan

> Index: conf.c
> ===================================================================
> RCS file: /usr/cvs/xenocara/app/cwm/conf.c,v
> retrieving revision 1.204
> diff -u -p -r1.204 conf.c
> --- conf.c 13 Aug 2016 09:59:48 -0000 1.204
> +++ conf.c 9 Sep 2016 19:50:22 -0000
> @@ -207,7 +207,7 @@ static const struct {
>   { "CM-g", "grouptoggle" },
>   { "CM-f", "fullscreen" },
>   { "CM-m", "maximize" },
> - { "CM-s", "sticky" },
> + { "CM-s", "togglesticky" },
>   { "CM-equal", "vmaximize" },
>   { "CMS-equal", "hmaximize" },
>   { "CMS-f", "freeze" },
> @@ -408,7 +408,7 @@ static const struct {
>      {.i = (CWM_CLIENT_RCYCLE | CWM_CLIENT_CYCLE_INGRP)} },
>   { "grouptoggle", kbfunc_client_grouptoggle, CWM_CONTEXT_CLIENT,
>      {.i = CWM_KBD}},
> - { "sticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
> + { "togglesticky", kbfunc_client_toggle_sticky, CWM_CONTEXT_CLIENT, {0} },
>   { "fullscreen", kbfunc_client_toggle_fullscreen, CWM_CONTEXT_CLIENT,
>      {0} },
>   { "maximize", kbfunc_client_toggle_maximize, CWM_CONTEXT_CLIENT, {0} },
> Index: cwmrc.5
> ===================================================================
> RCS file: /usr/cvs/xenocara/app/cwm/cwmrc.5,v
> retrieving revision 1.61
> diff -u -p -r1.61 cwmrc.5
> --- cwmrc.5 12 Jul 2015 14:31:47 -0000 1.61
> +++ cwmrc.5 9 Sep 2016 20:12:10 -0000
> @@ -301,7 +301,7 @@ Raise current window.
>  Label current window.
>  .It freeze
>  Freeze current window geometry.
> -.It sticky
> +.It togglesticky
>  Stick current window to all groups (same as assigning to nogroup).
>  .It fullscreen
>  Full-screen current window (gap + border removed).