K. Lange
b8aecc7a37
rline: officially adopt rline_exp as the only rline, and bring in some improvements from kuroko
2021-01-01 18:08:30 +09:00
K. Lange
db23c987a9
Pull in Kuroko (as a submodule, but with build integration)
2021-01-01 17:19:44 +09:00
K. Lange
79bdb6fc02
png: replace icons
2020-06-12 18:12:33 +09:00
K. Lange
802ae6a616
sdf: switch font format from bmp to png
2020-05-30 16:37:10 +09:00
K. Lange
431a6aaf2a
png: support more color types; fix idat sequencing
2020-05-30 16:36:31 +09:00
K. Lange
1c0e741c99
inflate: fix missing byte read for compression type in gzip deflater
2020-05-05 00:07:02 +09:00
K. Lange
22ded9bdce
inflate: gzip multibyte values are LE...
2020-04-24 21:52:58 +09:00
K. Lange
7dfb9c34ce
png: replace several BMP assets with PNGs
2020-04-24 14:30:12 +09:00
K. Lange
e5996aa4b4
graphics: remove unneeded ALPHA_EMBEDDED's in libs
2020-04-23 20:55:27 +09:00
K. Lange
3cacd56bce
bmp: Set ALPHA_EMBEDDED on load
2020-04-23 20:15:56 +09:00
K. Lange
c68cd7e1e8
graphics: make jpg/png support seamless with load_sprite
2020-04-23 18:44:07 +09:00
K. Lange
8e74bee6d0
png: First pass at a PNG decoder
...
(only 8bpp rgba, non-interlaced for now)
2020-04-21 17:11:20 +09:00
K. Lange
8f7cda92fa
inflate: Add DEFLATE decompressor and gunzip util
2020-04-21 11:23:26 +09:00
K. Lange
8c2cf93b1d
menu: Add method to force redraw a visible menu
2020-03-29 13:23:28 +09:00
K. Lange
bd92f00a40
json: add rudimentary JSON parser library
2020-03-28 22:20:20 +09:00
K. Lange
2cddc37a67
list: add convenience function to get item by index
2020-03-28 22:19:52 +09:00
K. Lange
2fbf92329d
graphics: actually that seems to indicate A is after RGB
2020-03-27 23:03:54 +09:00
K. Lange
d6ed670213
graphics: support swapped byte order in bitmaps
2020-03-27 22:56:18 +09:00
K. Lange
83c7c37f8f
rline: replace syntax highlighter with new bim highlighter engine
2019-12-24 13:21:34 +09:00
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
K. Lange
db4337f17b
Improvements to SDF impl., and support in terminal
2018-05-08 11:27:44 +09:00
K. Lange
4beac973ef
Store kerning overrides for SDF fonts in a config file
2018-05-07 17:49:06 +09:00
K. Lange
5cf95b4fc0
Fix alpha handling resulting in no images with 24-bit bmp
2018-05-04 13:16:22 +09:00
K. Lange
557f578574
Don't use my given name in copyright headers; update everything to 2018 because why not
2018-05-01 17:12:56 +09:00
K. Lange
037f055549
Send WINDOW_CLOSE instead of SESSION_END on Alt+F4 and handle that as a close signal
2018-04-27 22:38:36 +09:00
K. Lange
8516e44a20
Remove debug prints from decorations
2018-04-27 22:25:05 +09:00
K. Lange
f8d2b8d3a3
Experimental decorator menu stuff
2018-04-27 22:14:08 +09:00
K. Lange
5129394b07
Handle more stuff automatically in yutani
2018-04-27 22:13:42 +09:00
K. Lange
0e65e6559c
Menu library improvements
2018-04-27 21:30:51 +09:00
K. Lange
b1c86b448d
Automatically track window movement in the client
2018-04-27 21:30:21 +09:00
K. Lange
4ac2f3d4a2
Fix separators crashing on click because they had no activate method
2018-04-25 21:44:17 +09:00
K. Lange
5004ea8c5d
Fix icon cache using wrong data for 48x48 icons
2018-04-25 19:51:50 +09:00
K. Lange
0037a2e84a
Remove unused header
2018-04-25 17:42:14 +09:00
K. Lange
95542acded
Remove the old API and don't make the new one static inline
2018-04-25 17:41:30 +09:00
K. Lange
0c4b4e3344
Have yutani messages built on the stack instead of malloc/free
2018-04-25 17:30:28 +09:00
K. Lange
8e07883088
Enable and resolve several warnings
2018-04-25 14:03:29 +09:00
K. Lange
2de4d9bae2
Menu windows shouldn't zoom in, only fade
2018-04-24 21:41:19 +09:00
K. Lange
216239f601
Adapt menu library into panel
2018-04-24 21:32:39 +09:00
K. Lange
86134cca5d
At least attempt to handle focus loss
2018-04-24 21:19:06 +09:00
K. Lange
34d1a58be7
Menus as a library (WIP)
2018-04-24 20:58:41 +09:00
K. Lange
e1d67ec921
new graphics method interp_colors
2018-04-24 20:27:15 +09:00
K. Lange
a7cd9eb54b
Icon cache library
2018-04-24 20:25:42 +09:00
K. Lange
5dd763780a
Unify list, tree, hashmap implementations with userspace/kernel
2018-04-24 19:28:50 +09:00
K. Lange
3552b72cdc
Remove guassian blur (third-party code)
2018-04-21 21:50:59 +09:00
K. Lange
0b2b0dc299
Kerning adjustments
2018-04-21 20:55:19 +09:00
K. Lange
07fd0519dd
Add text back to the simple decoration theme using SDF
2018-04-21 20:15:30 +09:00
K. Lange
96e3db9089
Lock on creating caches so we work better across threads
2018-04-21 20:14:11 +09:00
K. Lange
556ff8e343
Add maximize as an action
...
- Remove the deprecated timer request API.
- Add a new "Special Request" API for things like "maximize" / "minimize"
etc. that takes an optional window ID. Expects no response, useful for
one-off triggers like this.
- Add maximize button to fancy decoration theme and general support in
decoration library.
2018-04-21 19:24:55 +09:00
K. Lange
f9196a3181
Cache scaled SDF mipmaps for faster rendering
2018-04-21 17:24:55 +09:00
K. Lange
629a4f373f
text passed to sdf should be const
2018-04-21 16:28:57 +09:00
K. Lange
64f2fa083e
Why are we not premultiplying our ARGB bitmaps...
2018-04-21 16:28:38 +09:00