Ticket #4175 (new enhancement)

Opened 9 months ago

Last modified 9 months ago

[patch] CenterView action

Reported by: psprint Owned by:
Priority: major Milestone: Future Releases
Component: mcedit Version: master
Keywords: movement Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

Hi,
the patch adds CenterView? action to MCEdit which positions the display making the current line at center. It doesn't move cursor. See also this discussion.

Attachments

CenterView.patch (3.7 KB) - added by psprint 9 months ago.
CenterView_v2.patch (3.7 KB) - added by psprint 9 months ago.
0001-My-squashed-CenterLine-commits.patch (2.5 KB) - added by smartmic 9 months ago.
CenterView_v3.patch (4.1 KB) - added by psprint 9 months ago.
alt-c instead of ctrl-alt-c

Change History

Changed 9 months ago by psprint

comment:1 Changed 9 months ago by psprint

I think that ticket system is more appropriate place for this question:

I would like to further extend the action in a way described on the list. However I see that the timer support that I've noticed (mc_timer_t) has been removed recently. Can I ask why?

comment:2 follow-up: ↓ 4 Changed 9 months ago by psprint

It turns out that mc_timer_t wasn't a timer, i.e.: it wasn't a timeout callback mechanism. Is there something like this in the source base? A mechanism, that would allow to:

– register a callback function to be invoked after specified pause,
– the callback should be invoked in the main thread, in idle time.

comment:3 Changed 9 months ago by ossi

for all i know, there isn't, and given the current architecture, it would be Hard (TM) to add it. but there is a long-standing todo item to migrate mc to the glib main loop, which would make glib timers available as well (obviously).

comment:4 in reply to: ↑ 2 Changed 9 months ago by andrew_b

About patch. You want to read the HACKING again, don't you? I'm really tied talk to you about simple things.

Replying to psprint:

It turns out that mc_timer_t wasn't a timer,

What timer you're talking about?

Last edited 9 months ago by andrew_b (previous) (diff)

comment:5 Changed 9 months ago by psprint

Sorry about the style. I've had a correct patch prepared, however after I updated my script to automatically append .patch extension I didn't update the name and missed the new file.

I've left the commenting style as it is in other functions in edit.c.

Changed 9 months ago by psprint

Changed 9 months ago by smartmic

comment:6 Changed 9 months ago by smartmic

As written in the mc gnome mailing list, I made an enhancement to the line centering functionality:

There is major difference in my patch however — and this is important for
my personal text editing experience: I mostly feel the need to center
the current line when I am already at the bottom of the buffer, eg.
editing long text or code and the cursor line is both on the bottom of
the window and the buffer. Therefore I made a hack to redraw the window
when I am in the bottom half of both window and buffer.

The attached patch 0001-My-squashed-CenterLine-commits.patch is related to this ticket.

— Martin

comment:7 Changed 9 months ago by psprint

The v3 patch:

  • uses alt-c instead of ctrl-alt-c for the action, as the ctrl-alt-c shortcut is better used by WindowCascade action (together with WindowTile ↔ ctrl-alt-t),
  • fixes mc.default.keymap – the binding was added in wrong section ([panel] instead of [editor]).

Replying to andrew_b:: I was talking about mc_timer_t judging from the name that it's a callback after timeout invocation mechanism, but I now see that it was just a timestamp obtaining utility.

Last edited 9 months ago by psprint (previous) (diff)

Changed 9 months ago by psprint

alt-c instead of ctrl-alt-c

Note: See TracTickets for help on using tickets.