Commit graph

473 commits

Author SHA1 Message Date
speedie 5129856857 Fix scrolling on Wayland, apparently you cannot use Linux kernel keycodes 2023-07-22 03:25:35 +02:00
speedie ea48ea69ed Fix issue #14 by replacing bad code.
I don't know what I was thinking to be honest.
2023-07-22 02:02:03 +02:00
speedie 7f5caf7bf0 Fix background 256 colors, add true color to script 2023-07-21 03:14:51 +02:00
speedie 023fe3af08 Support 39 and 49, and fix 256 color support 2023-07-21 02:03:01 +02:00
speedie 33c8e169de Add true color SGR sequence support 2023-07-21 01:23:43 +02:00
Jacob 4e716ee80c Remove ClickSelItem
This commit removes ClickSelItem. It doesn't make very much sense to
keep a separate click for the click and output functionality.
2023-07-19 17:50:50 +02:00
Jacob b36e2c0bd4 Fix typo causing images to break 2023-07-19 01:58:56 +02:00
Jacob b812702115 Speed up and simplify reading of standard input 2023-07-19 01:06:38 +02:00
Jacob 9daedf9554 Change normselitemfg 2023-07-19 01:02:49 +02:00
speedie a3385468b8 Caret size should be dynamic 2023-07-16 19:07:41 +02:00
speedie 0988babd15 Add setlineheight function 2023-07-16 18:59:08 +02:00
speedie f2776a39aa Declare functions inside arg.h 2023-07-16 18:49:20 +02:00
speedie 21f9aa09e5 Add documentation for functions 2023-07-16 18:44:35 +02:00
Jacob 188c90184a Fix item length for !items and powerlines 2023-07-16 16:39:57 +02:00
Jacob e202b1668a Much simplify SGR sequence handling and fix width weirdness 2023-07-16 16:35:25 +02:00
speedie 15fcdb0ca5 Don't merge the right powerline with the next item 2023-07-16 03:46:31 +02:00
speedie 0627c2fc1c Replace more variable names to more descriptive ones 2023-07-16 03:16:45 +02:00
speedie 7b7c1a56f4 Add some more comments 2023-07-16 02:57:38 +02:00
Jacob 8e33d4c667 Fix typo 2023-07-15 17:27:31 +02:00
Jacob d18fd28fa0 Scroll up/down to move to the next/previous page 2023-07-15 15:55:15 +02:00
Jacob 1fe08aa295 Fix cache, add ClickNone 2023-07-14 21:31:29 +02:00
Jacob 1c491bba9c Move up/down on left/right when !lines 2023-07-14 03:32:06 +02:00
speedie 597bcb541b Fix typos, change argument 2023-07-14 01:54:48 +02:00
speedie fe49f1ff7c Change default alpha value to 222 2023-07-14 01:41:09 +02:00
speedie 70f1970684 Remove pango_highlight, it's useless. 2023-07-14 01:39:00 +02:00
speedie 49eda6745b Fix powerline cutoff when scaling an image up a lot 2023-07-14 01:34:07 +02:00
speedie eb053eae23 Remove and change some keybinds related to image size and gaps 2023-07-14 01:30:28 +02:00
speedie 48e3db316b Make sure number of lines/menu height cannot exceed monitor height 2023-07-14 01:16:35 +02:00
speedie 6ec63436d7 Regenerate cache if height of each item has changed (for example,
if a smaller/bigger font is used).

This fixes a flicker issue which can occur if the font/height
of each item is changed when cached icons are present. Icons
are recached for the new height and then displayed, as if
the cache did not exist in the first place.
2023-07-14 00:49:00 +02:00
Jacob 97ad50ce74 Fix segmentation fault when -NF and -pri, and fix fuzzy -pri 2023-07-11 17:21:30 +02:00
Jacob d935122998 Remove spmenu: syntax, it's basically useless 2023-07-11 17:01:57 +02:00
Jacob 9d6ae13eae Update docs, remove most .Xresources preferences 2023-07-11 16:53:26 +02:00
speedie c6397915f4 Cache icons too, not just normal images 2023-07-10 20:38:25 +02:00
speedie ad4e1ab7e1 Code cleanup 2023-07-09 23:56:34 +02:00
Jacob 5609c4d006 Improve incremental feature 2023-07-09 15:26:52 +02:00
Jacob 5d399c96e3 Use oleftpadding in drawhighlights 2023-07-07 16:05:01 +02:00
speedie 890457729c Make regex matching a separate mode inside insert mode 2023-07-06 22:02:53 +02:00
speedie 7aecc3edf9 Fix pango markup highlighting by disabling highlighting
There is no real reasonable way to fix highlighting while
using Pango markup to my knowledge. If there actually is, please
PR.
2023-07-06 16:52:58 +02:00
speedie 3e581ded2e Cleanup drawitemtext a bit 2023-07-06 16:19:20 +02:00
speedie f8ff87f669 Fix -b 2023-07-06 04:02:23 +02:00
speedie 9201b3ba18 Fix tab completion when no matches 2023-07-05 02:02:35 +02:00
speedie c8e0d08302 Cleanup fuzzymatch(); 2023-07-05 01:48:53 +02:00
speedie 4135cbc0f2 Add fuzzy matching using tiny-regex-c 2023-07-05 01:40:35 +02:00
speedie fbfbc44dec Fix some issues with the image gaps, fix image gaps size, remove some
more keybinds
2023-07-05 00:39:40 +02:00
speedie 7e963db38e Simplify default keybinds 2023-07-05 00:12:11 +02:00
speedie ad96d3fbb3 Oops, fix wacky highlighting, should be working perfectly now 2023-07-04 23:32:51 +02:00
speedie 7492eed0cf Simplify and fix SGR sequence removal 2023-07-04 23:10:06 +02:00
speedie cc8c3e988c Revert "Include colored text in the tab completed text as well."
This reverts commit 364020aa2c.
2023-07-04 21:58:36 +02:00
speedie 364020aa2c Include colored text in the tab completed text as well. 2023-07-04 21:42:32 +02:00
speedie 55a3b95e12 Clear input when resizing lines 2023-07-03 23:40:30 +02:00
speedie 7bb81a26b8 Add ClickImage click 2023-07-03 23:06:33 +02:00
speedie 247d5e768b Fix an oversight in the set_mode() function 2023-07-03 22:19:19 +02:00
speedie 98f324aafe Last commit for the regular configuration file 2023-07-03 22:07:51 +02:00
speedie 63229604e7 Add option to always use insert mode for binds.conf 2023-07-03 22:07:09 +02:00
speedie b06ea39b11 move binds file to another function 2023-07-03 21:58:32 +02:00
speedie f1b0ecd624 Change worddelimiters 2023-07-03 21:35:21 +02:00
speedie 5305303cd2 Don't indent if hideimage 2023-07-03 19:12:53 +02:00
speedie 4ac7119c5b Add WIP icon support to spmenu 2023-07-03 18:48:38 +02:00
Jacob 3f456f3a37 Feature: Add the ability to take "screenshots" of spmenu.
It doesn't actually capture your screen, but rather saves the Cairo
surface to an image. The path to the image and some other options
can also be configured in the config file.

By default, Print Screen can be pressed in Normal mode with no modifier
to take a screenshot. The default location is the user's home directory,
and the file has a date attached to it. Of course, this can be changed
as well.
2023-06-30 02:44:29 +02:00
speedie 8e257d5f6b Improve FreeBSD compatibility by moving meson.options to
meson_options.txt
Also fix a -Wsometimes-uninitialized
2023-06-26 18:09:03 +02:00
speedie c7632f342e Fix generate.sh
Fix generate.sh, it should now generate properly. Also remove the actual
protocols, the user should generate those, not me.
2023-06-24 21:12:18 +02:00
speedie 2cee004182 Remove more useless Xinerama code 2023-06-24 17:34:03 +02:00
speedie 336bdd5830 Simplify display width/height code
With this commit, display width/height is only grabbed once. This means
we don't need to deal with all that X11 and Xinerama code when we're
simply resizing the window.
2023-06-24 17:13:17 +02:00
speedie bd49d876cd Move to the first item when setting lines
This fixes an issue where you can resize beyond the number of items
2023-06-24 17:01:43 +02:00
speedie dfc4fe038c Remove fullscreen functionality
The fullscreen functionality is kind of cool, but adds a lot of code and
as commit history has shown, plenty of bugs and extra required testing.

I may reimplement this later in a less bad manner. Note that the
fullscreen behavior can be achieved by simply increasing image size to
the max. spmenu will let you do that.

Fixes issue #9
2023-06-24 04:53:44 +02:00
speedie 748db7eed1 simplify full screen 2023-06-24 04:43:05 +02:00
speedie 0a59088313 Fix keybind conflict, replace imageg, imagew and imageh in favor of
using the img struct
2023-06-24 04:20:51 +02:00
speedie aba3541d37 Disable fullscreen when no image 2023-06-24 03:00:00 +02:00
speedie 02c6c4ac5c Remove unnecessary else continue; from X11 and Wayland keybind
handling
2023-06-23 20:28:22 +02:00
speedie 8e0de8f556 Simplify some variables 2023-06-23 17:27:57 +02:00
speedie 152b14330f Xlib must now be included in spmenu.c
Also, we should be checking the length of wl_cbuttons, not cbuttons on
Wayland.
2023-06-23 04:04:02 +02:00
speedie 59983981c2 Rename libdrw functions to simply "draw" 2023-06-23 03:49:23 +02:00
speedie 6328edc5cd Use global structs 2023-06-23 03:38:21 +02:00
speedie ca624e1ca6 Default to the default value of $XDG_CACHE_DIR in case $XDG_CACHE_DIR is
not set.

Both the current behavior and this commit are valid according to the XDG
base directory standard, however realistically no one wants dotfiles in
their home directory, and that's what would happen if $XDG_CACHE_DIR
is unset.

Also fix key inconsistency between X and Wayland.
2023-06-22 00:17:23 +02:00
speedie dfc4ad0fa4 cleanup a bit, fix margin-vertical and fullscreen 2023-06-20 09:40:40 +02:00
speedie 180aa71fef fix clicks when one line is removed 2023-06-20 01:27:46 +02:00
speedie ddb38c8cec fix clicks if !lines, oops 2023-06-19 23:26:23 +02:00
speedie f99cc1d62a significant rewrites to mouse clicks 2023-06-19 23:16:03 +02:00
speedie 62b15fab28 Fix some bugs with clicks and images 2023-06-19 21:28:45 +02:00
speedie ebd625ba1e Add check for GNOME Wayland 2023-06-19 17:18:27 +02:00
speedie 453b0028aa Switch to Ctrl modifier from Alt modifier for navhistory keys 2023-06-19 16:26:03 +02:00
speedie 0409dbff12 Change Ctrl+Shift+h keybind to simply Shift+h in normal mode 2023-06-19 16:16:16 +02:00
speedie 3c59249fbd setlines and setcolumns now work in insert mode as well 2023-06-19 02:36:28 +02:00
speedie ef4400d844 Fix loading from file dynamically on Wayland 2023-06-19 02:23:46 +02:00
speedie 92fb7fff5c fix menumarginh when lines 2023-06-19 02:13:38 +02:00
speedie c1058dfb00 add option to enable/disable setting lines/columns using keybinds 2023-06-19 01:46:05 +02:00
speedie 6083df6736 update documentation 2023-06-19 01:08:15 +02:00
speedie b0c39b6dc3 Remove single line clicks as they're not very useful, and fix clicks
when item powerlines are enabled
2023-06-18 22:56:21 +02:00
speedie 9ba2e0f52f Add powerline for !lines as well 2023-06-18 21:15:32 +02:00
speedie aa62ca8cdd Add powerline for items
Currently does not work with !lines, and as such it has been disabled
for the time being.
2023-06-18 18:05:42 +02:00
speedie b261d62cc9 Allow "xdg" to be entered to force XDG cache directory even if
XDG_CACHE_DIR is not set
2023-06-12 23:44:59 +02:00
speedie 1c6bc9f92d Add -fl argument which can be used to check if a feature is supported
This could be very useful for shell scripts, or debugging.
2023-06-12 17:09:34 +02:00
speedie 88a8212c80 fix !USEIMAGE usage of undeclared functions 2023-06-12 04:24:35 +02:00
speedie 6421126f67 no need for the sl directory 2023-06-12 03:54:40 +02:00
speedie e553da35a9 It's not "hideimage" in the config file, it's "image" 2023-06-12 03:44:27 +02:00
speedie 91178ad8ce Use slightly safer version of strcpy() 2023-06-12 03:39:29 +02:00
speedie 43e2800e9f Rename libdrw to draw, because it's not really libdrw anymore 2023-06-12 02:28:19 +02:00
speedie ce30909e70 Apply last commit to themes as well 2023-06-12 00:31:33 +02:00
speedie fdce53681d Fix typo causing gaps to set the image height in the configuration file 2023-06-12 00:30:53 +02:00
speedie 1c4c68dcc6 Add image resize option 2023-06-12 00:26:35 +02:00