Cross — крест в редакторе в режиме ScrollLock

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 14337
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 475 times
Contact:

Cross — крест в редакторе в режиме ScrollLock

Post by John Doe »


Code: Select all

-- https://forum.farmanager.com/viewtopic.php?p=107362#p107362
F = far.Flags
OPAQUE = F.ALPHAMASK
color  = Flags:F.FCF_INHERIT_STYLE +F.FCF_BG_INDEX, BackgroundColor:OPAQUE*0.5 + 0

local isScrollLocked
SCROLL = 145
updateScrollState = () ->isScrollLocked = select 2, win.GetKeyState SCROLL
updateScrollState!

Macro
  description:"Cross toggle"
  area:"Common", key:"ScrollLock"
  action:updateScrollState

Event
  description:"Cross on ScrollLock handler"
  group:"EditorEvent"
  action:(id,event) ->
    if event==F.EE_REDRAW and isScrollLocked
      with ei = editor.GetInfo!
        if ei
          for line=.TopScreenLine, math.min .TopScreenLine+.WindowSizeY-1, .TotalLines
            if line==.CurLine
              editor.AddColor id, line, 1, .LeftPos+.WindowSizeX, F.ECF_AUTODELETE, color, 200
            col = (editor.TabToReal id, line, .CurTabPos) or .CurPos
            editor.AddColor id, line, col, col, F.ECF_AUTODELETE +F.ECF_TABMARKCURRENT, color, 200
Активируется при включённом режиме ScrollLock
pepak
Posts: 621
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 17 times
Been thanked: 61 times

Cross — крест в редакторе, рисуется при нажатом скроллоке

Post by pepak »

I am afraid this stopped working with a recent FAR change, presumably those dealing with colors. Would anyone know how to fix it? I found the "cross on ScrollLock" extremely useful. Thanks.
Shmuel
Posts: 7044
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 44 times
Been thanked: 591 times

Cross — крест в редакторе, рисуется при нажатом скроллоке

Post by Shmuel »

Replace lines 10-11 with either
local color={Flags=bit64.bor(F.FCF_FG_4BIT,F.FCF_BG_4BIT),ForegroundColor=0xff000001,BackgroundColor=0xff00000f} local color1={Flags=bit64.bor(F.FCF_FG_4BIT,F.FCF_BG_4BIT),ForegroundColor=0xff000001,BackgroundColor=0xff00000c}
or
local color=0xf1 local color1=0xc1
pepak
Posts: 621
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 17 times
Been thanked: 61 times

Cross — крест в редакторе, рисуется при нажатом скроллоке

Post by pepak »

Perfect! Thank you so much!
User avatar
John Doe
Бюрократ
Posts: 14337
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 475 times
Contact:

Cross — крест в редакторе, рисуется при нажатом скроллоке

Post by John Doe »

Радикально упростил скрипт, используя ECF_AUTODELETE.
https://t.me/FarManager — Telegram чат
Post Reply

Return to “Полезные макросы и скрипты”