Commit graph

725 commits

Author SHA1 Message Date
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
Yaroslav
f901494c6a Switch to stop cycling feature (#407)
* Added 'cycle' option to switch list navigation wrapping

* Replaced tabs with spaces

* Updating the expected rofi properties with 'cycle' option

* Updating documentation with the 'cycle' option
2016-05-25 20:40:23 +02:00
Dave Davenport
99a79f7eb4 Don't use g_ascii on utf8 string. 2016-05-22 19:41:52 +02:00
Dave Davenport
498fadc735 Remove the is_ascii mess. 2016-05-22 17:47:34 +02:00
Dave Davenport
8091558ed8 Go Regex Go 2016-05-21 10:37:23 +02:00
Dave Davenport
2a20821ddd Merge remote-tracking branch 'origin/master' into hm 2016-05-20 09:57:25 +02:00
Quentin Glidic
db4f087487 window: Make custom action run a command on the window
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-12 11:31:12 +02:00
Dave Davenport
c8a6b26607 First try at highlighting match (regex only) 2016-05-10 18:02:23 +02:00
Dave Davenport
09437e3f0e We don't have a negative page number. 2016-05-10 17:51:23 +02:00
Dave Davenport
bd412b9975 Grab mouse pointer with keyboard. 2016-05-09 08:47:28 +02:00
Dave Davenport
171d132b9b Update ChangeLog 2016-05-09 08:23:19 +02:00
Dave Davenport
8f6c9ee070 Fix indenting 2016-05-08 11:13:11 +02:00
Quentin Glidic
67b0ce036f keybindings: Implement on-release bindings
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:31:04 +02:00
Quentin Glidic
20791d4a71 view: Split action triggering to an helper function
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:31:00 +02:00
Quentin Glidic
54f85fabaa keybindings: Rework the matching
Now we check all bindings in one place, allowing for future naughty
matching.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:25:04 +02:00
Quentin Glidic
aa350a1583 textbox/key: Cleanup
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:24:22 +02:00
Quentin Glidic
5b0964ae32 textbox: Split keybinding and text handling
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:24:10 +02:00
Dave Davenport
8e05106c87 Add option to view background image instead of screenshot in fake transparency. Issue #390 2016-05-06 12:40:55 +02:00
Dave Davenport
85aeffbd24 small cleanup 2016-04-20 17:03:34 +02:00
Dave Davenport
3918625804 Move teardown to the logic place again (possible with deamon mode removed) 2016-04-20 08:04:23 +02:00
Dave Davenport
e54e012500 Issue: #381: Try to handle X11 input and UTF-8 better.
In window_get_text_prop do conversion when input is of type STRING. (latin1) to utf8.
Dmenu: don't skip invalid lines, but try to display as much as possible.
Window mode: Double check all input from X.
2016-04-10 12:05:34 +02:00
Dave Davenport
541f5b1fc9 Fixes issue #370: Move dmenu option into dmenu. 2016-04-02 10:39:02 +02:00
Dave Davenport
1b4e5069f6 Revert "Test config file before load, support ~/.config/rofi/theme and remove config_path global, fix loading dynamic options from /etc/rofi.conf"
This reverts commit 0c7d1a6b17.
2016-04-01 17:58:41 +02:00
Dave Davenport
0c7d1a6b17 Test config file before load, support ~/.config/rofi/theme and remove config_path global, fix loading dynamic options from /etc/rofi.conf 2016-04-01 08:40:23 +02:00
Dave Davenport
c4b65d975c Cleanup unused type specifier. 2016-03-24 22:13:19 +01:00
Quentin Glidic
20c9abf0a2 keybindings: Merge accept-custom and accept-entry-continue
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-03-20 10:39:34 +01:00
Quentin Glidic
abe44475fc view: Fix multi-character compose sequences
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-03-07 18:10:22 +01:00
Dave Davenport
d5be6d232e Add MENU_ERROR_DIALOG flag. 2016-03-06 16:03:04 +01:00
Dave Davenport
d99111c73b Remove deprecated theme system. 2016-03-05 18:28:39 +01:00
Dave Davenport
72dfe2ad4c Propagate error down, show dialog.
Fix positioning dialog.
2016-03-05 11:08:32 +01:00
Dave Davenport
fa7ceaf580 Check for the availability of the xinerama extension. 2016-03-04 17:03:24 +01:00
Dave Davenport
06d25c0ca2 Quit on error msg fail. 2016-03-03 08:21:28 +01:00
Dave Davenport
f0b1998703 Cleanups (cppcheck) 2016-03-02 18:07:59 +01:00
Dave Davenport
f05f0de583 Fix #348, give a warning when font failed to parse 2016-03-01 19:48:18 +01:00
Dave Davenport
8c950a984c Small cleanup 2016-03-01 18:33:26 +01:00
Dave Davenport
167e9d30ce Add missing files. 2016-03-01 18:17:39 +01:00
Dave Davenport
7d046a1f5b Pack magic externs into a xcb_stuff. 2016-03-01 18:11:55 +01:00
Dave Davenport
fb2c23a429 Try to get fullscreenmode to draw nicer. 2016-02-29 12:11:04 +01:00
Dave Davenport
ef98b3928a Small cleanup. 2016-02-28 18:20:39 +01:00
Dave Davenport
a4fd907fe8 Run indenter 2016-02-28 15:32:53 +01:00
Dave Davenport
057f156009 Remove unneeded atom 2016-02-28 12:35:47 +01:00
Quentin Glidic
909241ddfe Remove X11 headers includes
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-28 12:21:26 +01:00
Quentin Glidic
644556b7b6 Change Window/Atom to xcb_window_t/xcb_atom_t
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-28 12:21:26 +01:00
Dave Davenport
ab57479da9 Remove Atom with xcb_atom_t. 2016-02-28 12:19:56 +01:00
Dave Davenport
93cb9ee7eb Remove opening of display. 2016-02-28 01:08:12 +01:00
Dave Davenport
d813d03a5f Convert more stuff to xcb, keyboard grab, cleanup 2016-02-28 00:09:05 +01:00
Dave Davenport
4c661c3932 Move most of window modi to xcb 2016-02-27 22:55:47 +01:00
Dave Davenport
bb2f0d8b83 Move more to xcb, window_*_ functions to xcb_ functions 2016-02-27 21:55:43 +01:00
Dave Davenport
a02cb83a98 Move more to xcb. 2016-02-27 20:45:47 +01:00
Dave Davenport
15ad8e1da3 Removing XCB from view.c, paste less 2016-02-27 17:42:50 +01:00
Quentin Glidic
2ef950eab9 WIP: Port window stuff to xcb
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:37:25 +01:00
Quentin Glidic
6bb1d4b1a2 x11-helper: Migrate to libxkbcommon
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:34:38 +01:00
Quentin Glidic
3029e05ac7 keybindings: Rework modmask matching
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 17:34:31 +01:00
Quentin Glidic
590e61b417 view: Store modstate on keypress event
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:52:35 +01:00
Quentin Glidic
990914d20f rofi: Drop daemon mode
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:15:03 +01:00
Quentin Glidic
88ddb7f04e x11-helper: Directly store the useful value
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:13:44 +01:00
Quentin Glidic
f39f5bb0cb view-internal: Use XCB types
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-23 12:13:21 +01:00
Quentin Glidic
09e520dfe8 rofi: Always use ARGB for Cairo image surfaces
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 22:10:03 +01:00
Dave Davenport
aa1d8b4046 Remove x11-event-source, replaced by libgwater. 2016-02-21 17:47:19 +01:00
Quentin Glidic
5d6f2ee1ab Compose stuff
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Quentin Glidic
e1f87a67b4 rofi: Migrate to libxkbcommon
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Quentin Glidic
fe7ca2079d rofi: Convert to XCB events
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 16:04:53 +01:00
Dave Davenport
6e3bb506de Full mainloop madness 2016-02-19 19:50:48 +01:00
Dave Davenport
4eb3fd1da3 Test for single mainloop 2016-02-19 19:29:06 +01:00
Dave Davenport
d2567a6884 #219: Implement continious scroll 2016-02-17 20:29:23 +01:00
Dave Davenport
63be750c5b Quick work-around fix for rofi blocking X on unavailable monitor 2016-02-17 00:00:41 +01:00
Dave Davenport
6217edf622 #343 Add history support to drun mode. 2016-02-16 10:40:21 +01:00
Dave Davenport
5da7430b1e Fix double typedef. 2016-02-11 20:24:29 +01:00
Dave Davenport
11c347fad8 Use accessors in RofiView to get modi's and num modi for sidebar. 2016-02-11 08:41:19 +01:00
Dave Davenport
fdb4c99456 Remove normal window global. 2016-02-10 19:40:19 +01:00
Dave Davenport
2cd8888d2c Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 22:35:03 +01:00
Dave Davenport
289795b22a Fix finding active desktop! 2016-02-09 21:25:29 +01:00
Dave Davenport
c3f15a4e2a Merge remote-tracking branch 'origin/master' into glib-loop 2016-02-09 07:56:45 +01:00
Dave Davenport
e7b18d3a88 Issue: #334: Only allow markup-rows to be set on cmdline
This should avoid people setting this in XResrouces and breaking random dmenu scripts.
2016-02-09 07:37:48 +01:00
Dave Davenport
5d430824b3 Doxygen updates. 2016-02-08 18:16:16 +01:00
Dave Davenport
5a86ae5c99 Cleanups 2016-02-08 09:03:11 +01:00
Dave Davenport
ad932c8fd0 More cleanups 2016-02-07 20:38:34 +01:00
Dave Davenport
ca3afc6a6e more renameing 2016-02-07 14:09:00 +01:00
Dave Davenport
69b3a360fc Continue cleanup 2016-02-07 12:31:17 +01:00
Dave Davenport
adfc83f07d Restructuring, my biggest joy. 2016-02-06 14:27:36 +01:00
Dave Davenport
73169af793 Remove no longer needed structure. 2016-02-06 13:40:25 +01:00
Dave Davenport
312ca274fc Split of files. 2016-02-06 13:06:58 +01:00
Dave Davenport
91780b71db Small fix. 2016-01-27 23:39:52 +01:00
Dave Davenport
eab4e1438f Make dmenu use glib mainloop. 2016-01-26 08:38:07 +01:00
Dave Davenport
984257fffc Very dirty first attempt at glib mainloop in switcher (not yet dmenu.) 2016-01-20 20:57:26 +01:00
Dave Davenport
4b7a29a26f Take SardemFF7 feedback on putting g_source_[attach|add_callback] inside factory. 2016-01-20 19:12:17 +01:00
Dave Davenport
d9ac267960 Merge remote-tracking branch 'origin/master' into glib-loop 2016-01-20 18:57:41 +01:00
Dave Davenport
eadf455c8c Let DMenu mode reuse open dialog and not restart it. handy for multi-select. 2016-01-20 18:50:33 +01:00
Dave Davenport
d0716efe12 Refactor menu function into three parts, setup, itterrate and finalize. 2016-01-20 18:24:31 +01:00
Dave Davenport
42ee408d0f Move X11EventSource into separate file. 2016-01-18 22:02:07 +01:00
Dave Davenport
6692f36423 SardemF77 input. 2016-01-18 21:43:33 +01:00
Dave Davenport
80a6aa4549 Test a first glib mainloop. 2016-01-18 20:51:35 +01:00
Dave Davenport
98fdf04285 [RUN] UTF-8/locale conversion and sardem exec test. 2016-01-14 20:40:19 +01:00
Dave Davenport
cc682f107b Update display value for modi (testing) 2016-01-12 22:18:10 +01:00
Dave Davenport
f080aa2d61 Remove duplicate code, make password right character length. 2016-01-11 08:36:20 +01:00
Dave Davenport
13810d5911 Add experimental 'password' mode. (#315) 2016-01-10 13:10:44 +01:00
Dave Davenport
c6a9de8c4a Use snprintf instead of sprintf 2016-01-09 19:25:03 +01:00
Dave Davenport
d7dab65e5b Making widget class, moving stuff around 2016-01-09 16:22:09 +01:00
Dave Davenport
63a3552c63 Doxy mode.h 2016-01-08 09:29:15 +01:00
Dave Davenport
dc8fb4f202 Start making SardemFF happy. Use g_return_if_fail 2016-01-08 09:16:59 +01:00
Dave Davenport
fa51aeb484 More splitting and abstracting. 2016-01-07 21:27:20 +01:00
Dave Davenport
e8daff0f6a First cleanup steps. 2016-01-07 19:47:37 +01:00
Dave Davenport
51b5511017 More doxygen sugar. 2016-01-07 16:01:56 +01:00
Dave Davenport
b59552003e More doxygen sugar 2016-01-07 13:32:33 +01:00
Dave Davenport
504e27f701 Add some doxygen sugar. 2016-01-07 08:54:24 +01:00
Dave Davenport
c512f81c9c Update comments, replace printf/build_filename 2016-01-06 12:40:41 +01:00
Dave Davenport
0b26287396 Add small wrapper around history. 2016-01-05 21:31:17 +01:00
Dave Davenport
81ea5fd8c6 Update documentation for ssh dialog 2016-01-05 21:19:30 +01:00
Dave Davenport
329f31bd75 Add doxygen target. 2016-01-05 19:49:13 +01:00
Dave Davenport
d661a515f0 Make levenshtein sort utf8 aware and obey case sensitive setting.
- Add tests.
        - Use Glibs unichar for comparison.
2016-01-04 17:18:49 +01:00
Dave Davenport
41bd981b38 Initialize Xrm only once. 2016-01-04 07:59:30 +01:00
Dave Davenport
bd3d472bec Add optional config file that overrides local Xresources
Rofi will look at XDG_CONFIG_USER_DIR/rofi/config and load this after the Xresources db on DISPLAY.
This can be overridden using the -config commandline option.
The file should be in the same format as the Xresources file.
2016-01-03 13:30:43 +01:00
Dave Davenport
38fabb6b1b Issue #303: Create one pango context from xlib surface
- Create one pango context and set font options from main xlib surface
        - Set font type on global pango context.
        - Use CAIRO_OPERATOR_OVER for drawing text (otherwise subpixel rendering is not done).
2015-12-28 11:27:27 +01:00
Dave Davenport
97fa0cc61d Add option to set scrollbar width 2015-12-13 13:51:59 +01:00
Dave Davenport
f3c22c50e4 Add sorting switch: Issue: #298 2015-12-13 11:52:40 +01:00
Dave Davenport
8ed31cab7e Add option to dump color scheme. 2015-12-10 18:20:04 +01:00
Dave Davenport
98de9b554f Add screenshot keybinding. 2015-12-09 08:51:40 +01:00
Dave Davenport
0ff0f15264 Add test, remove whitespace 2015-12-08 08:39:18 +01:00
Dave Davenport
dbd7476054 __FUNCTION__ is gcc extension, use __func__ now. Fixes issue #288 2015-12-02 18:11:23 +01:00
Dave Davenport
e4c7fe8f1e Fix func. def in wrong header file. 2015-12-02 17:56:25 +01:00
Dave Davenport
4b77a1728d Remove custom code, replace by glib, fix fuzzy matching for unicode.
- Also fixes char endianess issues.
2015-12-01 22:09:34 +01:00
Dave Davenport
544229d975 Issue #287 mark selected rows. 2015-11-30 14:05:39 +01:00
Dave Davenport
2da1207b7d Fix issue #271 expand path. 2015-11-27 13:01:25 +01:00
Dave Davenport
e196df01fa Do not support ModMasks, breaks to much stuff, This fixes #286 2015-11-26 20:30:51 +01:00
Dave Davenport
3c411433b4 Big rename from Switcher to Mode internal, to match with user terminology 2015-11-25 09:26:38 +01:00
Dave Davenport
627643281d Fix ; in macro. 2015-11-24 22:53:40 +01:00
Dave Davenport
d1591273e7 Cleanups, rename and document. 2015-11-24 22:02:30 +01:00
Dave Davenport
00a555b685 Create more consistent ordering of arguments 2015-11-24 14:22:35 +01:00
Dave Davenport
fa2bcd778c Fix for complete issue #273.
- Add complete handler.
2015-11-24 13:59:35 +01:00
Dave Davenport
bdeb57a2c4 Remove unused typedef 2015-11-24 13:42:20 +01:00
Dave Davenport
cbba58914f Some cleanups and re-ordering of parameters to be consistent. 2015-11-23 22:15:27 +01:00
Dave Davenport
ad778b7dc1 Const making. 2015-11-23 22:15:27 +01:00
Dave Davenport
4510f65d5a textbox: advance cursor correctly for multi-char input
Thanks to eigengrau
fixes: #280
2015-11-22 20:41:45 +01:00
Dave Davenport
5bdcd47dde consts and small ensurance (though should be correct to begin with) 2015-11-22 00:33:26 +01:00
Dave Davenport
8c9b72f34e Start at fixing Issue 273, this might break some things.
* Only use get_display_data for displaying. (Except the select complete (ctrl-space), this needs fixing).
 * Fix possible race condition in parallelization.
 * Fix small bug in case-sensitive handling. (beware for collision in keybinding)
 * Keep less lists around.
2015-11-21 23:59:59 +01:00
Dave Davenport
266ee5efb7 Hopefully fix for #268 2015-11-20 20:53:27 +01:00
Dave Davenport
922aa5f946 Remove old XIM/XIC from textbox structure. 2015-11-20 08:21:34 +01:00
Dave Davenport
aeaceb154a Add experimental regex support 2015-11-17 16:10:14 +01:00
Dave Davenport
b70421e75b Remove duplicate code. 2015-11-16 08:17:30 +01:00
Dave Davenport
2eaffceada Fix printing. 2015-11-14 19:59:56 +01:00
Dave Davenport
56e85d0f5a Cleanup. 2015-11-14 19:42:43 +01:00
Dave Davenport
12886ab0cb Add missing timing files. 2015-11-14 13:49:42 +01:00
Dave Davenport
80e873c8a3 Add threadpool support, add optional timings compile flag 2015-11-14 13:47:45 +01:00
Dave Davenport
45c8de9387 If threads is set to 0, try to autodetect number of threads. 2015-11-12 17:20:51 +01:00
Dave Davenport
0fe524d0cd Add threading support. 2015-11-12 00:18:43 +01:00
Dave Davenport
09ab44bf92 Fix #264 fall back to age ordered list if stacked list does not work 2015-11-10 23:52:52 +01:00
Qball Cow
aedd26aef4 Fix #258: Set fallback alternative color before trying to allocate it. 2015-11-04 12:03:59 +01:00
Dave Davenport
80ac118655 Put things together, making desktop menu work 2015-11-03 17:34:02 +01:00
Dave Davenport
6f404ddc8e Initial import desktop file runner. 2015-11-03 08:31:38 +01:00
Klemens Schölhorn
9cb0073ce8 Add -no-parse-known-hosts to disable parsing of ~/.ssh/known_hosts
For humans who like to keep the list of available servers clean. Also useful
if you use different names in ~/.ssh/config.

The previous default of always parsing known_hosts is not changed.
2015-10-31 18:35:37 +01:00
QC
cb9dd606aa Allow dpi to be set 2015-10-30 21:32:09 +01:00
QC
10292b08cb Fix: 250 Fixing message. 2015-10-26 20:13:15 +01:00
QC
de1f7a11aa Merge remote-tracking branch 'origin/Transparency' 2015-10-21 20:42:40 +02:00
Dave Davenport
bc2b532a51 Add dmenu options to -h 2015-10-21 18:58:01 +02:00
Qball Cow
a7c7cf8159 Add fake transparency 2015-10-20 18:41:45 +02:00
QC
93b6b83fb9 Try todo some validation of monitor size/padding in config sanity check. 2015-10-18 13:40:39 +02:00
QC
0818fbd68b Add fullscreen mode and fix some redrawing issues. 2015-10-16 20:51:37 +02:00
Dave Davenport
291d1ed16c Update rofi -h output 2015-10-16 08:42:01 +02:00
QC
fdc86399cf Revert "Remove levenshtein"
Adding help list.

This reverts commit 77cdc8d7c4.
2015-10-15 22:33:44 +02:00
Dave Davenport
cc6bf27ccb Merge branch 'master' of github:DaveDavenport/rofi 2015-10-11 13:43:32 +02:00
QC
2898eeda88 Cache colors. 2015-10-10 14:15:27 +02:00
QC
b0ceccb93e Use cairo for all drawing, also borders 2015-10-10 13:03:11 +02:00
Tom Hinton
a53061b890 Merge remote-tracking branch 'upstream/master' into fast-ascii-filtering
Conflicts:
	source/dialogs/dmenu.c
	source/helper.c
	source/rofi.c
2015-10-05 10:44:11 +01:00
QC
77cdc8d7c4 Remove levenshtein 2015-10-04 20:14:08 +02:00
Dave Davenport
6b039ac524 Add tokenize option and append * to glob. 2015-10-04 16:37:07 +02:00
QC
5de38cd755 Add glob version for testing. 2015-10-02 20:39:57 +02:00
Tom Hinton
af6a4b83eb Make normal filtering of plain ASCII lines faster
This patch adds a field lines_not_ascii to the MenuState structure. The
nth entry is 0 unless the nth member of MenuState.lines has a non-ascii
codepoint in it.

All comparison functions (menu_match_cb type) take an additional
argument to tell them if the thing they are matching is not_ascii. They
can use this to determine whether to collate and case-fold the
input (for non-ascii strings), or whether to use strstr/strcasestr (for
ascii strings).

The change is not currently implemented for flex matching, due to my
laziness. However, it should be a simple enough matter to add.

For my large input of 400,000 lines, this reduces typical filtering time
to about ten microseconds from about 2 seconds.
2015-10-01 12:16:41 +01:00
Tom Hinton
574bf2da82 Make dmenu reading very marginally faster
A slight reduction in use of realloc and avoidance of 3 or 4 strlens for
a string we know the length of
2015-10-01 11:41:44 +01:00
Dave Davenport
2d167e21d7 Fix #237 add none style to separator style 2015-09-30 09:09:34 +02:00
Qball Cow
9b67838b56 Only cache successful run. (Thanks to Koppa nd daemoni) 2015-09-29 17:28:21 +02:00
QC
29360b20aa Parse name in textbox. 2015-09-28 21:41:58 +02:00
QC
838c838d31 Try to fix #234 2015-09-27 12:57:54 +02:00
QC
6061e046de Get color type. 2015-09-27 11:46:19 +02:00
QC
8f1f03e6d2 Use cairo to do drawing. 2015-09-26 20:34:34 +02:00
QC
29e81fdb07 Make wrap an extra option for textbox 2015-09-23 20:44:24 +02:00
Dave Davenport
5cc695e186 Add markup flag for dmenu. 2015-09-22 22:23:52 +02:00
QC
108c16e0d4 Default disable levenshtein 2015-09-20 10:32:49 +02:00
QC
b18d68eff2 Adjust new editor width 2015-09-19 12:57:48 +02:00
QC
442e235c24 Some cleanups, tweak uncrustify. 2015-09-19 12:21:30 +02:00
Dave Davenport
4c970fe4da Properly resize content when window is resized. 2015-09-17 17:32:51 +02:00
Dave Davenport
a5c1eb1f1b Allow window mode to be disabled 2015-09-14 08:57:10 +02:00
Dave Davenport
f443c56487 In normal mode set normal window window type hint. 2015-09-10 19:24:23 +02:00
Dave Davenport
d2aad68bce Keep the line matched (if possible) when filtering. 2015-09-08 22:23:03 +02:00
Dave Davenport
13203c9de7 Refactor to make dmenu use Switcher, and make menu func use this. 2015-09-08 21:41:54 +02:00
Dave Davenport
ae26c13daf Allow switchers to run multiple times. 2015-09-07 19:10:44 +02:00
Dave Davenport
092a2c5037 Issue: #224 test version window current desktop
run: rofi -show windowcd -modi windowcd,window

Using ctrl-tab you can switch between two modes (all windows, or just current desktop).
2015-09-07 17:41:48 +02:00
QC
e10aa09f74 Add hide scrollbar option. 2015-09-04 21:08:23 +02:00
Dave Davenport
5031cdd228 Calculate size of handle for scrollbar better. 2015-09-04 14:52:57 +02:00