Kovid Goyal
1cb15dedac
Simplify the event loop code
...
Also reduce input latency by ignoring repaint_delay when
there is actual pending input.
Gets rid of request_tick_callback(). Now empty events
result in the tick callback being called so there is only a
single mechanism for waking up the main loop and getting
the tick callback called.
2019-07-18 15:51:54 +05:30
Kovid Goyal
5521d6b623
Reset the sigprocmask and signal handlers when launching child processes. Fixes #1806
2019-07-18 09:26:31 +05:30
Kovid Goyal
f5cf6c1dcb
Also make the loop flags volatile
2019-07-17 19:55:19 +05:30
Kovid Goyal
89307727e7
Use atomic variables for main loop flags
2019-07-17 19:45:52 +05:30
Kovid Goyal
c30c21b250
Dont sort on mtime
...
Files are built in order by size anyway and mtime sort makes link order
mtime dependent which breaks reproducible builds on openSUSE as they
modify mtimes randomnly. See #1804
2019-07-16 20:10:14 +05:30
Kovid Goyal
b6fb087d7e
sub-sort by filename in find_c_files()
2019-07-16 16:46:48 +05:30
Kovid Goyal
97c2b7c1fe
Fix #1804
2019-07-16 07:22:31 +05:30
Kovid Goyal
81506640c8
Run instructions for empty event test
2019-07-15 21:31:31 +05:30
Kovid Goyal
8244f7cd58
Linux: Only process global state when something interesting happens
...
This matches behavior on macOS. Had initially set the code to process
on every loop tick in an attmept to workaround the issue of the event
loop freezing on X11 until an X event is delivered. However, in light
of #1782 that workaround was incorrect anyway. Better to have similar
behavior across platforms. This also has the advantage of reducing CPU
consumption.
Also add a simple program to test event loop wakeups.
2019-07-15 21:30:00 +05:30
Kovid Goyal
63573d6e26
DRYer
2019-07-15 18:23:17 +05:30
Kovid Goyal
9368f7f670
When using :opt:strip_trailing_spaces do not remove empty lines
...
Fixes #1802
2019-07-15 17:17:40 +05:30
Kovid Goyal
b7a11035d5
Merge branch 'master' of https://github.com/sterpe/kitty
2019-07-15 09:44:20 +05:30
Steven Richard Terpe
2e1b5e2fa7
Update docs on kitty completion for bash v3.2, etc
...
See kovidgoyal/kitty#1520
2019-07-14 13:59:03 -07:00
Kovid Goyal
8e5cbafe63
Fix kitty @focus-tab not reporting errors
...
Fixes #1799
2019-07-14 10:08:44 +05:30
Kovid Goyal
eb006a6688
Indicate if set_active_tab() worked or not
2019-07-14 10:02:33 +05:30
Kovid Goyal
40b9049deb
Move the kitty OpenGL API into its own compilation unit
2019-07-12 15:29:48 +05:30
Kovid Goyal
64ffca2d0a
Merge branch 'reword_changelog_entry' of https://github.com/Luflosi/kitty
2019-07-12 04:48:04 +05:30
Luflosi
1f4b6d4e9a
Update a changelog entry to be more descriptive
...
I think it is not clear what this entry actually means without the additional explanation.
2019-07-11 19:30:19 +02:00
Kovid Goyal
eb30ba7722
Cocoa: Fix code to shutdown display link for inactive monitors
2019-07-11 22:34:28 +05:30
Kovid Goyal
3e0f4d36bc
DRYer
2019-07-11 21:48:45 +05:30
Kovid Goyal
1fb118edee
Merge branch 'relative_path_compile' of https://github.com/Luflosi/kitty
2019-07-11 21:45:22 +05:30
Luflosi
ca39634880
Use relative paths when compiling
2019-07-11 16:51:50 +02:00
Kovid Goyal
f8418d68a6
Fully drain the wakeupfd
2019-07-09 18:49:46 +05:30
Kovid Goyal
c0000fb24e
Should use an unsigned int for eventfd
2019-07-09 18:42:17 +05:30
Kovid Goyal
c169f7ae83
Retry writing to wakeupfd on EAGAIN as well
2019-07-09 18:40:51 +05:30
Kovid Goyal
7ab5244bf5
ssh kitten: Make argument parsing more like ssh
...
Fixes #1787
2019-07-09 17:48:43 +05:30
Kovid Goyal
7e36489034
Dont call detect joysticks if support for them has been disabled
2019-07-08 11:18:00 +05:30
Kovid Goyal
d259b12ae7
Micro-optimization: Avoid repeated calls to XQLength
2019-07-08 11:05:04 +05:30
Kovid Goyal
8f8138d9bd
Have monotic() return numbers offset from init time
2019-07-08 10:30:06 +05:30
Kovid Goyal
a8668f5fbf
Add a separate CI job for linux-package
...
Should catch issues like #1786 in the future
2019-07-08 07:44:01 +05:30
Kovid Goyal
e00e6bd1c2
Dont print "done" when doing nothing
2019-07-08 07:36:30 +05:30
Kovid Goyal
0fc6c47556
Merge branch 'glad2' of https://github.com/Dav1dde/kitty
2019-07-08 07:31:38 +05:30
Kovid Goyal
d530dccb96
Move docs generation into create_linux_bundle_gunk
2019-07-08 07:26:07 +05:30
Kovid Goyal
37bf0e81d2
Fix #1786
2019-07-08 06:46:16 +05:30
David Herberth
f872f955b0
Replace glad with glad2
2019-07-07 21:10:15 +02:00
Kovid Goyal
003cd0a203
Add a little more event loop debug output
2019-07-07 06:10:59 +05:30
Kovid Goyal
e7173f8145
Linux: Fix a regression in 0.14.0 that caused the event loop to tick continuously, wasting CPU even when idle
...
Fixes #1782
2019-07-07 05:57:18 +05:30
Kovid Goyal
93af102bec
Clean link_commands.json
2019-07-07 04:52:24 +05:30
Kovid Goyal
67f23664c9
Generate Wayland protocol definitions in parallel as well
2019-07-05 20:57:56 +05:30
Kovid Goyal
39f6071c68
macOS: Fix a deadlock with CVDisplayLink
...
I had added an optimization to not pass messages to
main thread every time the CVDisplayLink timer fired, unless
a render frame for that monitor was actually requested.
However, this optimization is impossible to implement wihtout a deadlock
since CVDisplayLink has its own internal lock that it does not expose.
So I guess macOS users with multiple monitors will simply have to take
the performance hit of useless wakeups sixty times a second for every
extra monitor.
Fixes #1779
2019-07-05 20:16:32 +05:30
Kovid Goyal
edc8878632
Use relative paths for object files
2019-07-05 19:13:34 +05:30
Kovid Goyal
93b62c4dfd
Also redo linking if the link command changes
2019-07-05 19:09:10 +05:30
Kovid Goyal
c3e210c80f
Less output when building
2019-07-05 18:34:01 +05:30
Kovid Goyal
9a5cc8f650
Mark source names with glfw backend prefix
2019-07-05 18:27:13 +05:30
Kovid Goyal
5e7fbfefe9
Refactor the compilation code
...
Makes it a bit more efficient. All compiling is done in parallel,
followed by all linking.
2019-07-05 18:13:21 +05:30
Kovid Goyal
29ad6fba22
Linux: Use eventfd rather than a pipe for loop wakeup
2019-07-05 14:54:54 +05:30
Kovid Goyal
c848c3ee0d
Use an interrupt-safe close()
2019-07-05 14:39:07 +05:30
Kovid Goyal
547132131a
Linux: use signalfd rather than a pipe to handle signals
2019-07-05 14:33:22 +05:30
Kovid Goyal
40186fb54b
Restore accidentally removed signal.h include
2019-07-05 12:22:38 +05:30
Kovid Goyal
5dc4e79c8d
Move code to handle loop wakeup and signals into its own module
2019-07-05 12:19:37 +05:30