tag:blogger.com,1999:blog-59136477817494769312024-03-08T01:38:47.732-08:00EzhNotesAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.comBlogger40125tag:blogger.com,1999:blog-5913647781749476931.post-80066977533306179612009-10-30T12:08:00.000-07:002009-10-30T12:09:31.054-07:00moving to wordpressMoving to new location <a href="http://ezhnotes.wordpress.com/">on wordpress<br /></a>. They seems to provide much better functionality for editing and statisticsAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-82144752414787705132009-10-04T14:12:00.001-07:002009-10-04T14:12:46.262-07:00convert jscript to htmlVery simple yet good jscript to html <a href="http://formatmysourcecode.blogspot.com/">code formatting tool</a>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-26491022700187343582009-10-04T11:41:00.000-07:002009-10-04T11:45:58.758-07:00disable venkman output to consoleVenkman produces a lot of output to console which makes it hard to see the output from your extensions. To disable output from venkman, you can update venkman_utils.js in venkman.jar by replacing dd function with an empty function dd = function (){};AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-40494789571091682442009-10-04T10:47:00.000-07:002009-10-04T12:26:44.748-07:00debug output from firefox extensionStart firefox with -console flag<br /><br />Call dumpln function from your code (copy of code from venkman)<br /><br /><pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code>var dumpln;<br /><br />if (typeof document == "undefined") /* in xpcshell */<br />{<br /> dumpln = print;<br />}<br />else<br />{<br /> if (typeof dump == "function") {<br /> dumpln = function (str) {dump (str + "\n");}<br /> } else if (jsenv.HAS_RHINO) {<br /> dumpln = function (str) {<br /> var out = java.lang.System.out;<br /> out.println(str); out.flush();<br /> }<br /> }<br /> else {<br /> dumpln = function () {} /* no suitable function */<br /> }<br />}<br /><br /></code></pre>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-51469816797421071622009-09-08T17:32:00.000-07:002009-09-08T17:33:35.662-07:00Firefox vs Chrome #2Made another attempt to use Chrome 2.x and 3.x. Layout issues seems to be fixed. However there are still problems like<br />- Navigation back from 404 does not always work (never hit such problems in FF)<br />- Adding RSS to google reader is not supported<br /><br />Back to FF.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-82429996994800220412009-08-13T10:02:00.000-07:002009-08-13T10:04:03.013-07:00Windows7. Disable hiding windows during Alt-TabWin7 alt-tab hides windows after few seconds timeout. To disable this behavior uncheck “Enable Aero Peek” in the performance dialog.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-91531683855921136402009-05-02T19:04:00.000-07:002009-05-02T19:09:21.740-07:00FireFox vs ChromeAfter trying Chrome for a week I got back to FireFox. Main problems with Chrome are<br />- Increased battery usage. Battery time decreases ~30% when Chrome is running. Does not happen for FF on the same sites<br />- Chrome renders some sites (like google reader) differently than IE / FF<br />- Address bar shows prompt for visited sites instead of typed sides like FF. <br />- In the default configuration does not allow to subscribe to RSS feeds. Shows XML dump in a windowAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-45121838016110388432009-02-28T18:35:00.000-08:002009-02-28T18:37:21.571-08:00myDock 0.9.1051 is releasedNew version is available on <a href="http://alexezh.googlepages.com">alexezh.googlepages.com</a>. Update includes minor fixes.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-12070302076376127662009-02-22T13:30:00.000-08:002009-02-22T14:32:21.716-08:00Subsclass UserControl in SilverLightBy default Expression creates custom controls derived from UserControls<br /><br />partial class MyControl : UserControl<br />{<br />}<br /><br />In order to derive from a different class you will have to change code in several places<br /><br />Define new base class with required virtual methods. Do not make class abstract<br /><br />public class MyUserControl : UserControl<br />{<br /> public virtual void Foo() {;}<br />}<br /><br />Change MyControl to use MyUserControl<br /><br />partial class MyControl : UserControl<br />{<br /> public override void Foo() {;}<br />}<br /><br />Change XAML for MyControl to use<br /><br /><MyUserControl x:Class="MyControl"><br /></MyUserControl><br /><br />To make Blend happy, add following lines to AssemblyInfo.cs <br /><br />// Make blend happy<br />using System.Windows.Markup;<br />[assembly: XmlnsDefinition("http://schemas.microsoft.com/client/2007", "YourNamespace")]AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-39990968806408009572009-02-15T08:59:00.001-08:002009-02-15T09:14:51.451-08:00Better version of VS windows hiding toolRemembers which windows were shown the last time. Source is available at <a href="http://alexezh.googlepages.com/MyMacros.txt">http://alexezh.googlepages.com/MyMacros.txt</a>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-26106760888050164402009-01-25T14:16:00.001-08:002009-01-25T14:24:51.492-08:00Optimize VS workspace by hiding tool windows<span xmlns=''><p>Simple macro toggles all tool windows<br /></p><div><table border='0' style='border-collapse:collapse; background: #c6d9f1'><colgroup><col style='width:798px'/></colgroup><tbody valign='top'><tr><td style='padding-left: 9px; padding-right: 9px; border-top: solid black 0.5pt; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt'><p style='margin-left: 36pt'><span style='font-family:Arial; font-size:8pt'>Dim showToolWindows As Integer<br /></span></p><p style='margin-left: 36pt'><span style='font-family:Arial; font-size:8pt'>Public Sub MyToggleToolWindows()<br /></span></p><p style='margin-left: 72pt'><span style='font-family:Arial; font-size:8pt'>If (showToolWindows = 1) Then<br /></span></p><p style='margin-left: 108pt'><span style='font-family:Arial; font-size:8pt'>showToolWindows = 0<br /></span></p><p style='margin-left: 72pt'><span style='font-family:Arial; font-size:8pt'>Else<br /></span></p><p style='margin-left: 108pt'><span style='font-family:Arial; font-size:8pt'>showToolWindows = 1<br /></span></p><p style='margin-left: 72pt'><span style='font-family:Arial; font-size:8pt'>End If<br /></span></p><p style='margin-left: 72pt'><span style='font-family:Arial; font-size:8pt'>For Each window As Window In DTE.Windows<br /></span></p><p style='margin-left: 108pt'><span style='font-family:Arial; font-size:8pt'>' Check that this is a tool window and not a document window.<br /></span></p><p style='margin-left: 108pt'><span style='font-family:Arial; font-size:8pt'>If (window.Document Is Nothing) Then<br /></span></p><p style='margin-left: 144pt'><span style='font-family:Arial; font-size:8pt'>' hide window.<br /></span></p><p style='margin-left: 144pt'><span style='font-family:Arial; font-size:8pt'>Try<br /></span></p><p style='margin-left: 180pt'><span style='font-family:Arial; font-size:8pt'>window.Visible = showToolWindows<br /></span></p><p style='margin-left: 144pt'><span style='font-family:Arial; font-size:8pt'>Catch exception As Exception<br /></span></p><p style='margin-left: 144pt'><span style='font-family:Arial; font-size:8pt'>End Try<br /></span></p><p style='margin-left: 108pt'><span style='font-family:Arial; font-size:8pt'>End If<br /></span></p><p style='margin-left: 72pt'><span style='font-family:Arial; font-size:8pt'>Next<br /></span></p><p style='margin-left: 36pt'><span style='font-family:Arial; font-size:8pt'>End Sub<br /></span></p></td></tr></tbody></table></div></span>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-62997487770871594652009-01-11T14:00:00.000-08:002009-01-11T14:03:14.480-08:00SL unmanaged helpers on codeplexI posted updated version of unmanaged helpers for accessing SL object model. With helpers you can write code in C++ which matches C# or jscript. <br /><br />For example here is how to add an event handler to an object<br /><br /> vObj.addEventListener(L"MouseEnter", <br /> CXcpDelegateT(CObject)::create(this, &CObject::OnMouseEnter));<br /><br />Source code is available on http://www.codeplex.com/mydockAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-55215879057535230162009-01-11T13:32:00.000-08:002009-01-11T13:37:28.703-08:00Back to basicsI spent last few month designing new UI for myDock. Test version of UI did not work very well, so I am returning back to original code.<br /><br />On the good side, I mastered a process of hosting SL2.0 including managed code from unmanaged applications. See details on http://www.codeplex.com/mydock<br /><br />1051 version will be available in few daysAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-12533905710917701732008-09-23T10:33:00.000-07:002008-09-23T10:34:10.955-07:00myDock 0.9.1035 is releasedNew version of myDock is available on <a href="http://alexezh.googlepages.com/">http://alexezh.googlepages.com/</a>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-69394901239002572042008-09-20T14:09:00.000-07:002008-09-20T14:14:27.658-07:00Change MSI to run under custom actions under user accountMSI package generated by VS2008 will run custom actions under SYSTEM account. This "feature" was implemented to work around Vista's UAC. <br /><br />There is no way to change this behavior from VS2008, but you can adjust MSI package using ORCA tool (available in SDK).<br /><br />Start ORCA tool, open MSI package, navigate to custom actions. Select action which you would like to run under user account and subtract 0x800 from Type. In my case, value generated by VS2008 is 3090, new value should be 1042. <br /><br />Save MSI back. DoneAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com5tag:blogger.com,1999:blog-5913647781749476931.post-78053035680465426922008-09-13T14:06:00.000-07:002008-09-13T14:07:47.110-07:00Problem with 0.9.1031 and Silverlight1.00.9.1031 crashes when running with SL1.0. SL2.0 Beta2 works fine. If you run into this problem, you can either install SL1.0 or use MyDock0.9.1027AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-57031609967469916232008-09-09T09:26:00.001-07:002008-09-09T09:27:18.754-07:00myDock 0.9.1031New version of myDock is available on <a href=http://alexezh.googlepages.com>http://alexezh.googlepages.com</a>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com1tag:blogger.com,1999:blog-5913647781749476931.post-88955059285636704662008-09-01T23:04:00.000-07:002008-09-01T23:07:50.129-07:00SL path mini language to geometry converterAdded utility to <a href=http://alexezh.googlepages.com/developlemtinsilverlight>http://alexezh.googlepages.com/developlemtinsilverlight</a> to convert Silverlight path mini language to geometryAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-58595106750571795692008-08-31T09:55:00.001-07:002008-08-31T09:55:45.324-07:00pathgeometry vs mini languagehttp://www.farseergames.com/blog/post/Workaround-for-Accessing-PathGeometry-Data-in-Code.aspxAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-69148696017220926712008-08-24T15:16:00.000-07:002008-08-24T15:18:27.940-07:00using selectSingleNode for XAMLWhen using selectSingleNode to search XAML, it is required to set SelectionNamespace property with fake prefix. Here is an example<br /><br /> spDoc2->setProperty(CComBSTR(L"SelectionLanguage"), CComVariant(L"XPath"));<br /> spDoc2->setProperty(CComBSTR(L"SelectionNamespaces"), <br /> CComVariant("xmlns:d=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\""));<br /> <br /> m_spDoc->selectSingleNode(CComBSTR(L"./d:Canvas"), &m_spRoot);AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-32983434711565770642008-07-24T22:02:00.000-07:002008-07-24T22:03:39.807-07:00MyDock has movedMyDock download has moved from codeplex to <a href="http://alexezh.googlepages.com">http://alexezh.googlepages.com</a>AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-62741599580086063312008-07-22T13:17:00.001-07:002008-07-22T13:17:48.982-07:00MyDock 0.9.1027New Features<br /><br /> * Added multimonitor support (first version, no configuration UI yet)<br /> o To switch to the second monitor, add <Monitor>1</Monitor> to dock.xml and restart the dock.<br /><br /><br />Fixes<br /><br /> * Fixed refresh problem after screen resolution change<br /> * Fixed memory leak (time will tell if this is the last one)<br /> * Added delay for showing dock when new window is activated<br /> * Fixed problem with context menus showing behind dock<br /> * Updated visual for window manager dock<br /> * Add hover indicator to tray menuAlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-3443919918515252812008-07-21T09:48:00.000-07:002008-07-21T09:51:29.985-07:00WebGadgetsAfter playing with Google desktop gadgets for a while, I decided to implement support for Web gadgets first. Much easier to do plus covers 90% of interesting functionality. <br /><br />Yesterday got the first result; google clock is running on dashboard. Well, almost running, gadget size is wrong.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-67896149710727415262008-07-15T20:11:00.000-07:002008-07-15T20:14:52.567-07:00MyDock 0.9.1025Lot's of updates and bug fixes. <br /><br />Lately I am spending most of the time on implementing OSX style dashboard and support for google gadgets. Google or Vista sidebars take too much space on screen and provide constant distraction. Old style windows active desktop provides similar functionality, but it requires hiding all apps (which seems like a destructive action).<br /><br />Last week mydock dashboard displayed the first picture. To be continued.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0tag:blogger.com,1999:blog-5913647781749476931.post-62386972252203562142008-05-11T19:43:00.001-07:002008-05-11T19:44:52.961-07:00MyDock 0.9.1009Just posted the latest version of mydock to www.codeplex.com/mydock. The main new feature is limited support for system tray.AlexEzhhttp://www.blogger.com/profile/06592696265509440071noreply@blogger.com0