- 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/
- appicons/
- aspectresize/
- attachabove/
- attachaside/
- attachasideandbelow/
- attachbelow/
- attachbottom/
- attachdirection/
- attachtop/
- autodarkmode/
- autoraise windows/
- autoresize/
- autostart/
- autostarttags/
- autoswitch/
- awesomebar/
- azerty/
- backlight/
- bar height/
- barconfig/
- barpadding/
- bartabgroups/
- bartoggle/
- betterswallow/
- 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/
- customrefreshrate/
- cyclelayouts/
- cycleview/
- cyclewindows/
- dash above activeWindow/
- deck/
- decoration hints/
- default tag apps/
- defaultlayoutpermonitor/
- defaultmfact/
- 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/
- floatingstatus/
- 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/
- setenvvars/
- 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/
- swapmonitors/
- swaptags/
- swapwindows/
- 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/
- togglebar/
- 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/
steam
Description
The Steam client, and steam windows (games), tends to trigger a ConfigureNotify request every time the window gets focus. More so, the configure events passed along from Steam may have the wrong x and y coordinates which can make the window, if floating, jump around the screen. Another observed symptom is the steam window continuously sliding towards the bottom right corner of the screen.
This patch works around this age-old issue by ignoring the x and y co-ordinates for ConfigureNotify requests relating to Steam windows.
It should be noted that this is a simple and crude patch, and while it can be made more generic I have intentionally left it hardcoded against steam in particular as few other windows behaves this badly.
Download
Author
- Stein Bakkeby bakkeby@gmail.com