Commit graph

612 commits

Author SHA1 Message Date
Dave Davenport
87251a991c Indent 2017-02-09 08:27:26 +01:00
Dave Davenport
7b3e0918cf Reduce amount of paths created 2017-02-06 23:45:46 +01:00
Dave Davenport
db92ff1f41 Add border radius to border around widget. 2017-02-06 21:17:56 +01:00
Dave Davenport
8ef7b4b794 Don't recreate every string everytime. 2017-02-03 20:49:16 +01:00
Dave Davenport
2fe22cb7e2 Return to default border when nothing set after state update 2017-02-03 15:44:52 +01:00
Dave Davenport
8f4a4d51c6 Don't apply fonts that don't result in family name or have size 0.
Issue: 554
2017-02-03 09:54:18 +01:00
Dave Davenport
42a1eba275 Remove the extra layer each textbox keeps for drawing its text. (#553) 2017-02-02 20:31:47 +01:00
Moritz Maxeiner
6b9dc1d081 Combi mode: Bang mode prefixes with len>1 (#542)
* Combi mode: Bang mode prefixes with len>1

This is required to match on modes that share a prefix.
Let 'power' and 'pass' be such modes for the following explanation:
Previously, only the first character of after the bang was compared,
so '!p' would always be matched to the 'pass' mode and there was no
way to limit selection in combi mode to the 'power' mode.
Now we can use prefixes of arbitrary length following the bang
such as '!po' (matches 'power' mode), or '!pa' (matches 'pass' mode).
Prefixes of length 1 are unchanged compared to the previous
behaviour, i.e. '!p' will still match 'pass'.

* Combi-mode prefixes should be utf-8 aware
2017-01-26 19:46:46 +01:00
Dave Davenport
b63e417e38 Add configurable fonts for testing. #544 2017-01-24 08:40:37 +01:00
Dave Davenport
0ebd6a260b Add auto-detect option to DPI setting. 2017-01-21 12:58:52 +01:00
Dave Davenport
19b023b221 Split sorting option. one for sorting. One to force levenshtein. 2017-01-11 09:42:37 +01:00
Dave Davenport
4452b08288 Move fzf matcher into helper 2017-01-11 09:20:19 +01:00
Dave Davenport
bfae111579 Fix indenting and header commenting. 2017-01-11 09:11:19 +01:00
Dave Davenport
268b0fa3b0 Super-1..10 keybinding activates row 1..10.
Allowing fore quick switching to entry.
https://forum.qtools.org/t/select-entry-by-offset/84/5
2017-01-10 07:41:37 +01:00
Dave Davenport
25dff63006 Improve error handling string. 2017-01-09 22:40:11 +01:00
Dave Davenport
854aa55453 Better error reporting (1) 2017-01-09 18:32:26 +01:00
Dave Davenport
5188e36147 Remove unused functions and other small fixes 2017-01-09 08:39:02 +01:00
Dave Davenport
f42e4ffbd7 Remove old cairo color set functions 2017-01-09 08:32:16 +01:00
Dave Davenport
713d41f619 Allow matching highlighting to be set. Fixes #522 2017-01-09 00:09:02 +01:00
Dave Davenport
baab2047ad Indent magic, rework makefile so lexer and yacc file are not passed. 2017-01-08 21:36:06 +01:00
Dave Davenport
26efbecbc3 Fix multiple -theme-str lines parsing, fix num lines 2017-01-08 17:18:49 +01:00
Dave Davenport
ce2cf6b2d9 Make error dialog widget layout match normal one 2017-01-08 16:49:46 +01:00
Dave Davenport
c7e860bb55 Fix doxygen typo 2017-01-08 16:34:50 +01:00
Dave Davenport
8543ac8438 Fix doxygen. 2017-01-08 16:23:17 +01:00
Dave Davenport
c57e7348d2 Add some better error message. Allow -theme-str option to override part of theme 2017-01-08 16:09:24 +01:00
Dave Davenport
06c5f51e7d Allow to set anchor position on normitor and anchor position on window. 2017-01-06 19:04:25 +01:00
Dave Davenport
af8a6541a2 Order entries in box based on index, allow theme to override. 2017-01-06 16:41:23 +01:00
Dave Davenport
5078034672 Add scrollbar 'handle-width' and 'handle-color' remove old syntax 2017-01-06 15:36:06 +01:00
Dave Davenport
add0e2f801 Merge remote-tracking branch 'origin/master' into themer 2017-01-06 11:07:14 +01:00
Dave Davenport
051be0cfe6 Change keyboard grabbing behaviour, if you fail, continue running and try in background to get them. 2017-01-06 11:00:27 +01:00
Dave Davenport
f2a4049991 Remove separator 2017-01-05 22:07:50 +01:00
Dave Davenport
3eb450c37e Add generic container (renamed window widget) put container around message. 2017-01-05 18:33:57 +01:00
Dave Davenport
4cc21b93a5 Allow linking to top level properties. 2017-01-05 18:22:34 +01:00
Dave Davenport
580bcc138e Fix doxygen 2017-01-04 23:40:05 +01:00
Dave Davenport
9dd3cb312e Support linestyle on border 2017-01-04 22:27:27 +01:00
Dave Davenport
a77e080c60 Fix small doxygen/header issue. 2017-01-04 15:49:05 +01:00
Dave Davenport
85a0e1a57e Remove class system from new theme format. Fix theme converter. 2017-01-04 15:05:39 +01:00
Dave Davenport
44581fd90b Allow packing order to be set using theme. 2017-01-04 13:34:02 +01:00
Dave Davenport
495dfb4c20 Add support for margin. 2017-01-03 23:51:15 +01:00
Dave Davenport
953e260511 When order is reversed. reverse listview order fix #523 2017-01-03 20:33:30 +01:00
Dave Davenport
f9fc01b176 Add percentage option to border,padding 2017-01-03 19:23:09 +01:00
Dave Davenport
b60ca07f1f Remove border-width property from window. 2017-01-03 15:57:40 +01:00
Dave Davenport
861b52a523 Add support for borders around widgets. 2017-01-03 15:39:19 +01:00
Dave Davenport
37d99378dd cleanup some of sizing logic. 2017-01-02 21:19:27 +01:00
Dave Davenport
47aa7c4900 Fix errors in doxygen comments 2017-01-01 18:40:49 +01:00
Dave Davenport
ccf3f23d9b Update comments, rename Widget to ThemeWidget. 2017-01-01 18:08:49 +01:00
Dave Davenport
44534653bf Remove border from ViewState 2017-01-01 12:16:04 +01:00
Dave Davenport
5c547393b8 Repaint (if) needed before flipping xcb_copy_area 2017-01-01 02:57:04 +01:00
Dave Davenport
e29f89e401 Reorder padding order, support 1,2,3,4 entries. 2017-01-01 01:31:25 +01:00
Dave Davenport
d35e70d817 Support converting old theme internally, add first option to dump theme 2017-01-01 01:06:38 +01:00
Dave Davenport
7b0e0643c8 Make spacing be of type distance. 2016-12-31 23:27:17 +01:00
Dave Davenport
52e850dc33 Fix EM support, use char height 2016-12-31 23:00:06 +01:00
Dave Davenport
068592414e Support em format in padding 2016-12-31 22:47:22 +01:00
Dave Davenport
5f424fa598 Padding should be specified in px now and 4 borders can be specified on
one pixel line.
2016-12-31 21:37:19 +01:00
Dave Davenport
eafd4697a2 Fix some of the sizing issues. 2016-12-30 18:31:30 +01:00
Dave Davenport
a2001d1b9c Add window widget, play with logic for sizing (broken) 2016-12-28 19:42:14 +01:00
Dave Davenport
d63b9cb15e Padding to textbox. remove config.line_padding 2016-12-28 13:46:53 +01:00
Dave Davenport
77fdb08169 Allow padding on scrollbar 2016-12-28 12:57:58 +01:00
Dave Davenport
843ccc1e41 Update drawing, background per widget. 2016-12-28 12:21:42 +01:00
Dave Davenport
dfc8a31126 Redo some of the redrawing methods, better padding support 2016-12-28 00:37:32 +01:00
Dave Davenport
1c611b0eec First start at adding 4 sided padding 2016-12-27 22:19:15 +01:00
Dave Davenport
a0bab0e99a Merge remote-tracking branch 'origin/master' into themer 2016-12-26 13:10:19 +01:00
Dave Davenport
3be5791fb2 Use clipboard atom instead of XCB_ATOM_SECONDARY for pasting.
Should fix issue: #516
2016-12-24 14:13:31 +01:00
Dave Davenport
96b09b8fff Merge remote-tracking branch 'origin/master' into themer 2016-12-20 09:26:21 +01:00
Dave Davenport
49f58a33f5 Hit 100% doxy coverage again, remove attribute it chokes on 2016-12-20 09:25:56 +01:00
Dave Davenport
b8e58b0342 Make parser more flexible, allow global properties to be anywhere in file and allow multiple similar entries. 2016-12-16 09:28:13 +01:00
Dave Davenport
fd64bb7a41 Improve lexer by adding support for modes. 2016-12-12 23:40:43 +01:00
Dave Davenport
be0677cf49 Update theme to new format.
- @class state {

}
- #name state {

}
2016-12-12 21:14:57 +01:00
Dave Davenport
6d9ce47974 Merge remote-tracking branch 'origin/master' into themer 2016-12-12 08:53:35 +01:00
Dave Davenport
47125daecf Reset user input on script selection.
Fixes: #513
2016-12-12 08:52:27 +01:00
Dave Davenport
95667e60d9 Add theme option to config system. 2016-12-11 18:06:35 +01:00
Dave Davenport
78abbeb710 Textbox uses new theme engine.. 2016-12-11 17:06:31 +01:00
Dave Davenport
1dfac3c4da Update to new theme 2016-12-11 12:19:46 +01:00
Dave Davenport
5fd76b75b1 Add some color stuff 2016-12-10 19:48:44 +01:00
Dave Davenport
2d01d1566a Add some properties to themes 2016-12-09 22:16:31 +01:00
Dave Davenport
d18f037d1c Add lex/bison parser for theme. 2016-12-09 19:49:49 +01:00
Dave Davenport
31115dd312 Print compile options (window, drun,timing, asan, gcov) in -help
Issue: #506
2016-11-25 20:00:27 +01:00
Dave Davenport
b1a44cc65e Update code documentation 2016-11-15 21:54:31 +01:00
Dave Davenport
7e74d39a01 Fix indentation 2016-11-15 08:24:27 +01:00
Dave Davenport
c86a28ca70 Small code restructure 2016-11-15 08:24:06 +01:00
Dave Davenport
29cacd0e83 Try to improve parsing of Keybinding. Give more specific error of what failed.
+ Implementation is slower. but is one time, so should be fine.
2016-11-14 18:32:22 +01:00
Dave Davenport
62879ee739 Continue parsing when keybinding fail, only show errors after all are done. 2016-11-14 16:53:01 +01:00
Dave Davenport
fcf3c33415 Fix keybinding with Shift in name. Alt-Shift-S -> Alt-S. Alt-Shift-1 -> Alt-exclam
+ indent.
2016-11-14 16:25:04 +01:00
Dave Davenport
27cef3c9ae Fix #497: Create cache dir if not exists. 2016-11-12 11:28:40 +01:00
Dave Davenport
545be58e40 Issue #454 pass our window id along in the change active window request 2016-11-07 09:15:04 +01:00
Dave Davenport
90c314f397 Re-add column, but not for dmenu when prompt is set 2016-11-07 08:51:23 +01:00
Dave Davenport
ed6cb59b5d Fix crash on wrongly queued ViewState (thx to teto) 2016-11-02 18:24:20 +01:00
Dave Davenport
3b698038d7 Document enum of separator.h 2016-11-01 21:19:13 +01:00
Dave Davenport
e72508b782 Remove opacity option. 2016-11-01 08:10:27 +01:00
Dave Davenport
4c5df96fcd Pull config option access from out of separator widget. 2016-11-01 08:04:39 +01:00
Dave Davenport
e3ab39ea6f add more details to timing log 2016-10-31 08:07:02 +01:00
Dave Davenport
86b6beb1e9 Update some code. 2016-10-28 23:28:49 +02:00
Dave Davenport
217290479e Merge two functions that no longer have a reason to be split.
Fixes: #491
2016-10-28 08:51:53 +02:00
Dave Davenport
fb459e1660 Make scrollbar behave better 2016-10-26 08:24:34 +02:00
Dave Davenport
163934fa8c Simplify some code, more comments. (90% docu) 2016-10-25 22:45:11 +02:00
Dave Davenport
a38ac9caf3 Update scrollbar behaviour, so dragging is more natural. (limit range from hw/2 to h-hw/2) 2016-10-25 21:19:39 +02:00
Dave Davenport
440756af94 Option to disable/enable the highlighting of match. 2016-10-24 21:47:36 +02:00
Dave Davenport
881056ea9b Add some more tests, make some textbox api's private 2016-10-20 09:41:32 +02:00
Dave Davenport
7b3b68462e Fix memory leak in box and listview widget, add coverage make target. (ggcov and lcov) 2016-10-18 13:49:24 +02:00
Dave Davenport
0e176199fc Fix some possible null pointer dereference. (clang-check) 2016-10-17 18:21:03 +02:00
Dave Davenport
e95b2047bd Fix stupid missing */ in commit 2016-10-15 15:45:28 +02:00
Dave Davenport
f0981d6697 Indenting, comments 2016-10-15 15:39:08 +02:00
Dave Davenport
9293c8b8ce More docu updates 2016-10-14 18:56:09 +02:00
Dave Davenport
ce341f6885 Document more headers. 2016-10-14 16:46:54 +02:00
Dave Davenport
b4c599f022 Add more documentation.
Current state: 61% coverage.
2016-10-14 08:47:21 +02:00
Dave Davenport
1cd94c27c7 Update documentation, tests for widget 2016-10-13 09:22:08 +02:00
Dave Davenport
cc3bb30a7b Remove unneeded calls to tokenize. 2016-10-11 08:18:34 +02:00
Dave Davenport
07425fd10a Always refilter when switching modi. 2016-10-11 08:11:14 +02:00
Dave Davenport
f3298801f3 Split internal widget into separate file 2016-10-09 10:13:15 +02:00
Dave Davenport
f10bc5004f Make separator work in both directions ( hori/vert ). 2016-10-09 10:07:32 +02:00
Dave Davenport
ad02f8f0b7 Small docu update. 2016-10-09 09:40:21 +02:00
Dave Davenport
1dc32727b3 Document box public api. 2016-10-09 09:30:57 +02:00
Dave Davenport
3c64507f02 Qtk widgets (#478)
* Initial support for using boxes for packing widgets.

* Make CapiTalIzation more consistent

* Move widgets to subdirectory

* Removed nolonger needed resize function.

* Small cleanup

* When switching mode, reuse view, don't rebuild it. Reduces artifacts.

* Needs cleaning up.

* Remove separate prompt argument, use display_name

* Simplify run-switcher code.

* Add notion of parents, and trigger parent update on resize.

* Use widget_get_height wrapper, avoid crash

* Size separator width based on height. (indent)

 * TODO add margin to box.

* First draft version of listview.

* Add scrollbar to listview widget

* Add padding option to box

* Move access to global config out of widget. (1/2 done)

*  Remove printf

* Make listview not access global config

* Add click support, implement on mode buttons.

* Re-introduce mouse handling on list-view.

* TODO draggin on scrollbar.

* Fix multi-select

* Fix warnings

* Fix include
2016-10-08 18:57:59 +02:00
Dave Davenport
0da0587087 Make widget_free work on textbox and scrollbar, use widget specific free. 2016-09-27 22:38:26 +02:00
Dave Davenport
89acc7b6ed Make one widget_draw function, abstract rest (textbox, scrollbar) behind it. 2016-09-27 22:15:39 +02:00
Dave Davenport
d4d757a7c0 Allow for reloading of window content (10fps), needed for async transfer.
* Resize window to fit rows if not num-fixed-lines is set.
 * If there is no entry to show, remove separator.
 * Store size/pos per State.
2016-09-17 18:06:25 +02:00
Ian Remmler
91e2ecf212 Added click-to-exit option. (#460)
Exit if a mouse button is pressed and released outside of the rofi
window.
2016-09-08 22:42:41 +02:00
Dave Davenport
e3fb17a843 Ask window manager to hide decoration in normal-window mode.
Issue #485
2016-09-08 08:57:35 +02:00
Dave Davenport
4379f3be7c Ctrl-click does alternate accept entry.
Fixes #429
2016-09-02 18:19:16 +02:00
Dave Davenport
c099aaeabf Add debug output. 2016-08-30 21:24:04 +02:00
Dave Davenport
5646adc34d Add option to set padding within a line.
Fixes: #449
2016-08-30 18:07:34 +02:00
Dave Davenport
51eac318fd Test #454 unmap window before switching. 2016-08-30 08:14:53 +02:00
Dave Davenport
e79361e890 Fix configure script a bit. 2016-08-29 21:38:29 +02:00
Dave Davenport
5cfe9a89b3 Improve DRun handling a bit.
- Remove entries that are deprecated or unsupported.
 - Handle field codes %c and %k

TODO:
 - Detect multiple identical field code entries and throw error.
2016-08-29 21:14:03 +02:00
Dave Davenport
e4cab560f4 First hack at fixing Desktop file parser. 2016-08-28 22:43:42 +02:00
Dave Davenport
20e55e1e4e Add fuzzy matching, make a -matching option.
* -matching *method* option instead of -regex, -glob, -fuzzy.
 * Re-add fuzzy matching pattern.
 * When there are substrings in regex, only highlight those matches.

Fixes: #447
2016-08-25 21:17:58 +02:00
Dave Davenport
ef3c773097 Constness. 2016-08-24 00:39:56 +02:00
Dave Davenport
df7468b491 Use XRandr to get monitor layout instead of xinerama.
* You can now specify monitor by name, or primary status.
2016-08-19 10:46:38 +02:00
Dave Davenport
eb0bfc60c4 Indicate what set an option, comment default options in dump-xresources. 2016-08-04 20:24:01 +02:00
Dave Davenport
604b4cb619 Fix memory leak, re-indent 2016-07-31 23:28:31 +02:00
Dave Davenport
4be25abad7 Fix some doxygen warnings. 2016-07-29 08:32:34 +02:00
Dave Davenport
8478b427f1 Fix Control+u behaviour 2016-07-27 08:10:55 +02:00
Dave Davenport
fe230eb95c Fix #432, Control+k removes till eol. 2016-07-25 11:32:30 +02:00
Dave Davenport
59635919ea Add selection indicator to dmenu mode. 2016-07-18 23:49:26 +02:00
Dave Davenport
fc24fcca22 Update Changelog 2016-07-14 07:48:28 +02:00
Dave Davenport
b47e9c3846 Allow for more advanced window 'line' formatting 2016-07-12 10:44:43 +02:00
Dave Davenport
342192b4ed Remove work-around for older i3 version (< 4.9)
- I3 got ewhm support in Feb. 2015.
2016-07-06 08:34:47 +02:00
Dave Davenport
9f25a975ae Fix windowcd command and allow custom Window string format 2016-06-28 23:07:48 +02:00
Dave Davenport
6e2d0b6319 Add selection counter in dmenu mode 2016-06-26 15:48:12 +02:00
Dave Davenport
a7922cc07c Remove xlib dependency, add xcb-util-xrm. 2016-06-25 14:01:41 +02:00
Dave Davenport
77a0800ccf Copy memory instead of mixing malloc and g_malloc'ed memories (and freeing them all with g_free) 2016-06-21 22:40:42 +02:00
Dave Davenport
1f4af41e96 Split Custom and Alternate command. 2016-06-19 18:02:49 +02:00
Dave Davenport
03239cb989 Remove fuzzy matching option. 2016-06-18 20:54:29 +02:00
Dave Davenport
7a2435a23b Indent don't use partial match. 2016-06-16 22:23:55 +02:00
Dave Davenport
0b84d63959 Merge remote-tracking branch 'origin/master' into highlight_match 2016-06-07 09:02:03 +02:00
Dave Davenport
9ff7a26c7e Some indenting fixes 2016-06-05 20:41:10 +02:00
Dave Davenport
72d6c20876 Merge remote-tracking branch 'origin/master' into highlight_match 2016-06-01 19:04:52 +02:00
Dave Davenport
01ce909c97 Update some headers. 2016-06-01 07:34:41 +02:00
Dave Davenport
1b5bcaa9f4 Issue #411: Show list of Keyboard bindings with rofi, from rofi. 2016-05-30 10:25:58 +02:00
Dave Davenport
0e86050db8 Fix combi mode 'bang' behaviour, improve levenshtein with combi 2016-05-26 08:39:33 +02:00