Commit Graph

343 Commits

Author SHA1 Message Date
Brian Daniels
8d1075eb2c Use the browse selection mode to ensure there is alway an item selected.
It was possible to deselect items when using a touch screen. This is done
by tapping on an item that's already selected. This would cause a segfault
in the select_item() function of src/wofi.c since
gtk_flow_box_get_selected_children() would return NULL in this case. By
setting the selection mode to GTK_SELECTION_BROWSE, we avoid this case
by ensuring an item is always selected.
2020-04-25 12:09:17 -04:00
Scoopta
17e43f2338 The contents of the entry boxes are now flagged as selected when selected 2020-04-24 22:41:49 -07:00
Jonas Witschel
023fe67c5b Fix double free when both allow_markup and parse_search are enabled
If out is not initialised, GLib will attempt to free the string automagically
later, leading to a crash. To reproduce, try running

wofi --define parse_search=true --define allow_markup=true --show dmenu,drun
2020-04-23 14:44:02 +02:00
lbonn
de40550d2f Hide the small window before percent resizing 2020-04-22 11:22:23 +02:00
Scoopta
443b729de5 Sorting will now fallback to basic sort order if the fancy sorts are identical 2020-04-10 22:12:43 -07:00
Scoopta
6ce49cd43d Fixed use after free 2020-04-10 21:55:03 -07:00
Scoopta
7308465f26 Added support for multiple key binds to a single action 2020-04-10 21:50:48 -07:00
Scoopta
6db2a2260d Added support for alt as a modifier key 2020-04-06 15:35:22 -07:00
Scoopta
f8e1c779cc Added key_hide_search 2020-04-06 15:17:12 -07:00
Scoopta
98fe587316 Fixed expanders not shrinking back to their original size 2020-04-06 15:00:14 -07:00
Scoopta
c3ca5e027d Added key_expand 2020-04-06 14:41:12 -07:00
Scoopta
a32fa82b12 Added alacritty to the default terminal list 2020-04-02 22:57:46 -07:00
Scoopta
c85bb48ba7 Updated README to add the new arch package 2020-04-02 15:53:49 -07:00
Scoopta
29aeffd8c1 Cleaned up includes, they were a bit of a mess 2020-03-25 23:05:46 -07:00
Scoopta
f61ec70797 Moved code to get $XDG_DATA_DIRS and $XDG_DATA_HOME to separate functions 2020-03-24 18:54:44 -07:00
Scoopta
efca41d41a $XDG_DATA_HOME/applications now gets priority over cache 2020-03-24 18:37:23 -07:00
Scoopta
c56be00336 drun: Removed cached map 2020-03-24 14:50:28 -07:00
Jan Beich
2c20a6bda4 Explicitly set C standard for old compilers
../src/config.c: In function 'config_put':
../src/config.c:24: error: 'for' loop initial declaration used outside C99 mode
../src/config.c: In function 'config_get_mnemonic':
../src/config.c:82: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c: In function 'utils_concat':
../src/utils.c:37: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:44: error: redefinition of 'count'
../src/utils.c:37: error: previous definition of 'count' was here
../src/utils.c:44: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c: In function 'utils_distance':
../src/utils.c:75: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:78: error: redefinition of 'count'
../src/utils.c:75: error: previous definition of 'count' was here
../src/utils.c:78: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:83: error: 'for' loop initial declaration used outside C99 mode
../src/utils.c:84: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_search_text':
../modes/drun.c:85: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_action_text':
../modes/drun.c:132: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'get_action_actions':
../modes/drun.c:152: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'insert_dir':
../modes/drun.c:218: error: 'for' loop initial declaration used outside C99 mode
../modes/drun.c: In function 'wofi_drun_init':
../modes/drun.c:267: error: 'for' loop initial declaration used outside C99 mode
../src/main.c: In function 'wofi_load_css':
../src/main.c:112: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function '_insert_widget':
../src/wofi.c:468: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:487: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:509: error: redefinition of 'count'
../src/wofi.c:487: error: previous definition of 'count' was here
../src/wofi.c:509: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:514: error: redefinition of 'count'
../src/wofi.c:509: error: previous definition of 'count' was here
../src/wofi.c:514: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'escape_lf':
../src/wofi.c:541: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'remove_escapes':
../src/wofi.c:561: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'wofi_create_widget':
../src/wofi.c:739: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:745: error: redefinition of 'count'
../src/wofi.c:739: error: previous definition of 'count' was here
../src/wofi.c:745: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'wofi_term_run':
../src/wofi.c:784: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'fuzzy_sort':
../src/wofi.c:856: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:862: error: redefinition of 'count'
../src/wofi.c:856: error: previous definition of 'count' was here
../src/wofi.c:862: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c:868: error: redefinition of 'count'
../src/wofi.c:862: error: previous definition of 'count' was here
../src/wofi.c:868: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'move_pgup':
../src/wofi.c:1026: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'move_pgdn':
../src/wofi.c:1033: error: 'for' loop initial declaration used outside C99 mode
../src/wofi.c: In function 'load_mode':
../src/wofi.c:1244: error: 'for' loop initial declaration used outside C99 mode
2020-03-24 13:11:51 -07:00
Scoopta
874eafb27f Added documentation about the format of mode specific config options to wofi(7) in addition to the info in wofi(5) 2020-03-17 14:26:47 -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
60502adf83 Added documentation about wofi_get_dso_path() 2020-03-13 13:26:16 -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
4f85609ae0 Updated the fedora package info in the readme 2020-03-09 23:08:03 -07:00
Scoopta
ac3fc9034c Added a screenshot 2020-03-09 22:53:05 -07:00
Scoopta
5625646da6 Merged v1.1.2 into default 2020-03-09 22:42:35 -07:00
Scoopta
56ec7c524f Added tag v1.1.2 for changeset 96d47bb081be 2020-03-09 22:37:41 -07:00
Scoopta
1dd640e283 v1.1.2: fixed typos in man pages 2020-03-09 22:37:36 -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
107eb5dd94 Removed threads from the dependencies 2020-03-08 23:33:15 -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
7cdc682a6d Added support for using \t as a separator in dmenu mode 2020-03-07 21:12:14 -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
Scoopta
f016f32f7a Added tag v1.1.1 for changeset fc1124ee262b 2020-03-05 11:36:00 -08:00
Scoopta
c64526023e v1.1.1: Headers and pkg-config file are now installed 2020-03-05 11:35:55 -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
7755727cb6 Merged v1.1.1 into default 2020-03-05 11:37:51 -08:00
Scoopta
dc166e1381 Added fedora package to the list of packages 2020-03-03 17:26:17 -08:00
Scoopta
a672361d65 --lines should play nicer with % dimensions 2020-03-03 11:13:11 -08:00
Scoopta
12d68bbd01 Added - escapes 2020-03-03 00:48:35 -08:00
Scoopta
341e4cc080 Added an example on how to do window switching to the man pages 2020-03-03 00:45:08 -08:00