into screen_ctx and start passing screen_ctx around to in order get rid
of Curscreen; fixup per-screen config colors the same way.
diff mostly from oga@, with a bit harsher reaction to the state of screen_ctx.
"please commit" oga@
using Xft(3), use it to select the font color as well instead of trying
to build one; properly allocate and free colors at-will, e.g. we now
have configurable colors.
feedback and ok's todd@ and oga@
display and moves it to another group. useful with the recently added
"grouponly" function, giving the ability to use groups as simple
virtual desktops (similar to e.g. xmonad, dwm and scrotwm).
this doesn't have default keyboard bindings; cwmrc(5) now shows how
you could use these functions (use M-1...9 for grouponly1...9 and
MS-1...9 for movetogroup1...9 to emulate the default dwm bindings).
ok oga@
This works like the group select binding, but hides all other groups.
So, the people who've been complaining that they don't get "virtual
desktops" in cwm may want to try this out in cwmrc (from memory, untested):
---
#cwmrc
# add new windows to the current group
set sticky
# automatically sticky windows. xclock for now.
# to make more windows sticky use group_toggle to unset their group
autogroup 0 xclock
# make the group selection keys hide other groups, emulate virtual desktops
bind CM-1 grouponly1
bind CM-2 grouponly2
bind CM-3 grouponly3
bind CM-4 grouponly4
bind CM-5 grouponly5
bind CM-6 grouponly6
bind CM-7 grouponly7
bind CM-8 grouponly8
bind CM-9 grouponly9
---
mostly by sthen, tweaks from me.
ok todd@, "if it works i'm ok with it" okan@, ok sthen@
to push attributes around, so things get a lot simplier, while fixing a
few issues in the meantime; original suggestion by Edd Barrett many many
moons ago.
annoying window placement and race, found in c2k8 by todd, fix by oga!
lots of feedback from todd and oga - thanks!
"commit that bad boy" oga@
add conf_grab() and conf_ungrab, and use them in the keybinding manipulation
functions to {,un}grab the binding for all screens we have defined.
the lovely little ordering problem comes in here, since when we parse
the config initially Screenq is empty, so regrab after we fill the
queue, hopefully later reordering will remove this little need and there
will be much rejoicing.
ok okan.
you do this is ugly. Also remove mod2 (numlock) and mod3 (odd) from the
list of keybinding modifiers. They don't make much sense here.
based on a heavily modified diff from Martynas.
ok okan.
- if no config file, continue silently and apply defaults
- if config file, parse and move on
- if config file specified but not found, error out
ok oga@
mru getting the order messed up when gvim/xpdf et all steal key events.
While i'm here, change the logic in client_cyclenext() to use break instead
of goto, it's nicer that way.
Thirdly, instead of two different kbfuncs, just use the one and a flag.
"put your cycle diff in so I can pkg_delete gvim" okan@
idea for the
"slightly-less-abhorrent-hack-but-a-hack-nonetheless-TM" from oga@
grab and ungrab the keyboard to get around some silly X apps that like
stealing events
ok oga@
1) it used TAILQ_FOREACH() when it's removing entrys from the list, this
is bad.
2) We didn't free key, so there was a small memleak too.
also rework conf_bindname's logic slightly to be more simple.
ok okan@
Since it's only used once just put the (simplified) logic into
conf_client() instead. This means we can kill an enum and
CONF_IGNORECASE, too.
ok okan@
found in other places of the tree. Remove sticky and font commandline
options and add another one for alternative config locations.
Split off cwmrc(5) from cwm(1), nuke #ifdef __OpenBSD__ while there.
tested by various kind people, feedback from oga@ and okan@ - thanks!
ok oga@, jasper@, okan@