summaryrefslogtreecommitdiff
path: root/app/cwm
AgeCommit message (Collapse)Author
2020-04-25Fixed memory leak in xu_get_strprop.Tobias Stoeckmann
If a client calls XSetTextProperty for a window to clear all its properties, then allocated memory within libX11 is not freed. OK okan@
2020-04-16Prevent out of boundary write with configuration files in which too manyTobias Stoeckmann
quoted arguments are stored for other window managers. The quotation handling happens within the while loop without checking if the "end" limit has been already reached. If this happens, the final NULL assignment leads to an out of boundary write on stack. OK okan@
2020-04-16Allow configuring a percentage window size of the master window duringOkan Demirmen
htile/vtile actions. From Uwe Werler, with a few manpage tweaks.
2020-03-24zap stray tabsOkan Demirmen
2020-03-24Instead of using _NET_ACTIVE_WINDOW on restart, use the pointer locationOkan Demirmen
to determine what client to set active. Reduces a round trip for every window.
2020-03-23Add support for SIGINT/SIGTERM.Okan Demirmen
2020-03-20Simplify conditional construct.Tim van der Molen
OK okan@
2020-03-20Trim event_mask to those that the root window actually needs.Okan Demirmen
2020-03-20No need to lookup current client early; move to right before it isOkan Demirmen
needed.
2020-03-16Recommit 1.259, but now with TAILQ_FOREACH_SAFE.Tim van der Molen
From and OK okan@ Original commit message: Plug two memory leaks. Also get rid of a variable that is no longer necessary. OK okan@
2020-03-14Revert previous. Causes a crash as reported by Tom Murphy.Tim van der Molen
2020-03-13Simplify list markup.Tim van der Molen
OK okan@ schwarze@
2020-03-13Plug two memory leaks. Also get rid of a variable that is no longerTim van der Molen
necessary. OK okan@
2020-02-28Remove ColormaskChange from event-mask since there's no event handler.Okan Demirmen
2020-02-27Unrelated style fixes, consistency changes and sorting, appropriateOkan Demirmen
dosage/removal of wrappers, simplification of name queue, client cycle joins other kb/mb bound functions.
2020-02-07Allow the 'empty' group clients to be window-{h,v}tile'd.Okan Demirmen
Behaviour (or lack there of) noticed by Raf Czlonka.
2020-02-03Map ('5') and allow mod5mask (altgr) as a modifier.Okan Demirmen
From Artturi Alm (though changed from 'm' to '5')
2020-01-22add, then use, xvasprintf, checking for appropriate return.Okan Demirmen
2020-01-21Ensure the pointer stays within client bounds after a window 'snap' (to edge).Okan Demirmen
reported by Stefan Hagen.
2019-08-13Because cwm warps the pointer during a client move (to stay within the client),Okan Demirmen
there's a window of time where an expose or enternotify event will get generated for a lower client; use a hammer and drain events after keyboard move/resize, until such a time that cwm doesn't warp the pointer. Behavior noticed by kn. ok kn@
2019-08-12Fix regression from r1.107 (lost a return); kettenis@ pointed out the highOkan Demirmen
potential for a use-after-free (true!) where kn@ ran into the regression using an app that actually exercised the XGrabPointer() failure path.
2019-07-09Add application sectionkn
Link what is described as "applications" here to how they are actually defined in cwmrc(5). While here, call the configuration file what it is instead of reusing the default path (already mentioned in the FILES section). OK okan
2019-07-02command uses execvp(3) not execve(2)kn
util.c:u_exec() has been doing so since import.
2019-04-29Plug a memory leak in log_debug(); OK okan@Tim van der Molen
2019-04-29Handle _NET_WM_NAME changes.Tim van der Molen
This fixes the problem where cwm's window menu wouldn't show Firefox's current window title if it contains non-ASCII characters. OK okan@
2019-03-11Check the atom type on propertynotify before iterating.Okan Demirmen
2019-03-10use screen_find() for xrandr crtc changesOkan Demirmen
2019-03-10Find the managed screen from the parent window for client_current().Okan Demirmen
2019-03-08Print window id in hex; while here, remove unnecessary newline.Okan Demirmen
2019-03-08Similar to keypress event, fetch the screen from the event root window in theOkan Demirmen
buttonpress handler; bail if we don't manage the screen. Allows us to find the current client based on the screen/event root.
2019-03-08extend verbose logging for key/button eventsOkan Demirmen
2019-03-08[keypress event] turns out we've been checking the wrong window for a matchingOkan Demirmen
client thus always falling back to client_current(); while the current client is problaby right in most cases, use event's subwindow (not window) to find the client. Bail early if this event came to us from a screen we don't manage. This is result of us grabing all keybindings off the root window instead of selectively.
2019-03-08add parans for readibilityOkan Demirmen
2019-03-07Teach client_current() to use a screen to find the current client instead ofOkan Demirmen
iterating over all (fallback if no screen provided for now). Initially convert trivial uses of client_current().
2019-03-07check cc->gc directlyOkan Demirmen
2019-03-07zip extra linesOkan Demirmen
2019-03-07gc clientq inside groups, instead use the better maintained one per-screenOkan Demirmen
2019-03-07shuffle deck chairs: rename group actions to match intent for clarityOkan Demirmen
2019-03-06same thing as screen_find()Okan Demirmen
2019-03-04Separate out the menu window from the client resize/move geom window; in eachOkan Demirmen
case, create and destroy on-demand. Isolate more menu specific code.
2019-03-04fix a few misplaced (and misnamed) ewmh root window functionsOkan Demirmen
2019-03-04_NET_WORKAREA needs ngroups, so screen_update_geometry() needs to come afterOkan Demirmen
conf_group().
2019-03-04simplify xftcolor configOkan Demirmen
2019-03-01Tie group number and name together during config.Okan Demirmen
2019-02-28Move the group index (desktop number) check to the only 2 callers that requireOkan Demirmen
checking due to ewmh.
2019-02-28Ensure we don't action on the last group when the requested one is not found.Okan Demirmen
2019-02-28Selectively hide and show clients based on state; merge client_unhide() andOkan Demirmen
client_show().
2019-02-25Add a configtest flag (-n).Okan Demirmen
based on a diff from Sascha Paunovic.
2019-02-25Add 'group-close-[n]' action to close all windows within specified group.Okan Demirmen
heavily based on a diff from Nam Nguyen.
2019-02-23simplify screen 'area' usage for initial client placementOkan Demirmen