Ticket #1474 (closed task: fixed)

Opened 9 years ago

Last modified 9 years ago

TTY layer

Reported by: andrew_b Owned by: andrew_b
Priority: major Milestone: 4.7.0-pre2
Component: mc-tty Version: 4.7.0-pre1
Keywords: Cc:
Blocked By: Blocking:
Branch state: Votes for changeset: committed-master

Description

I propose to isolate screen and keyboard functions into TTY layer as much as possible. MC core should not use terminal library (S-Lang and NCurses) functions directly but should use TTY wrappers.

At this moment, most of this work is done in HACK_tty branch.

Please review.

Change History

comment:1 Changed 9 years ago by andrew_b

  • Owner set to andrew_b
  • Status changed from new to accepted

comment:2 Changed 9 years ago by slavazanko

changeset:38e53588ccedabb24c3b7b788524f34f5a570657

Move function src/maic.c:setup_sigwinch() into src/tty/tty.c:tty_setup_signal_sigwinch()
Also renamed function src/layout.c:flag_winch() to src/layout.c:layout_sigwinch_cb() for more sence.

comment:3 Changed 9 years ago by andrew_b

  • Blocking 74, 1414 added
  • severity changed from no branch to on review

comment:4 Changed 9 years ago by andrew_b

  • Blocking 1497 added

(In #1497) Replying to andrew_b:

Please try HACK_tty branch.

Doesn't work. :(

This bug will be fixed in HACK_tty branch (#1474).

comment:5 Changed 9 years ago by andrew_b

  • Blocking 1498 added

(In #1498) Confirmed with slang-2.1.3. This bug is S-Lang related, not NCurses.

Currently, during initalization S-Lang limits the scren size. Look at SLtt_get_screen_size():

   if ((r <= 0) || (r > SLTT_MAX_SCREEN_ROWS)) r = 24;
   if ((c <= 0) || (c > SLTT_MAX_SCREEN_COLS)) c = 80;
   SLtt_Screen_Rows = r;
   SLtt_Screen_Cols = c;

where r and c are the actual screen sizes. But

# define SLTT_MAX_SCREEN_COLS 512 
# define SLTT_MAX_SCREEN_ROWS 512 

comment:6 Changed 9 years ago by angel_il

  • Votes for changeset set to angel_il

comment:7 Changed 9 years ago by slavazanko

  • Votes for changeset changed from angel_il to angel_il slavazanko
  • severity changed from on review to approved

comment:8 Changed 9 years ago by andrew_b

  • Status changed from accepted to testing
  • Votes for changeset changed from angel_il slavazanko to commited-master
  • Resolution set to fixed
  • Blocking 74, 1414, 1497, 1498 removed
  • severity changed from approved to merged

Merged to master.

git log --pretty=oneline 3eeeb35..e1cbec7

comment:9 Changed 9 years ago by andrew_b

  • Status changed from testing to closed

comment:10 Changed 9 years ago by angel_il

  • Status changed from closed to reopened
  • Resolution fixed deleted

comment:11 Changed 9 years ago by angel_il

<slavazanko/h> must be

102 #ifdef HAVE_SLANG_SLANG_H
103 #include <slang/slang.h>
104 #else
105 #include <slang.h>
106 #endif

de-facto

102 #ifdef HAVE_SLANG_SLANG_H
103 #include <slang/slang.h>
104 #else
105 #include <slang/slang.h>
106 #endif

need fix typo in include

comment:12 Changed 9 years ago by angel_il

branch: 1474_fix_include (parent:master)
changeset: 9e0316c777a04e1cb39cdd46b8edbd0d61136e08

comment:13 Changed 9 years ago by slavazanko

  • Votes for changeset changed from commited-master to slavzanko
  • severity changed from merged to on review

comment:14 Changed 9 years ago by slyfox

  • Votes for changeset changed from slavzanko to slavzanko slyfox
  • severity changed from on review to approved

comment:15 Changed 9 years ago by angel_il

  • Status changed from reopened to closed
  • Votes for changeset changed from slavzanko slyfox to commited-master
  • Resolution set to fixed
  • severity changed from approved to merged
Note: See TracTickets for help on using tickets.