Commit Graph

228 Commits

Author SHA1 Message Date
Scoopta
29aeffd8c1 Cleaned up includes, they were a bit of a mess 2020-03-25 23:05:46 -07:00
Scoopta
0b5ad3499d Added an error if an image cannot be loaded instead of letting gdk-pixbuf error. 2020-03-17 14:21:10 -07:00
Scoopta
50719af3dd !wl_list_empty() is now used instead of wl_list_length() > 0 2020-03-13 21:58:54 -07:00
Scoopta
4f4b85eee6 The name of the mode and the name used for loading can now be different, this fixes some segfaults 2020-03-13 18:56:39 -07:00
Scoopta
8d4a9e22b2 Added the load() plugin function 2020-03-13 17:08:35 -07:00
Scoopta
8e8bd632c5 Added wofi_get_dso_path() 2020-03-13 13:00:59 -07:00
Scoopta
b182442f7a The full DSO name no longer needs to be specified to load an external mode 2020-03-13 12:30:00 -07:00
Scoopta
b2e879cc88 mode is not set to _mode but rather mode_ptr->name which is a copy of _mode 2020-03-13 12:27:26 -07:00
Scoopta
c42ec7676d The width of entries is no longer set by widget_allocate() 2020-03-12 17:09:45 -07:00
Scoopta
3e64b23847 Added page up/down support 2020-03-11 18:27:44 -07:00
Scoopta
b172590829 Renamed the locations enum to location 2020-03-11 17:44:08 -07:00
Scoopta
e9cbf88be4 Wofi properly shuts down if its window is closed in normal window mode 2020-03-09 14:27:07 -07:00
Scoopta
a6735a38cb Pressing a key with no modifier which is bound with a modifier will now correctly focus the search box 2020-03-07 22:01:22 -08:00
Scoopta
8796993fb6 Modes are no longer loaded on their own thread. It's not really needed, breaks drun mode with images, and is probably confusing for 3rd-party mode developers. 2020-03-07 19:55:30 -08:00
Scoopta
a167dcc42e Replaced 1 with TRUE when setting gtk-application-prefer-dark-theme 2020-03-05 19:51:49 -08:00
Scoopta
1b299e658f Removed debug print 2020-03-05 19:07:25 -08:00
Gigadoc2
dc58ddbfb8 add switch to use the dark gtk theme
Since some time now, GTK3 themes can ship an optional "dark" variant
and applications like picture viewers can make use of such a variant to
appear dark (to not distract from the picture) without overwriting the
current theme (and risking optical breakage). While wofi is not a
picture viewer it may still be desirable to use a dark theme, for
example to contrast the (light) application displaying in the
background.

Of course, wofi can already be fully customized through CSS and/or the
colors file, but using the existing dark variant may be easier than
fully restyling it, if all you want is a darker appearance. The only
way to set an arbitrary GTK application to use the dark theme seems to
be setting an environment variable, but that bears two problems:
For one, one needs to specify the full theme + dark modifier in the
variable, so one would have to keep the global GTK theme and the one
used by wofi manually in sync.
More critical though, the environment variable would be propagated to
the programs wofi launches (for now at least). That would lead to all
GTK applications launched through wofi to use the dark theme, which may
not be desirable. Wofi could also unset that variable before launching
a program, but at this point adding a simple switch is probably easier.

Side note: It may be that there is some way to configure the CSS file
to include the CSS of the dark variant of the current theme, but I have
not been able to find out how. Gnome-terminal uses a switch like this
too (just with dconf), so this may just be the way to go.
2020-03-03 12:09:55 +01:00
Scoopta
a672361d65 --lines should play nicer with % dimensions 2020-03-03 11:13:11 -08:00
Scoopta
36048841bb Changed the default wofi size to be 50%x40% instead of 1000x400 2020-03-03 00:10:12 -08:00
Scoopta
512c1cf7b5 Fixed percent sizing 2020-03-03 00:04:53 -08:00
Scoopta
459de542dc Added support for percentage based window sizing 2020-03-02 12:06:14 -08:00
Scoopta
f1a0e735f1 Changed the error if you have too many colors. You can have up to 100 not 99 2020-02-29 03:16:23 -08:00
Scoopta
a55c0421b2 gdk_threads_add_timeout() is now used instead of g_timeout_add() 2020-02-29 02:27:59 -08:00
Scoopta
b88c6727ea Added hide_search 2020-02-29 01:04:00 -08:00
Scoopta
0a0ba35075 The cache directory will now be created if it doesn't already exist 2020-02-28 22:36:48 -08:00
Scoopta
0dec3c883d Initial focus is now set on the top result not the scrolled window 2020-02-28 22:15:53 -08:00
Scoopta
973a454799 Added global_coords 2020-02-25 17:13:32 -08:00
Scoopta
6961672701 Tweaked --lines code. Hopefully it's more reliable now 2020-02-25 00:30:35 -08:00
Scoopta
f7b599fe6f Added utils_max(). utils_min() is now a one liner. 2020-02-25 00:13:12 -08:00
Scoopta
a1beb82635 line_wrap now takes the wrapping mode instead of a boolean 2020-02-21 00:43:44 -08:00
Scoopta
33a69e713a Added line_wrap config option 2020-02-21 00:17:59 -08:00
Scoopta
81a34c3374 Wofi can now be named wofi-askpass. This is for easy use as a sudo askpass program 2020-02-20 23:51:54 -08:00
Scoopta
91ad565ecc Removed the need to use gtk_widget_get_child_visible() 2020-02-17 00:15:57 -08:00
Scoopta
4d089df33d Fixed arg passing although I used gtk_widget_get_child_visible(). Compared to the alternative I think this is less hacky although maybe a tad not good 2020-02-16 20:34:55 -08:00
Scoopta
d96ddcce4f Added support for modifier keys to be bound 2020-02-16 14:43:14 -08:00
Scoopta
459639cd7e Added support for custom key binding 2020-02-15 21:53:02 -08:00
Scoopta
f4c4abfb02 Forgot I had a min function 2020-02-08 18:13:05 -08:00
Scoopta
400ca061b5 Fixed --lines 2020-02-08 18:04:38 -08:00
Scoopta
779678d1e2 Added null check to fix gtk-critical message 2020-02-07 22:04:15 -08:00
Scoopta
bafdea787f Fixed content_halign not working correctly with multi-action entries 2020-02-07 21:06:30 -08:00
Scoopta
6f2e4616ab That's not a very effective null check 2020-02-07 18:10:06 -08:00
Scoopta
28be2d8234 Fixed a null check that itself would cause a segfault 2020-02-07 18:07:46 -08:00
Scoopta
1e131bdce6 Added --sort-order 2020-02-07 18:04:37 -08:00
Scoopta
12dd2fbd4d filter_rate doesn't need to be global anymore 2020-02-07 12:23:57 -08:00
Scoopta
2f00ef2bd6 Replaced the double searching that was used to allow variable filter_rates and replaced it with something that actually makes sense. 2020-02-07 11:51:46 -08:00
Scoopta
b7de8057da That only needs to be uint16 2020-02-06 21:50:22 -08:00
Scoopta
0abad1f1c8 Fixed ordering when no search is input 2020-02-06 21:47:59 -08:00
Scoopta
afcc0c23f7 The first element is now always highlighted when searching 2020-02-06 21:20:08 -08:00
Scoopta
df75b649a5 Added --columns 2020-02-06 18:22:50 -08:00
Scoopta
7534181a8f Added --lines 2020-02-02 22:29:44 -08:00
Scoopta
b266a82b4b Added sorting to contains mode based on whether or not the result starts with your search 2020-02-02 13:54:34 -08:00
Scoopta
a648f2139f Renamed the arguments for utils_distance() 2020-02-01 23:24:04 -08:00
Scoopta
5538191317 Changed the signature of wofi_create_widget() to use arrays instead of pointers 2020-02-01 17:44:00 -08:00
Scoopta
7494cb1c7c Removed the utils.h include from config.h as it's not used by config 2020-02-01 17:06:41 -08:00
Scoopta
4fac0ee652 Fixed bug where mode order wasn't being taken into account when loading entries 2020-01-31 23:15:13 -08:00
Scoopta
7c44d9ec4b Added support for the :focus CSS selector 2020-01-31 22:04:07 -08:00
Scoopta
6e472afe6e Added infrastructure for external custom modes, the actual mode code will be committed later 2020-01-31 21:55:28 -08:00
Scoopta
3a80153e17 Added wofi_insert_widgets()
This allows modes to ask for wofi to query them for new entries
2020-01-31 13:25:04 -08:00
Scoopta
786718602b Actually fixed cache entries that contain a lf 2020-01-29 22:01:29 -08:00
Scoopta
3d39f7aa5f Fixed memory leak 2020-01-29 21:51:25 -08:00
Scoopta
c971d19fa0 Fixed caching entries that contain a lf 2020-01-29 21:49:16 -08:00
Scoopta
61fb0e38f1 Improved the distance algorithm to take into account whether or not the result contains the search 2020-01-26 12:18:32 -08:00
Scoopta
755d7b37f6 Removed the if statement in the sort code, it's not needed 2020-01-26 12:03:08 -08:00
Scoopta
b41b85a70b Added support for case insensitive fuzzy search 2020-01-26 11:45:56 -08:00
Scoopta
b43739921c Pressing escape now exits with error code 1 2020-01-26 11:22:29 -08:00
Scoopta
684a5adf95 Fixed up config parsing 2020-01-26 00:44:24 -08:00
Scoopta
fadbfd4c13 Backslashes are no longer removed from the config completely but can now be escaped with \\ 2020-01-26 00:21:29 -08:00
Scoopta
6fb839a903 --no-actions doesn't take an argument 2020-01-24 23:44:55 -08:00
Scoopta
5ec88a365e Added --define 2020-01-24 23:36:56 -08:00
Scoopta
84262b19f4 Modes must explicitly declare support for execution without a matching entry 2020-01-23 20:26:33 -08:00
Scoopta
05490241a9 Modes no longer have to pass a name that matches the name they were loaded with, this was just absurdly bad design and I don't know how I came up with it in the first place 2020-01-20 20:09:40 -08:00
Scoopta
5b41ab2ca6 Moved the wofi api to wofi_api.h 2020-01-20 16:22:14 -08:00
Scoopta
c47f7acdcd Don't need calloc 2020-01-19 22:16:15 -08:00
Scoopta
868710726e Switched out my map impl for a GTree 2020-01-19 22:09:04 -08:00
Scoopta
54654f20bb Added #entry and deprecated .entry, #selected, and #unselected 2020-01-18 14:54:52 -08:00
Scoopta
b560f77969 Fixed memory leak 2020-01-16 16:56:08 -08:00
Scoopta
f60cdc0167 Fixed cache files not being auto-created 2020-01-16 16:49:57 -08:00
Scoopta
e5300b2995 Changed the widget insertion system, this should hopefully increase performance and be an all around better system 2020-01-16 16:35:51 -08:00
Scoopta
e7be007842 The color and style config options now have the same semantics as the command line options 2020-01-12 22:20:37 -08:00
Scoopta
d6bac0e7bb Added --no-actions 2020-01-10 14:34:49 -08:00
Scoopta
f00b615f11 Replaced uint8_t with the correct enum types for variables from config_get_mnemonic() 2020-01-07 18:56:57 -08:00
Scoopta
753db64755 And that config_get too 2020-01-07 18:30:34 -08:00
Scoopta
d07622de3e Copyright update 2020-01-06 16:42:52 -08:00
Scoopta
af3188db67 Initialized anchor 2020-01-06 00:40:56 -08:00
Scoopta
a85c516926 Good C practices 2020-01-06 00:39:47 -08:00
Scoopta
8bcdfc0f13 Added --location and made -x and -y behave as proper offsets as they do in rofi 2020-01-06 00:28:57 -08:00
Scoopta
ff8572fc0d Shift+Tab now goes backwards 2020-01-03 19:54:29 -08:00
Scoopta
2c034d5d09 Write access is now checked for when working with cache files 2020-01-02 15:24:30 -08:00
Scoopta
e037fa7b4e Added cache invalidation 2020-01-02 14:36:54 -08:00
Scoopta
a40a8be7f5 Added content_halign option 2019-12-23 01:27:49 -08:00
Scoopta
427e08ecec One too many tabs 2019-12-17 00:19:08 -08:00
Scoopta
75d33f4ef9 Fixed all colon entries 2019-12-17 00:15:28 -08:00
Scoopta
d699827c65 Added --version 2019-12-16 23:55:48 -08:00
Scoopta
0458f06afe Caching now checks for an exact match, this prevents some weird edge cases when using search parsing 2019-12-16 23:38:25 -08:00
Scoopta
8594fc52a3 Parsing image escapes and markup will only occur if their respective options are enabled 2019-12-16 19:38:12 -08:00
Scoopta
c248461260 Added parse_action option to dmenu 2019-12-16 19:15:16 -08:00
Scoopta
62861d3686 Added --parse-search to strip pango markup and image escapes from search text 2019-12-16 18:36:21 -08:00
Scoopta
f6fef341fb Fixed string display issues when strings contain colons in image mode 2019-12-16 17:30:29 -08:00
Scoopta
ac0cd06e13 Added support for mode specific config options 2019-12-01 22:58:30 -08:00
Scoopta
db59ec9d13 OPTION CHANGE: -i and -I have been swapped to improve compatibility with other *nix tools 2019-11-28 22:27:06 -08:00