Page 9 of 18

Re: FarNet - .NET Far API and .NET module manager

Posted: Wed 03 Mar, 2010 11:50
by NightRoman

Latest post of the previous page:

= 4.3.9 =

Fixed a few configuration bugs of FarNet 4.3.8.

Disk menu: show just tool names with no .NET prefix and hotkeys.

Tutorial-Host sample module: used Options=AllAreas, for demo and testing sake.

Re: FarNet - .NET Far API and .NET module manager

Posted: Sat 06 Mar, 2010 15:21
by NightRoman

= 4.3.10 =


Guid attribute is now mandatory for module action classes (tools, commands,
editors, filers). Generate it, do not copy\paste it from some sample code :).

At the same time Guid attribute is not required for module host classes. It is
not an error to set it, it is just not used by FarNet. Each module host is well
identified by its module name, because module names have to be unique.


Preprocessing of panel keys is now done by the new event IPanel.KeyPressing.
As a result:
1) Event IPanel.KeyPressed is not called on this, KeyPressing is called;
2) Flag PanelKeyEventArgs.Preprocess was removed, it is not needed now.

Also, some misterious and\or annoying pseudo key events are filtered out
internally and panel key events are not called (e.g. KEY_NONE, KEY_IDLE,
KEY_KILLFOCUS, KEY_GOTFOCUS - some of them are not documented in Far API).

This change is breaking for panels using PanelKeyEventArgs.Preprocess. But it
makes processing of IPanel.KeyPressed simpler because in most cases panels are
not interested in preprocessing events. Thus, panels do not have to filter out
noise of preprocessing keys and pseudo keys.

Just in case, [e]Bu$ter's module "Windows7.Libraries" should work fine.


FarNet module tool config: minor issue: if a new version of an installed module
tool adds new menu areas then items may be not shown there by default if a user
had already modified the tool configuration. Fixed for new modules to come. Old
module tool settings may be updated manually when needed.

IFar: removed method ShowPanelMenu(), it is unlikely ever needed for modules.

Internal: impoved management of editor opening events.

Re: FarNet - .NET Far API and .NET module manager

Posted: Mon 15 Mar, 2010 17:10
by NightRoman

= 4.3.11 =

Changes are mostly internal, important for the future. They are not breaking if
modules do not use something not recommended.

FarNet host configuration: some settings in "Far.exe.config" are replaced with
environment variables, see Readme.txt for details. But normally you should use
default settings.

New DLLs are included into the FarNet package: FarNet.Works.*.dll. They contain
pure .NET host independent internal tools. They should not be used by modules
directly. They are used only by the FarNet host (actual Far plugin). In the
future they will be used by other FarNet hosts.

Some public API was extended. This should not affect modules and they should
not use it (marked "for internal use").

Related internal change: renamed namespace FarNet.Support into FarNet.Works; it
contains internal FarNet stuff that should not be used by modules.

Re: FarNet - .NET Far API and .NET module manager

Posted: Sun 28 Mar, 2010 15:46
by NightRoman

= 4.3.12 =

(breaking for modules working with editors)

As it was mentioned at the forum some time ago, API of editor and edit lines is
revised in this version. There are many changes, they are not listed in here,
everything is explained in the API documentation. Just two words: basic stuff
and principles are the same. But some "too smart" and practically not really
useful features were cut off. Some names were changed to be more informative.

Also, key and mouse events are split up: OnKey -> KeyDown, KeyUp; OnMouse ->
MouseClick, MouseDoubleClick, MouseMove, MouseWheel. Thus, now in many cases
handlers do not have to check event kinds.

(new in Far API)

*) New property DirectoriesFirst (bool) ~ new sorting mode
*) New PanelSortMode values: StreamCount, StreamSize, FullName


Included two more internal .NET assemblies into the FarNet package.

Re: FarNet - .NET Far API and .NET module manager

Posted: Tue 06 Apr, 2010 13:55
by NightRoman

= 4.3.13 =

Technical build with some changes in the API documentation.

Re: FarNet - .NET Far API and .NET module manager

Posted: Sun 11 Apr, 2010 14:53
by NightRoman

= 4.3.14 =

Technical build. API is not changed.

Re: FarNet - .NET Far API and .NET module manager

Posted: Wed 14 Apr, 2010 17:30
by NightRoman

= 4.3.15 =

-- New property IEnumerable<IControl> Controls
-- Breaking change: GetControl is replaced with the indexer [int]

-- New method ChangeTitle: changes the title permanently.
This API may be changed or removed depending on Mantis 1334.

Re: FarNet - .NET Far API and .NET module manager

Posted: Wed 21 Apr, 2010 13:04
by NightRoman

= 4.3.16 =

-- Removed the workaround method ChangeTitle because Mantis 1334 was recently
resolved: the property .Title now changes the title permanently, null or empty
string restores the original title.

Module EditorKit
The module TrimSaving is replaced with a new module EditorKit. It contains:
-- TrimSaving (old) - trims line ends on saving;
-- ExpandTabsAll (new) - sets tabs expansion mode to 'All' for some files.
-- Reminder: file types are configurable via FarNet configuration UI.
-- You may want to remove or rename this registry key:

Re: FarNet - .NET Far API and .NET module manager

Posted: Mon 26 Apr, 2010 11:29
by NightRoman

= 4.3.17 =

Tracing (configured via Far.exe.config or dynamically)
-- Internal FarNet tracing uses newer TraceSource tools instead of older Trace.
-- "Far.exe.config" enables the source "FarNet" with the switch "FarNet.Trace".
The default switch level is "Warning". Do not forget to update the config file
(or merge with your changes) to make sure that new tracing works.
-- The trace listener writing to the file "C:\Far.exe.trace.log" is disabled in
the distributed config file. Practice shows that it is useful only in special
cases. In that cases this or other listeners should be added and configured.
Alternatively, tracing can be watched by the Sysinternals utility DbgView.exe
or in the attached debugger if any is available.

Re: FarNet - .NET Far API and .NET module manager

Posted: Fri 14 May, 2010 11:03
by NightRoman

= 4.3.18 =

New module cache approach
-- It is fine to use several Far or FarNet locations with different sets of
modules or even different versions. Cache conflicts are resolved now.
-- Theoretically new way of caching should work slightly faster because some
housekeeping procedures are not performed.
-- There is no automatic cache cleaning now. The cache may contain entries not
used any more. It is recommended to remove the cache manually periodically, in
particular after removing\moving\renaming modules and Far\FarNet locations:

Renamed confusing names
IFar.GetUserScreen -> ShowUserScreen
IFar.SetUserScreen -> SaveUserScreen
These methods are "low level" and it is very unlikely that many modules use
them. Still, if a module calls them then this change is breaking, indeed.

Re: FarNet - .NET Far API and .NET module manager

Posted: Sun 16 May, 2010 13:22
by NightRoman

= 4.3.19 =

Internal changes dealing with the user screen operations. Automatic calls of
SaveUserScreen before showing Far UI after ShowUserScreen and console writing.
NOTE: direct use of these methods and console writing is not recommended.

Renamed WriteText and WritePalette to DrawColor and DrawPalette in order to
distinguish them from low level Write* methods. In contrast to Write* family
Draw* methods are for normal use, for example for custom dialog controls.

Re: FarNet - .NET Far API and .NET module manager

Posted: Sun 23 May, 2010 15:39
by NightRoman

= 4.3.20 =

NOTE: this time update manually (not by Update-PowerShellFar.ps1) because the
FarNet package has slightly changed.

*) Renamed documentation
Renamed PowerShellFar.chm to FarNetAccord.chm. It includes PowerShellFar API
but it is about FarNet in the first place, so the new name is less confusing.

*) IButton
-- fix: .Text should return the real text, i.e. without brackets.

*) Module configuration
-- fixes in editor and filer module config tools.

*) Misc
-- fix of console colors of error messages on exit.

Re: FarNet - .NET Far API and .NET module manager

Posted: Wed 26 May, 2010 16:29
by NightRoman

= 4.3.21 =

NOTE: update manually (not by Update-PowerShellFar.ps1).

*) IFar
-- New property RawUI.

*) IRawUI
-- Low level UI operator; properties so far: WindowCursor, WindowPlace

Re: FarNet - .NET Far API and .NET module manager

Posted: Tue 01 Jun, 2010 11:33
by NightRoman

= 4.3.22 =

(Update by Update-PowerShellFar.ps1 should work fine)

*) Raw UI methods moved to a separate interface
-- Renamed recently added property IFar.RawUI to UI.
-- Added a few UI members to hide direct calls to System.Console.
-- Moved raw UI members from IFar to IFar.UI: DrawColor, DrawPalette,
GetPaletteBackground, GetPaletteForeground, MainWindowHandle, RestoreScreen,
SaveScreen, SaveUserScreen, ShowUserScreen, SetProgressState, SetProgressValue,
Redraw, and Write.

Re: FarNet — .NET Far API and .NET module manager

Posted: Sun 13 Jun, 2010 17:31
by NightRoman

= 4.3.23 =

*) Update-FarNet.ps1 (new script for selective update of FarNet packages) ... FarNet.ps1

Its goal is selective update of various FarNet packages. In particular it
updates FarNet. You may skip any packages.

You can download the script directly from the above URL (do not forget to
unblock the script) or take it together with the PowerShellFar package.

*) Raw UI
Minor changes and fixes.

Re: FarNet — .NET Far API and .NET module manager

Posted: Mon 19 Jul, 2010 19:08
by NightRoman

= 4.3.24 =

Technical build with no API changes.