Commit Graph

88 Commits

Author SHA1 Message Date
Kovid Goyal
6d8b59cb61 Track window and application titles in C
Allows removing of the last bit fo python from the render loop
2017-09-15 10:45:24 +05:30
Kovid Goyal
e6df82b255 Move the char grid render call into C 2017-09-15 10:45:24 +05:30
Kovid Goyal
943a1575ad Move render call for tab bar to C code 2017-09-15 10:45:24 +05:30
Kovid Goyal
c1cb4df9d2 Avoid unnecessary use of timers for resize_pty 2017-09-15 10:45:23 +05:30
Kovid Goyal
44f456089b Migrate the cell program 2017-09-15 10:45:22 +05:30
Kovid Goyal
2fff6e1cb9 Directly rende r borders instead of going through the active tab 2017-09-15 10:45:22 +05:30
Kovid Goyal
084f31292b ... 2017-09-15 10:45:21 +05:30
Kovid Goyal
2a24199c90 Migrate the borders program 2017-09-15 10:45:21 +05:30
Kovid Goyal
5ceec08d32 Use buffer mapping for the tabbar selbuf 2017-09-15 10:45:18 +05:30
Kovid Goyal
b8acb9b133 Pass cell data to GPU directly
Converts update_cell_range() to a simple memcpy(). The GPU has to do
roughly the same amount of work (there is one extra attribute, and one
extra calculation for reverse video).
2017-09-15 10:45:16 +05:30
Kovid Goyal
51231b7eb2 Migrate tabs to also use the new buffer mapping API 2017-09-15 10:45:16 +05:30
Kovid Goyal
f655112bda Directly copy the sprite positions into the GPU buffer 2017-09-15 10:45:15 +05:30
Kovid Goyal
fe7f3233ba Fix initial tab bar visibility when starting a session with multiple tabs 2017-09-15 10:45:14 +05:30
Kovid Goyal
d5d812ccfe Fix for session with empty enabled_layouts 2017-09-15 10:45:13 +05:30
Kovid Goyal
5972a37550 Work on centralising lifecycle management in the child monitor 2017-09-15 10:45:12 +05:30
Kovid Goyal
079054f798 Fix tab bar rendering 2017-09-15 10:45:12 +05:30
Kovid Goyal
914f7ddbd5 Fix zero division 2017-09-15 10:45:12 +05:30
Kovid Goyal
234bb07b67 Initial attempt at moving all threading code into a single file 2017-09-15 10:45:10 +05:30
Kovid Goyal
0365828a5b Remove all python threading related code 2017-09-15 10:45:10 +05:30
Kovid Goyal
f44d56b116 Ensure GIL is not released when rendering sprites 2017-09-15 10:45:10 +05:30
Kovid Goyal
6127d2d122 Make the sprite map globally accessible from C code as well as python code
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
4c0cf93562 Fix tab bar not rendering because of selection handling changes 2017-09-15 10:45:10 +05:30
Kovid Goyal
0fae3e1b10 ... 2017-09-15 10:45:09 +05:30
Kovid Goyal
a56e1296fd Refactor the tab bar into its own class
Also ensure that Screen APIs are only used in the child thread in the
tab bar
2017-09-15 10:45:09 +05:30
Kovid Goyal
1d888c9194 Centralise color management into ColorProfile 2017-09-15 10:45:08 +05:30
Kovid Goyal
b50eaa9cbb ColorProfile should belong to Screen 2017-09-15 10:45:08 +05:30
Kovid Goyal
6176607ac4 Initial stab at switching to poll() instead of select()
Also avoid python code in the child monitoring inner loop
2017-09-15 10:45:07 +05:30
Kovid Goyal
1c56de5605 Change default usage mode to GL_STREAM_DRAW 2017-08-22 18:10:28 +05:30
Kovid Goyal
03e0b9de04 Use vertex buffers instead of texture buffers
Apparently, integer samplers for textFetch() are broken on some macOS
Intel drivers. Fixes #101
2017-08-22 12:08:35 +05:30
Kovid Goyal
9e512ff58a Ensure queue_action is only called after the Tab object is fully initialized
Fix #103
2017-08-04 07:52:25 +05:30
Kovid Goyal
270dde7020 Use erase in line instead as it is more efficient 2017-07-13 19:32:18 +05:30
Kovid Goyal
11de18e737 Fix #91 2017-07-13 19:24:26 +05:30
Kovid Goyal
a4715de5dc Fix tab bar borders not being blanked 2017-02-09 17:34:56 +05:30
Kovid Goyal
cbf0959fbf Fix tab bar not being rendered after first new tab is created 2017-02-09 17:02:02 +05:30
Kovid Goyal
59d5a3ad9b Have the layouts calculate the blank rectangles
Fixes occasional flashing at the edges of windows in the Tall layout
2017-01-18 13:55:51 +05:30
Kovid Goyal
521fe39e4d Fix starting up with multiple windows causing the active window border to be drawn around the wrong window 2017-01-12 22:36:46 +05:30
Kovid Goyal
9a7b23fd23 Implement viewing of the scrollback buffer in a separate window 2016-12-10 12:59:20 +05:30
Kovid Goyal
fc046d915d Shortcuts to move the active tab in the tab bar 2016-12-08 13:02:58 +05:30
Kovid Goyal
9d75d91f47 Shortcut to move window to top 2016-12-08 12:34:40 +05:30
Kovid Goyal
32d73cfaf0 Shortcuts for moving windows 2016-12-08 12:23:12 +05:30
Kovid Goyal
b8d206cc67 ... 2016-12-08 10:06:13 +05:30
Kovid Goyal
dfb0ea4cdf Allow clicking on tabs to change the current tab 2016-12-07 17:50:49 +05:30
Kovid Goyal
df412900e7 Improve rendering of tab titles 2016-12-07 15:07:26 +05:30
Kovid Goyal
249ec0cc06 Shortcuts to select specific windows 2016-12-07 11:35:26 +05:30
Kovid Goyal
c205604294 Shortcuts to open and close tabs 2016-12-07 10:52:57 +05:30
Kovid Goyal
c387a7897a Update border layout when switching tabs 2016-12-07 10:31:20 +05:30
Kovid Goyal
63359c358c __repr__ for windows and tabs 2016-12-07 10:27:09 +05:30
Kovid Goyal
f18a85db69 Shortcuts to change active tab 2016-12-07 10:19:17 +05:30
Kovid Goyal
1b67195b7c Allow naming of session tabs 2016-12-07 09:39:43 +05:30
Kovid Goyal
aca13ba05e Handle removal of tabs 2016-12-07 09:23:08 +05:30