Commit Graph

311 Commits

Author SHA1 Message Date
K. Lange 00493418a3 terminal: support bracketed paste mode 2019-12-20 20:56:06 +09:00
K. Lange 1abba60e76 terminal: implement IL/DL in vga terminal; experiment with scrollable regions 2019-12-19 13:45:20 +09:00
K. Lange dd180b33c0 sdf: handle input string as utf8 2019-12-05 19:13:16 +09:00
K. Lange 0d162680ff terminal: support SGR-style mouse for extended coordinates 2019-12-04 13:16:03 +09:00
K. Lange 54ec34837b graphics: load_sprite should return a status code 2019-08-09 06:44:42 +09:00
K. Lange d585dacb8e termemu: support ^[7 / ^[8 2019-06-30 22:43:19 +09:00
K. Lange 7fdaca463f CVE-2019-12937 2019-06-25 20:35:45 +09:00
K. Lange ef149df1e2 lib: put SSE intrinsics behind an ifdef 2019-03-19 10:14:17 +09:00
K. Lange c4ffc28b1f menu: smarter context menu spawning 2019-01-07 14:04:55 +09:00
K. Lange e3a966232d rline: fix backspace in legacy line editor 2019-01-05 23:21:44 +09:00
K. Lange 8680381ecc graphics: basic tga loading support so we can see our own screenshots 2019-01-03 19:36:33 +09:00
K. Lange d2e40a3d0d yutani: missing clip region recalculation in reinit 2019-01-03 18:00:46 +09:00
K. Lange 352bef7882 jpeg: fix bad rounding of image sizes to 8x8 cells 2019-01-02 19:48:02 +09:00
K. Lange 08576160f3 graphics: fix box blur to work with strides 2018-12-26 21:30:11 +09:00
K. Lange b325df2cbc graphics: subregion should inherit clips 2018-12-26 21:29:45 +09:00
K. Lange 92e0203075 esh: parser fix up for single-character variables 2018-12-26 20:20:04 +09:00
K. Lange ae55558935 esh: add $# and fix syntax support 2018-12-26 20:05:22 +09:00
K. Lange 0e76932477 graphics: fix gradient pattern blue channel 2018-12-23 17:15:49 +09:00
K. Lange 536d25567b graphics: actually probably faster without those branches 2018-12-20 21:39:37 +09:00
K. Lange 805c43f059 graphics: fix missing continue in sse alphablit 2018-12-20 21:29:59 +09:00
K. Lange 29b7881d13 jpeg: use sse intrinsincs 2018-12-20 21:07:35 +09:00
K. Lange de26980af2 jpeg: even faster with more premultiplications 2018-12-20 19:01:49 +09:00
K. Lange 245fa0a092 jpeg: further precomputations 2018-12-20 18:54:13 +09:00
K. Lange fab3091cc1 jpeg: use a precalculated cosine table, which is about twice as fast 2018-12-18 19:33:21 +09:00
K. Lange 54e9044161 libc: add more toaru-specific syscall wrappers 2018-12-10 18:47:18 +09:00
K. Lange 0293e83c3b libs: add README describing what each is for 2018-12-07 17:31:25 +09:00
K. Lange 20f3d83e92 yutani: track keyboard modifiers with mouse events 2018-12-07 11:05:21 +09:00
K. Lange dfb176abe5 libc: sin: lerp table lookup 2018-12-06 18:31:18 +09:00
K. Lange bac479e309 jpeg: close file when finished 2018-12-05 20:29:50 +09:00
K. Lange 950c15ccf4 jpeg: try to document what the jpeg decoder does 2018-12-05 20:00:29 +09:00
K. Lange 6f33b2ff97 jpeg: malloc-less implementation 2018-12-05 18:12:11 +09:00
K. Lange 75514b83fd jpeg: that was MIT 2018-12-05 13:05:55 +09:00
K. Lange e2a27ab74c jpeg: don't trace 2018-12-05 13:01:59 +09:00
K. Lange d0d5861e0a jpeg: new jpeg library 2018-12-05 13:00:36 +09:00
K. Lange 1ff5f56225 rline_exp: \r before \n to ensure we scroll 2018-12-03 11:50:52 +09:00
K. Lange 625bdb6f96 terminal: fix some bad cursor visibility 2018-12-03 11:31:16 +09:00
K. Lange 5a6655e442 sdf: fixup alphablending 2018-12-02 22:22:06 +09:00
K. Lange 8f865eeb4a rline_exp: ensure everything is drawn before returning 2018-12-01 21:35:11 +09:00
K. Lange 7259cff253 graphics: none of this is really helping anything 2018-12-01 17:42:49 +09:00
K. Lange 6d8c1f8d7a graphics: bilinear filter needs some serious speed improvement 2018-12-01 17:36:07 +09:00
K. Lange 415655f9ac graphics: fix up some bad alpha blending in certain sprite rendering functions 2018-12-01 17:12:49 +09:00
K. Lange c6dfe69bba decorations: restore the original font size for decorations 2018-11-30 21:50:42 +09:00
K. Lange 6fb381247a graphics: subregions 2018-11-28 20:39:57 +09:00
K. Lange a6a5bc60f5 graphics: vertical gradient pattern in graphics lib 2018-11-24 22:22:55 +09:00
K. Lange 3dc166607d button: allow for disabled buttons 2018-11-24 14:10:49 +09:00
K. Lange e8fad60a10 button: icon buttons should also shift when pressed 2018-11-24 13:22:31 +09:00
K. Lange 8c2ba2641e button: fix rendering issue and support icons buttons 2018-11-24 13:18:57 +09:00
K. Lange ba8a2bf1a9 graphics: try for some optimizations 2018-11-23 15:32:51 +09:00
K. Lange 1473151fa7 button: start working on widget libraries (this should probably be a ttk widget library...) 2018-11-22 10:43:30 +09:00
K. Lange f8791b157e graphics: fix potential bad free of sprite->masks 2018-11-19 21:03:54 +09:00
K. Lange d96bc4f2cb sdf: expose stroke options 2018-11-19 21:03:35 +09:00
K. Lange 77a665c0d5 graphics: new functions; fix premultiply in rounded rectangle 2018-11-19 20:08:49 +09:00
K. Lange 08518780f3 graphics: add rounded rectangle with pattern function 2018-11-18 13:20:26 +09:00
K. Lange d1ff49e70b sdf: add oblique, bold oblique fonts 2018-11-14 17:16:11 +09:00
K. Lange 0f683d32de markup: wip markup parser and rendering 2018-11-12 20:24:42 +09:00
K. Lange 72aaed2eef msk: allow for and properly merge multiple remote manifests 2018-11-12 09:26:30 +09:00
K. Lange 2accf6e314 rline_exp: handle reduced terminal size better 2018-11-06 17:33:50 +09:00
K. Lange 6c88956fa4 job control 2018-10-26 20:34:15 +09:00
K. Lange c76722a4c4 rline_exp: slightly more reasonable shell cmd hl 2018-10-17 12:55:41 +09:00
K. Lange 4d5e977a24 rline_exp: indicate when input field overflows to the left 2018-10-12 17:10:58 +09:00
K. Lange f7eb386d81 decorations: single pixel exposed edges on tiled windows 2018-10-11 09:53:55 +09:00
K. Lange 9703594bf3 decor-fancy: remove the 1-px border around tiled decorations
I want to add some additional hints to the decorator so that
tiled windows can have a border on their exposed side, eg.
a left-tiled window will have a border on the right. Then
the compositor will size them to account for adding that one
pixel border - which is kinda specific to this design, but
I think it'll work out okay. Other decoration themes will
either have to follow suit, or I can have the decorator
advertise how it wants it decoration bounds to work in regards
to a tiled window.
2018-10-11 08:31:28 +09:00
K. Lange d6fe16c406 rline_exp: disable highlighting of space at eol
it just doesn't look good with tab completion adding spaces
2018-10-10 21:36:16 +09:00
K. Lange 994150501a rline_exp: fix bad signs causing crashes with unicode history, tab complete 2018-10-10 11:01:56 +09:00
K. Lange 1870bdbdc2 rline_exp: ^K, ^U, visual indicator for ^V 2018-10-05 22:46:56 +09:00
K. Lange 3721644339 rline_exp: VINTR should raise, use right key 2018-10-05 22:21:10 +09:00
K. Lange 719d27166d Allow compositor to load Cairo backend later at runtime 2018-10-02 18:58:03 +09:00
K. Lange 8ac5ee4fb9 free context passed to rline functions in rline_exp 2018-09-30 18:42:08 +09:00
K. Lange 2cde2456f3 Lazy redraw in rline_exp means pasting in shell is fast 2018-09-29 14:03:57 +09:00
K. Lange f2024aa274 Properly support strides 2018-09-29 01:13:47 +09:00
K. Lange aaa8b4f81e Freetype in decorations 2018-09-24 15:06:42 +09:00
K. Lange 1d53039483 freetype text needs some horizontal padding 2018-09-24 12:29:16 +09:00
K. Lange c77e71a277 Freetype support for menus 2018-09-24 12:22:00 +09:00
K. Lange 24517f53fa make sure right prompt gets drawn when drawing oversized line 2018-09-21 19:12:12 +09:00
K. Lange 0c4bd30242 Experimental slow sprite rotation 2018-09-17 20:35:40 +09:00
K. Lange 05ac83f96a sh syntax backslash escapes [bim+rline_exp] 2018-09-17 16:39:31 +09:00
K. Lange 75c26ed850 As should rline when doing rev search 2018-09-17 13:21:37 +09:00
K. Lange c678b6562d Fix up some libs to work better under linux 2018-09-17 12:58:38 +09:00
K. Lange 8b849a8f4f rline doesn't use _xlog 2018-09-17 12:23:57 +09:00
K. Lange f5bf985dc4 Change partial line indicator to left-facing arrow 2018-09-17 12:21:51 +09:00
K. Lange cc4baaff0d Steal an idea from fish to handle output without a trailing linefeed 2018-09-17 07:01:15 +09:00
K. Lange 06a7ca8cd9 Add anti-aliased line drawer (slow, but effective) 2018-09-15 19:52:25 +09:00
K. Lange 85db6525a8 hacked up support for python syntax highlighting in rline_exp 2018-09-15 17:52:01 +09:00
K. Lange 2b4e787b6f Tweak ansi theme colors for rline_exp 2018-09-14 22:48:06 +09:00
K. Lange f769259cbe Add ^V and tab widths to rline_exp 2018-09-14 20:06:46 +09:00
K. Lange 44cdeaef06 Fix odd history scrolling with oversized lines 2018-09-14 12:39:18 +09:00
K. Lange 1b030089e7 Fix rendering glitch when resizing terminal in rline_exp 2018-09-14 09:28:37 +09:00
K. Lange 6d98aa6494 Fixup heading comments 2018-09-13 18:44:30 +09:00
K. Lange d9dcb94059 Cleanup and document rline_exp 2018-09-13 18:42:19 +09:00
K. Lange a3d55b1b88 Patch in rline_reverse_search for rline_exp 2018-09-13 14:42:42 +09:00
K. Lange b97bc4ff0a Support history in experimental line editor 2018-09-13 14:31:33 +09:00
K. Lange b25aa946e5 Improvements to experimental line editor 2018-09-13 12:54:00 +09:00
K. Lange b7c642c273 Experimental rline replacement with syntax highlighting 2018-09-12 22:50:22 +09:00
K. Lange 21b3fdf242 Fix sse blitting when bounds are weird 2018-09-12 13:38:58 +09:00
K. Lange c161bce0ac Render fullscreen windows without shadow gap 2018-09-12 13:22:34 +09:00
K. Lange 14a63ba154 Advertise fullscreen-ness of windows and collect it automatically as a decorator flag 2018-09-12 13:22:25 +09:00
K. Lange 6e6675dd0a Restructure decorations so bounds can be window-specific (for fullscreen) 2018-09-12 12:53:08 +09:00
K. Lange d5aab96199 Rudimentary (incomplete) alternate screen support 2018-08-28 20:08:58 +09:00
K. Lange 2e50a84bc7 Allow NULL callbacks for rline 2018-08-28 09:28:53 +09:00
K. Lange ead924b110 support home/end from normal escape sequence 2018-08-16 12:01:09 +09:00
K. Lange f97222ff03 Cleanup docs for yutani client lib 2018-08-15 14:50:20 +09:00
K. Lange 8680e66f65 Library copyright/vim tags cleanup 2018-08-15 10:23:41 +09:00
K. Lange 5b5462fb72 Library cleanup 2018-08-14 17:24:25 +09:00
K. Lange 44c8f093f0 draw_rectangle 2018-08-12 20:03:27 +09:00
K. Lange fbfecde4be Allow windows to be dragged by menu bars 2018-08-07 19:18:22 +09:00
K. Lange ae6532607a Add libc wrappers for some syscalls, remove unused syscall.h imports 2018-08-02 13:13:27 +09:00
K. Lange 3f39c0ad61 Remove term-set and support for special terminal font escapes 2018-08-02 11:16:08 +09:00
K. Lange ee03956a86 Fix bad submenu hilight 2018-08-02 04:06:37 +09:00
K. Lange ccf29a98d9 Handle ^[[1,5D from vte, though not well 2018-08-01 09:44:26 +09:00
K. Lange 30e2c8d940 Fix some handling of failed display server connections 2018-08-01 09:20:57 +09:00
K. Lange 03d6199af7 Decorator can handle checking for menus 2018-07-24 09:20:11 +09:00
K. Lange b0a154a07e Fix up submenu hilighting 2018-07-23 19:32:58 +09:00
K. Lange 5f7b7c9f38 Render windows as focused when they have menus, like we used to in python 2018-07-22 01:24:22 +09:00
K. Lange 1686884fb5 rounded rectangle colors were in wrong order 2018-07-21 23:42:21 +09:00
K. Lange 62cc35da3f Make sure to use alpha from color in sdf text 2018-07-21 23:03:21 +09:00
K. Lange 5ae01e206d Fix premultiplying on rounded rectangles 2018-07-21 23:00:26 +09:00
K. Lange b26104c156 Keyboard interaction between menubar entries 2018-07-21 18:32:00 +09:00
K. Lange 0e45293ced Merge menubar into menu 2018-07-21 17:56:10 +09:00
K. Lange 255b750b62 Add method to update menu entry title 2018-07-20 23:08:12 +09:00
K. Lange 1830bd63ac escape should close all menus 2018-07-20 22:37:31 +09:00
K. Lange 9efc3c1bf3 Quickly switch focus back to previous menu on keyboard action 2018-07-20 22:32:06 +09:00
K. Lange 95ad690212 Minor keyboard menu control adjustment 2018-07-20 22:24:05 +09:00
K. Lange 43829e163a Add initial keyboard support for menus 2018-07-20 22:15:46 +09:00
K. Lange 7cd46127a9 Add imperfect, but sufficient, rounded rectangle routine 2018-07-20 21:26:01 +09:00
K. Lange 89d107374c provide dlfcn in libc 2018-07-19 19:04:17 +09:00
K. Lange 416ae2d1a3 Move internal yutani stuff to a separate header 2018-06-23 18:51:48 +09:00
K. Lange 1381116048 Add submenu tick 2018-06-20 11:17:27 +09:00
K. Lange cba3b2e804 Fix arbitrary submenus and add 'Set Zoom...' to terminal 2018-06-18 22:04:08 +09:00
K. Lange 5ae86c9213 incomplete textregion library 2018-06-09 17:32:24 +09:00
K. Lange 3c0a8c8e1d minor tweaks 2018-06-09 16:42:41 +09:00
K. Lange 52e395427e Change background color of fallback decoration theme 2018-06-09 16:40:11 +09:00
K. Lange 74e4ee5f56 Add basic numpad support 2018-06-08 15:11:41 +09:00
K. Lange f710c872b8 make menu bar less picky about clicks 2018-05-22 18:42:05 +09:00
K. Lange 49850c0067 Try not to put menus off screen 2018-05-21 19:52:00 +09:00
K. Lange d6afa06c80 Menu bar in a separate library 2018-05-20 16:47:35 +09:00
K. Lange 8442d4494c Expose more methods from menu library 2018-05-20 12:37:22 +09:00
K. Lange eacdd97287 Handle nested menus extending past display width 2018-05-20 11:22:15 +09:00
K. Lange 50b21b080d Cleanup and fixes 2018-05-19 19:43:00 +09:00
K. Lange 910973bec7 *experimental* nested menus support 2018-05-19 19:05:27 +09:00
K. Lange 16200d76f1 Allow apps to opt out of a maximize button 2018-05-19 16:05:17 +09:00
K. Lange 4ff96e4bdf Store large clipboard selections in a file 2018-05-15 14:54:22 +09:00
K. Lange ee1aeb89b2 Clipboard in compositor 2018-05-15 14:39:07 +09:00
K. Lange d03c02e6ae Bound SDF text rendering properly 2018-05-11 22:59:12 +09:00
K. Lange ffa4bd7360 Add login, sudo, user session, auth lib, etc. 2018-05-10 22:33:32 +09:00
K. Lange b6d6d8900e include pthread in libc 2018-05-09 21:26:45 +09:00
K. Lange da909e4f79 Add confreader library 2018-05-08 23:04:49 +09:00
K. Lange 8ccbcb001c Allow switching rendering mode in terminal on the fly 2018-05-08 17:16:58 +09:00
K. Lange 4c873f9fde Remove traces from sdf 2018-05-08 17:05:57 +09:00
K. Lange d67021d7b8 Store SDF fonts in shared memory regions 2018-05-08 17:03:13 +09:00
K. Lange 4818a8cc43 Add more monospace font options and support 8-bit grayscale bitmaps 2018-05-08 15:41:12 +09:00