Commit Graph

76 Commits

Author SHA1 Message Date
oga
3a94c57afc Add "gap" support to .cwmrc. The options put in here make gaps on the edge
of the screen where an application won't be {,vert}maximized over. used for
placing a statusbar or something like xclock.

Patch from Edd Barrett, with input from myself and okan. Thanks!

ok okan@.
2008-04-15 18:46:58 +00:00
okan
4bbb472a25 - add vi keybindings to search
- allow for ctrl-h as well

discussion with and ok oga@
2008-04-15 18:33:13 +00:00
okan
fe80d40063 malloc -> calloc
suggested by and ok oga@
2008-04-15 18:22:08 +00:00
okan
343ec1bb4f remove alt-tab menu
discussed with a few

ok oga@
2008-04-09 18:10:47 +00:00
oga
eb77aabea1 No cookie for okan.
fix use-after-free that broke exec's path getting stuff.

``paths'' isn't used anymore, but pointers to within that array are still
used in the next loop. delay freeing it until after then.
2008-04-08 17:38:27 +00:00
okan
9702d4cfd7 better 'quit' keybinding default (CMS-q)
feedback from oga@ and simon@

ok oga@ simon@
2008-04-08 14:12:28 +00:00
simon
539b5c6534 Make _xev_quit "volatile sig_atomic_t" for proper correctness.
Noticed by oga@, thanks!
2008-04-08 00:09:50 +00:00
simon
0f18223042 Add quit function, bind it per default to CM-q and change exec_wm
binding to CM-w.

Inital diff from Gleydson Soares
Feedback from oga@ and okan@

ok oga@
2008-04-07 23:47:09 +00:00
okan
cb2cc70c3f - use $PATH before _PATH_DEFPATH, from Tim van der Molen
- plug leak, noticed by oga

feedback and ok oga@
2008-04-05 21:09:19 +00:00
simon
ef0859de20 Sync usage() with reality and manpage.
"ok, but no cookie" oga@
2008-04-03 13:58:57 +00:00
oga
34c0a0635f Fix a couple of issues with the maximization code.
If a window is vertically maximized, then resized, before the MAXIMIZED
flag wasn't removed, now it is. so doing a resize then does the right
thing.

Also, separate flags are needed for vertical and normal maximziation,
else when you do vertical-maximize, followed by maximize, the window
returns to it's original size.

ok simon@, okan@
2008-03-26 15:45:42 +00:00
matthieu
e704b57d33 Introduce bsd.xconf.mk to set default config variables used
at several places in the Xenocara build in a central place instead
of duplicating the checks all over the place. ok oga@.
2008-03-25 23:41:50 +00:00
simon
c3aa344e78 Replace the symlink configuration scheme with a simple yacc parser as
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@
2008-03-23 15:09:21 +00:00
okan
38ff7a904e allow autogrouping and sticky mode to work together
ok oga@
2008-03-22 21:34:07 +00:00
oga
36c1aac90f Rip out, burn, and dance around the grave of group-edit mode.
I've yet to speak to anyone who uses it, so just kill it.

You can still add/remove from groups using the mouse binding.  Groups
may get a re-work sometime soon if i have a stroke of genius.

knocks about 4k off the i386 binary for me.

ok okan@, todd@.
2008-03-22 15:09:45 +00:00
oga
cd46788d85 Remove a bunch of unused variables and incorrect comments.
"ok with me" okan@.
2008-03-22 14:09:02 +00:00
oga
fead0d511f As mentioned in my last commit, there was an issue where the switching
code would always assume that the number of windows to switch to was
three if there were more windows hidden. Check for CLIENT_HIDDEN when we
count. Now it counts correctly.

ok simon@.
2008-03-19 00:18:28 +00:00
oga
f85ba10437 client_{,r}cycle() doens't need a client. so get rid of KBFUNC_NEEDSCLIENT.
this prevents the issue where you close or hide a window, and end up
with no client selected (you're on the root window). When that happened
alt-tab failed.  This, however, exposed to me a few more issues in the
alt-tabbing code:

-the code to detect how many lines we need looks bogus (you always get
three)

-alt-tabbing when everything is hidden always reawakes the most recent
window.

Fixes for these will be forthcoming.

ok simon@.
2008-03-18 00:48:56 +00:00
sthen
a466ddaa2d typo fix. ok oga 2008-03-14 14:38:10 +00:00
matthieu
d816834954 Change the default for XSRCDIR to /usr/xenocara. ok deraadt@ 2008-03-03 07:01:44 +00:00
oga
de36e6ec2f add exec_wm to calmwm.h, it was missing (bad ian@!)
Also, exec_wm() currenty err()s out if something failed with the exec,
killing the currently running wm. This is bad. Replace the err() with
warn() instead.


from Gleydson Soares, thanks!
2008-02-20 13:00:18 +00:00
oga
7ef6f63557 Typo: s/supression/suppression
from Pierre Riteau, thanks!
2008-02-20 12:56:10 +00:00
oga
3f63e529bf usage never returns, and thus should be __dead.
ok jasper@.
2008-02-13 21:48:03 +00:00
oga
9cb4f8884e add usage() for when an unknown option is given.
from Gleydson Soares <gsoares@gmail.com>, thanks!

ok jasper@
2008-02-13 21:04:19 +00:00
oga
09dbddac87 Make cwm print the XDisplayName() if it fails to open the display,
instead of an error message that'll be gibberish to most people.

from Gleydson Soares. Thanks!

ok simon@.
2008-02-13 12:09:47 +00:00
ian
a936ffc470 Trivial typo in recent "exec windowmanager" addition 2008-01-22 17:35:23 +00:00
oga
de72f62924 All of the 9wm code in cwm has been removed or re-written. Edit LICENSE
and the manpage to reflect this. While i'm here remove the note in todo
about cleaning up the menu code; it's been done.

ok ian@, okan@ (he also provided most of the manpage rework)
2008-01-16 16:14:55 +00:00
oga
7fb2664f92 huge amount of cleanup and dead code removal.
full description of changes:
-remove fontlist, and all associated structures/calls, it's not needed.
 this also removes any doubt about leftover 9wm code (the list was
 borrowed from it). Since cwm now uses Xft for everything, the legacy
 font handling is just not needed.
-add /* FALLTHROUGH */ comments into grab_{label,menu}. I actually
 didn't intend grab_menu to be a fallthrough, but it actually works quite
 well there, so remove the extra rectangle drawing. I love it when that
 happens.
-remove a couple of unused prototypes that were obviously missed
 before.
-remove a bunch of commented out or if 0ed out code. It doesn't look to
 be coming back anytime soon.
-several functions returned an int, but this was never checked. most of
 them only failed if they failed to grab the pointer (thus the internal
 state didn't change), so just make them void and return early if this is
 the case.
-remove several unused functions and some useless variables.

knocks something like 200bytes off the stripped binary size for me.

ok marc@, tested by several others.
2008-01-16 11:39:20 +00:00
oga
1eed217b1c Rewrite most of grab_menu in grab.c (it was partly 9wm code).
This should work functionally the same, with a few simplifications.

Changes:
- we don't care if you're holding another button when you release the
  menu key if you don't want to select anything, move off the menu.
- remove the hysteresis from the menu selection (before you had to move
  more than three pixels onto a new menu entry before it selected it)
- simplify a lot of the selection code
- kill dead code.
- do what the XXX comment said and cache the screensize (i may tweak
  this later).

As far as I can tell, the only code remaining from 9wm is the list of
fonts in calmwm.c. Others appear to concur.

ok marc@, looked over and tested by a few others. Reminders from okan@.
2008-01-14 15:21:10 +00:00
oga
e5cabb0f43 - Remove the "all rights reserved" tag at the top of most of the source
files, and replace them with the actual ISC license.

- add license to the manpage (it was lacking before)

- correct license statement in the README

Permission given by Marius (copyright holder):
"1. please replace with the standard ISC license
2. you may add the ISC license to the man page
3. feel free to replace the information in the README as well"

and Dros (copyright holder for group.c):
"Please switch group.c to the ISC License."

ok ian@
2008-01-11 16:06:44 +00:00
oga
3de5c68888 Kill some more dead code, cursor.c goes away.
ok marc@
2008-01-08 20:21:43 +00:00
marc
160d6aa910 Adjust initial window placement with any geometry that would place
the window at or over the right or bottom edge.
OK oda@
2008-01-03 20:20:20 +00:00
oga
847191cff3 Kill draw.c, nothing uses the code in it.
More dead code removals to come.

ok marc@
2008-01-03 01:58:16 +00:00
oga
f82afee4e2 Kill some warnings intoduced with the execwm feature.
ok marc@
2008-01-03 01:56:25 +00:00
marc
381ba77e03 remove declaration of removed function
Reminded by matthieu@  (thanks!)
2008-01-02 20:54:32 +00:00
marc
01a3f493d6 remove unused code
OK oga@
2008-01-02 20:47:11 +00:00
marc
219f297493 Only use the x,y values from the XSizeHints structure when they are greater
than zero.   The fields are obsolete and not always used.
OK jasper@
2008-01-01 22:28:59 +00:00
okan
2e72df662d allow the search feature to work in the root window, like other similar ones.
ok todd@
2007-12-31 02:49:45 +00:00
ian
8b3cd2243a Add a "restart wm" function. ok oga@ 2007-11-28 16:35:52 +00:00
oga
f14a3eeebf Another messed up keybinding.
I blame todd...

ok okan@
2007-11-28 16:02:37 +00:00
okan
19ae2f65de re-add a lost group keybinding
ok oga@ todd@
2007-11-27 17:17:08 +00:00
oga
3341229c74 Make cwm default keybindings always exist. Additional keybindings now
overlap with the new ones, overriding them. Also a new "unmap" keyword
in binding definitions now unmaps a binding without adding a new one.

This seriously shrinks the ~/.calmwm/.keys directory of anyone who defines
their own bindings whilst wanting some of the defaults.

Looked over, liked and ok todd@
2007-11-19 22:18:16 +00:00
jmc
ebebed71bd fix a pasto: documentation/5639 from viq
while i'm at it:
- fix an .El botch up
- kill trailing whitespace
- new sentence, new line
2007-11-16 23:04:56 +00:00
todd
4b85adbe60 introduce conf_bindname() to drastically simplify conf.c
really liked by oga@
2007-11-13 23:26:04 +00:00
todd
576d299095 enable pointer movement in cwm via C-<arrowkeys>
looked over by oga@
2007-11-13 23:08:49 +00:00
oga
dc39e11ff9 Small manpage nit.
From Okan Demirmen, thanks!
2007-11-08 13:03:22 +00:00
oga
6b00b86622 Change MOVE_AMOUNT in kbfunc.c to 1 from 10. This allows more fine tuning when
moving and resizing windows using the keyboard.

Future diffs might make this value configurable.

ok jasper@, todd@.
2007-11-07 22:02:04 +00:00
oga
e64e1709ba Document cwm's keybinding support. It was already there, but not in the manpage.
While I'm here add support for extra modifier keys.

"commit commit!" jasper@, ok todd@.
2007-11-07 22:00:26 +00:00
oga
699b048959 Add support to cwm for resizing the windows using Control-Meta-[hjkl].
Please note that this remaps Control-Meta-L (label) to Control-Meta-N (name).

ok jasper@, todd@.
2007-11-07 21:58:03 +00:00
ian
af71fc930a wording 2007-10-07 16:56:21 +00:00