- about
- customisation/
- dynamic window management/
- faq/
- multi monitor/
- multi pointer/
- patches/
- accessnthmonitor/
- activemonitor/
- activetagindicatorbar/
- actualfullscreen/
- adjacenttag/
- allowkillrule/
- alpha/
- alt tab/
- alt tab class/
- alternativetags/
- alttab2/
- alttagsdecoration/
- alwayscenter/
- alwaysfullscreen/
- alwaysontop/
- amixer integration/
- anybar/
- aspectresize/
- attachabove/
- attachaside/
- attachasideandbelow/
- attachbelow/
- attachbottom/
- attachdirection/
- attachtop/
- autodarkmode/
- autoraise windows/
- autoresize/
- autostart/
- autostarttags/
- autoswitch/
- awesomebar/
- azerty/
- backlight/
- bar height/
- barconfig/
- barpadding/
- bartabgroups/
- bartoggle/
- bidi/
- blanktags/
- borderrule/
- bottomstack/
- bulkill/
- canfocusfloating/
- canfocusrule/
- center/
- center first window/
- centered tags/
- centeredmaster/
- centeredwindowname/
- centretitle/
- cfacts/
- clientindicators/
- clientmonoclesymbol/
- clientopacity/
- clientresizehints/
- clientspertag/
- cmdcustomize/
- colemak keys/
- colorbar/
- colorschemes/
- columngaps/
- columns/
- combo/
- cool autostart/
- cropwindows/
- current desktop/
- cursorwarp/
- cyclelayouts/
- cyclewindows/
- dash above activeWindow/
- deck/
- decoration hints/
- default tag apps/
- defaultlayoutpermonitor/
- defaulttag/
- defaulttransparency/
- desktoponly/
- destroyfocus/
- dmenumatchtop/
- doublepressquit/
- dragmfact/
- dualstatus/
- dwmc/
- dwmfifo/
- dynamicscratchpads/
- dynamicswallow/
- emptyview/
- environmentvars/
- ewmhtags/
- exitmenu/
- exresize/
- extrabar/
- fadeinactive/
- fakefullscreen/
- fancybar/
- fibonacci/
- fixmultimon/
- flextile/
- float border color/
- floatborderwidth/
- floatrules/
- focusadjacenttag/
- focusbynum/
- focusfullscreen/
- focusmaster/
- focusmonmouse/
- focusonclick/
- focusonnetactive/
- focusurgent/
- focusvisibletagstacks/
- foreground/
- freespace/
- fsignal/
- fullgaps/
- fullscreen/
- functionalgaps/
- gaplessgrid/
- gaps/
- gestures/
- goatcmd/
- goback/
- graballkeycodes/
- gridmode/
- hide vacant tags/
- hideborder/
- historical/
- holdbar/
- horizgrid/
- horizontal/
- horizontal vertical i3/
- ignore transient windows/
- inplacerotate/
- insets/
- integrated status text/
- ipc/
- ispermanent/
- keybindings/
- keychain/
- keychord/
- keycodes/
- keymodes/
- keypressrelease/
- killfocusnext/
- killunsel/
- launcher/
- launcher colors/
- layoutmenu/
- layoutmonitorrules/
- layoutscroll/
- leftlayout/
- leftstack/
- locktagsfor/
- mainmon/
- mark/
- maximize/
- monocle count/
- monoclesymbol/
- movecenter/
- movekeyboard/
- moveontagmon/
- moveplace/
- moveresize/
- movestack/
- movethrow/
- movetoedge/
- mpdcontrol/
- multikey/
- multimon/
- multimonitorscratchpads/
- multipledynamicscratchpads/
- namedscratchpads/
- nametag/
- nextprev/
- nmaster/
- nmaxmaster/
- noborder/
- noborderflicker/
- notallowed/
- notitle/
- nrowgrid/
- onlyquitonempty/
- pango/
- pertag/
- preserveonrestart/
- preventfocusshift/
- preview all win/
- push/
- pwkl/
- qubesdecorations/
- qubesrules/
- quitprompt/
- rainbowtags/
- ratiofullscreen/
- rearrangebar/
- rebootcmd/
- refreshrate/
- removeborder/
- reorganizetags/
- resetlayout/
- resetnmaster/
- resizecorners/
- resizehere/
- restartsig/
- restoreafterrestart/
- rmaster/
- rotatestack/
- rotatetags/
- rulerefresher/
- save floats/
- scheme switch/
- scratchpad/
- scratchpads/
- script tags/
- selectivefakefullscreen/
- selfrestart/
- sendmoncenter/
- setborderpx/
- setstatus/
- setxkbgroup/
- sgrstatus/
- shift tools/
- showselmon/
- shutdowncmd/
- single tagset/
- singularborders/
- sizehints/
- smartborders/
- solarized/
- spawn cwd/
- spawnprograms/
- spawntag/
- splitstatus/
- sshawarespawn/
- stacker/
- stackmfact/
- stairs/
- staticstatus/
- status2d/
- statusallmons/
- statusbarfont/
- statusbutton/
- statuscmd/
- statuscolors/
- statuspadding/
- stdin/
- steam/
- sticky/
- stickyindicator/
- swallow/
- swapfocus/
- swaptags/
- switch all monitor tags/
- switchcol/
- switchtotag/
- systray/
- tab/
- tag previews/
- tagall/
- tagcolorscheme/
- tagfun/
- taggrid/
- tagintostack/
- taglabels/
- taglayouts/
- tagothermonitor/
- tagshift/
- tagspawn/
- tapresize/
- tatami/
- three column/
- throwtoothertag/
- tiledmove/
- tilegap/
- tilewide/
- titlecolor/
- toggleallmons/
- togglebartag/
- toggleborder/
- togglefloatingcenter/
- toggletopbar/
- torus/
- transfer/
- truecenteredtitle/
- two monitor setup/
- underlinetags/
- unfloatvisible/
- unicode ellipsis/
- urgentborder/
- uselessgap/
- vanitygaps/
- viewonrulestag/
- viewontag/
- vtcolors/
- warp/
- win31theme/
- windowfollow/
- windowmap/
- winicon/
- winview/
- xfce4 panel/
- xkb/
- xrdb/
- xresources/
- xtheme/
- xtile/
- zeroastag/
- zoomswap/
- screenshots/
- status monitor/
- tutorial/
Per-window keyboard layout
Description
Basically, this patch implements per-window keyboard layout support in dwm. It makes dwm remember current keyboard layout when a window is unfocused, and restore it back when that window is focused again.
Notes
Andreas Amann pointed out that "you cannot switch between tags per mouse if an alternate layout is activated". He kindly created a patch that fixes this: see ml.
Download
- dwm-pwkl-5.9.diff (1.4K) (2010-10-13)
- dwm-pwkl-6.1.diff (1.5K) (2017-01-28)
- dwm-pwkl-6.2.diff (1.6K) (2020-12-01)
Author
- Evgeny Grablyk - evgeny.grablyk@gmail.com