<div dir="ltr"><div><div>&gt;Discussions of design philosophy aside, I don&#39;t think that the mechanism
 you describe in Windows exists in other systems. And if it did, I 
personally would not be in favor of Blender superseding my window 
manager&#39;s behavior.<br><br></div>Well, I would rather have Blender take control of Alt-Click than require a system-wide change so that the Linux WM respects Alt-Click passing to Blender... The best would be to have an internal message processing and passing queue that handles all the raw mouse and key events...<br>
<br></div>T.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Dec 23, 2012 at 3:24 PM, Jason van Gumster <span dir="ltr">&lt;<a href="mailto:jason@handturkeystudios.com" target="_blank">jason@handturkeystudios.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Tibor Futo &lt;<a href="mailto:tiborfuto@gmail.com">tiborfuto@gmail.com</a>&gt; wrote:<br>

<br>
&gt;Actually, it is pretty funny how other apps suffer from this stupid<br>
&gt;Linux<br>
&gt;monopolization of Alt-Click. E.g. Inscape (search for &quot;How can I make<br>
&gt;Alt+click and Alt+drag work on Linux?&quot;)<br>
&gt;<br>
&gt;<a href="http://wiki.inkscape.org/wiki/index.php/Frequently_asked_questions#How_can_I_make_Alt.2Bclick_and_Alt.2Bdrag_work_on_Linux.3F" target="_blank">http://wiki.inkscape.org/wiki/index.php/Frequently_asked_questions#How_can_I_make_Alt.2Bclick_and_Alt.2Bdrag_work_on_Linux.3F</a><br>

&gt;<br>
&gt;T.<br>
&gt;<br>
&gt;<br>
&gt;On Sun, Dec 23, 2012 at 2:45 PM, Tibor Futo &lt;<a href="mailto:tiborfuto@gmail.com">tiborfuto@gmail.com</a>&gt;<br>
&gt;wrote:<br>
&gt;<br>
&gt;&gt; Hi Ton,<br>
&gt;&gt;<br>
&gt;&gt; The thing is: you can subscribe to all the events and process them<br>
&gt;&gt; _before_ the OS default window manager handles them. I have no recent<br>
&gt;&gt; experience with the message processing loop in Windows 7/8 and in<br>
&gt;Linux,<br>
&gt;&gt; but in XP you can capture any event you want to before Windows<br>
&gt;handles<br>
&gt;&gt; them, except Ctrl-Alt-Delete.<br>
&gt;&gt;<br>
&gt;&gt; E.g. in XP, if you do a click on the Window area, you have a chance<br>
&gt;to<br>
&gt;&gt; handle that with a WM_LBUTTONDOWN event (<br>
&gt;&gt; <a href="http://msdn.microsoft.com/en-us/library/ms645607%28VS.85%29.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms645607%28VS.85%29.aspx</a>). An<br>
&gt;Alt<br>
&gt;&gt; is just a modifier that is being passed in the message.<br>
&gt;&gt;<br>
&gt;&gt; I do not know about Unity/Gnome, but I do not think the Window<br>
&gt;Manager<br>
&gt;&gt; would prioritize its event processing over the applications event<br>
&gt;&gt; processing. If so, there should be an ability to hook in a pre-WM<br>
&gt;handler.<br>
&gt;&gt; But, no clue, just this would be the rational architecture for the<br>
&gt;WM.<br>
&gt;&gt; Adding a hook would not change change the environment, the Window<br>
&gt;Manager,<br>
&gt;&gt; it is a per WND class action, and so specific to the application in<br>
&gt;&gt; Windows. Same should be true for Linux.<br>
&gt;&gt;<br>
&gt;&gt; A Linux developer should be much more knowledgeable with this, but if<br>
&gt;you<br>
&gt;&gt; guys are completely lost, let me know, and I will try to investigate<br>
&gt;this<br>
&gt;&gt; and create a sample. Knowing me nothing about Linux, this may take<br>
&gt;months<br>
&gt;&gt; though :-).<br>
&gt;&gt;<br>
&gt;&gt; Tibor<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sun, Dec 23, 2012 at 12:44 PM, Ton Roosendaal &lt;<a href="mailto:ton@blender.org">ton@blender.org</a>&gt;<br>
&gt;wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Blender doesn&#39;t ever change anything in your environment.<br>
&gt;&gt;&gt; First your desktop environment handles events, and then Blender gets<br>
&gt;it<br>
&gt;&gt;&gt; (if it gets passed on even).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That&#39;s standard behaviour for any application, a reason why window<br>
&gt;&gt;&gt; managers have to be careful with adding shortcut conventions.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -Ton-<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;------------------------------------------------------------------------<br>
&gt;&gt;&gt; Ton Roosendaal  Blender Foundation   <a href="mailto:ton@blender.org">ton@blender.org</a><br>
&gt;<a href="http://www.blender.org" target="_blank">www.blender.org</a><br>
&gt;&gt;&gt; Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The<br>
&gt;Netherlands<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 19 Dec, 2012, at 16:04, Jason van Gumster wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Tibor Futo &lt;<a href="mailto:tiborfuto@gmail.com">tiborfuto@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;&gt; But please note my advice: if the Blender developers create a<br>
&gt;mouse/key<br>
&gt;&gt;&gt; &gt;&gt; hook that processes Alt-Click and does not allow it to propagate<br>
&gt;to<br>
&gt;&gt;&gt; the OS,<br>
&gt;&gt;&gt; &gt;&gt; then this discussion does not need more attention.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I could be wrong, but I don&#39;t think it works that way. In fact,<br>
&gt;it&#39;s the<br>
&gt;&gt;&gt; &gt; reverse. AFAIK, the Alt key is intercepted by the window manager<br>
&gt;before<br>
&gt;&gt;&gt; it even<br>
&gt;&gt;&gt; &gt; makes it to Blender. Plenty of other applications run into Alt key<br>
&gt;&gt;&gt; collisions<br>
&gt;&gt;&gt; &gt; as well (hence the reason for the option to switch to Super in a<br>
&gt;lot of<br>
&gt;&gt;&gt; window<br>
&gt;&gt;&gt; &gt; managers). This isn&#39;t something that can be fixed from Blender&#39;s<br>
&gt;end<br>
&gt;&gt;&gt; (and it&#39;s<br>
&gt;&gt;&gt; &gt; not likely to be changed from the end of the various window<br>
&gt;managers<br>
&gt;&gt;&gt; because<br>
&gt;&gt;&gt; &gt; not every keyboard has a Super key).<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Probably the best solution for documentation issues like these is<br>
&gt;a<br>
&gt;&gt;&gt; compromise.<br>
&gt;&gt;&gt; &gt; The general solution exists (e.g. remap the window manager&#39;s Alt<br>
&gt;to<br>
&gt;&gt;&gt; Super), but<br>
&gt;&gt;&gt; &gt; each WM does it a bit differently. As such, we should provide the<br>
&gt;&gt;&gt; generic<br>
&gt;&gt;&gt; &gt; solution and point to the documentation (if easily found) of<br>
&gt;various<br>
&gt;&gt;&gt; window<br>
&gt;&gt;&gt; &gt; managers that show specifically how to do it... perhaps as<br>
&gt;footnotes.<br>
&gt;&gt;&gt; When the<br>
&gt;&gt;&gt; &gt; window manager changes, we need but change the link or remove it.<br>
&gt;For<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt; &gt; window managers that aren&#39;t mentioned, at least the reader will<br>
&gt;know<br>
&gt;&gt;&gt; what to<br>
&gt;&gt;&gt; &gt; look/ask for.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Blender users don&#39;t always use the typical window manager<br>
&gt;options... In<br>
&gt;&gt;&gt; fact,<br>
&gt;&gt;&gt; &gt; it&#39;s been my experience that we avoid the likes of Gnome and KDE<br>
&gt;in<br>
&gt;&gt;&gt; favor of<br>
&gt;&gt;&gt; &gt; XFCE, Openbox, and (for weirdos like me) Enlightenment in an<br>
&gt;effort have<br>
&gt;&gt;&gt; &gt; improved workflow or performance. Documenting each of them in-page<br>
&gt;is<br>
&gt;&gt;&gt; going to<br>
&gt;&gt;&gt; &gt; end up being difficult to maintain and potentially confusing to<br>
&gt;read<br>
&gt;&gt;&gt; (or at<br>
&gt;&gt;&gt; &gt; the very least, the relatively small nuggets of relevant<br>
&gt;information<br>
&gt;&gt;&gt; will be<br>
&gt;&gt;&gt; &gt; accidentally skimmed over).<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Just my 2 cents...<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;  -Jason<br>
&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt; &gt; Bf-docboard mailing list<br>
&gt;&gt;&gt; &gt; <a href="mailto:Bf-docboard@blender.org">Bf-docboard@blender.org</a><br>
&gt;&gt;&gt; &gt; <a href="http://lists.blender.org/mailman/listinfo/bf-docboard" target="_blank">http://lists.blender.org/mailman/listinfo/bf-docboard</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Bf-docboard mailing list<br>
&gt;&gt;&gt; <a href="mailto:Bf-docboard@blender.org">Bf-docboard@blender.org</a><br>
&gt;&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-docboard" target="_blank">http://lists.blender.org/mailman/listinfo/bf-docboard</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt;------------------------------------------------------------------------<br>
<div class="im">&gt;<br>
&gt;_______________________________________________<br>
&gt;Bf-docboard mailing list<br>
&gt;<a href="mailto:Bf-docboard@blender.org">Bf-docboard@blender.org</a><br>
&gt;<a href="http://lists.blender.org/mailman/listinfo/bf-docboard" target="_blank">http://lists.blender.org/mailman/listinfo/bf-docboard</a><br>
<br>
</div>FWIW, the same thing happens in MacOS on the function keys. This is less of an issue in Windows because it&#39;s window manager equivalent doesn&#39;t even offer the same &quot;drag a window form some place other than the header&quot; that Alt+LMB is often bound to in Linux window managers. And if it did, it would be bound to the Super key because that was Microsoft&#39;s creation. Many Linux users (though fewer now) don&#39;t have Super keys on their keyboards (hence the reason why so many window managers have defaulted to Alt).<br>

<br>
Discussions of design philosophy aside, I don&#39;t think that the mechanism you describe in Windows exists in other systems. And if it did, I personally would not be in favor of Blender superseding my window manager&#39;s behavior.<br>

<div class="HOEnZb"><div class="h5"><br>
  -Jason<br>
_______________________________________________<br>
Bf-docboard mailing list<br>
<a href="mailto:Bf-docboard@blender.org">Bf-docboard@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-docboard" target="_blank">http://lists.blender.org/mailman/listinfo/bf-docboard</a><br>
</div></div></blockquote></div><br></div>