FarNet — .NET Far API and .NET module manager

Анонсы новых плагинов. Обсуждение плагинов ведется ниже.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

Latest post of the previous page:

http://code.google.com/p/farnet/

= 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.10 =

ACTION GUID

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.

PANEL KEY PROCESSING

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.

MINOR CHANGES

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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.12 =

MASSIVE REVISION OF EDITOR AND EDITOR LINES
(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 PANELS FEATURES
(new in Far API)

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

OTHER CHANGES

Included two more internal .NET assemblies into the FarNet package.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.13 =

Technical build with some changes in the API documentation.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.14 =

Technical build. API is not changed.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.15 =

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

IEditor
-- New method ChangeTitle: changes the title permanently.
This API may be changed or removed depending on Mantis 1334.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.16 =

IEditor
-- 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.
Notes:
-- Reminder: file types are configurable via FarNet configuration UI.
-- You may want to remove or rename this registry key:
HKEY_CURRENT_USER\Software\Far2\Plugins\FarNet\TrimSaving.dll
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.
But:
-- 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:
HKEY_CURRENT_USER\Software\Far2\Plugins\FarNet\!Cache

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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.

IFar
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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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
(Far 2.0.1573: ACTL_GETFARRECT, ACTL_GETCURSORPOS, ACTL_SETCURSORPOS).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.23 =

*) Update-FarNet.ps1 (new script for selective update of FarNet packages)
http://farnet.googlecode.com/svn/trunk/ ... 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.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

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

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.3.24 =

Technical build with no API changes.
Post Reply

Return to “Анонсы новых плагинов”