Commit graph

262 commits

Author SHA1 Message Date
Dave Davenport
862c04ef61 Fix drawing order when widget is added at end. This simplifies bottom mode.
Fixes: #505
2016-11-27 16:02:37 +01:00
Dave Davenport
4f3c7f122e Fix check being the wrong way around. 2016-11-26 16:57:13 +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
d450d02ad6 For redraw when rofi_view_set_active is called. 2016-11-14 16:31:26 +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
f0bc7e3185 Fix #485: Correctly remove consumed masks. 2016-11-14 08:28:54 +01:00
Dave Davenport
27cef3c9ae Fix #497: Create cache dir if not exists. 2016-11-12 11:28:40 +01:00
Dave Davenport
cd0fedd0db If no fake background failed to load, still paint a background. Add debug info. 2016-11-11 22:11:32 +01:00
Dave Davenport
1d40782515 Re-work the expose, redraw system. Use XServer side pixmaps to do drawing and flipping.
- By server side drawing and flipping buffer time to draw buffer to window speed up by factor 1000+.
   Flipping is now one xcb_copy_area call.
 - Don't abuse Xserver expose events to singal internal drawings.
 - Queue redraws in idle time.
 - Avoid unneeded redraws.
2016-11-11 16:29:59 +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
89e3e0e645 Grab keyboard as early as possible (#494) 2016-11-06 16:50:12 +01:00
Dave Davenport
ed6cb59b5d Fix crash on wrongly queued ViewState (thx to teto) 2016-11-02 18:24:20 +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
3c8b757930 Remove auto : 2016-10-28 21:52:22 +02:00
Dave Davenport
c598791aa4 Indent 2016-10-28 18:57:12 +02:00
Dave Davenport
8e0ced2378 Remove commented code 2016-10-28 18:32:29 +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
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
0ae0d50bbc Revert "Fix: #485 Remove used modifiers before figuring out keybinding."
This reverts commit 25c210b851.
2016-10-23 13:23:04 +02:00
Dave Davenport
25c210b851 Fix: #485 Remove used modifiers before figuring out keybinding. 2016-10-23 13:08:52 +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
b622a98d9c Fix some coverty found issues. 2016-10-17 20:54:41 +02:00
Dave Davenport
b4c599f022 Add more documentation.
Current state: 61% coverage.
2016-10-14 08:47:21 +02:00
Dave Davenport
3aa1922aa6 Remove padding from input bar: Fix #479 2016-10-13 08:53:22 +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
f10bc5004f Make separator work in both directions ( hori/vert ). 2016-10-09 10:07:32 +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
769dab5f66 When view centered, don't change x,y. 2016-09-26 18:19:29 +02:00
Dave Davenport
6131329210 Fix for #467, don't count border twice, take right line-margin into account. 2016-09-18 22:23:39 +02:00
Dave Davenport
acdb6bdf53 Fix fprintf. 2016-09-18 14:44:03 +02:00
Dave Davenport
5ee5bb1e23 First rough version of async loading for dmenu. 2016-09-17 18:57:44 +02:00
Dave Davenport
6191662ccf Fix indenting view.c. 2016-09-17 18:35:03 +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
Dave Davenport
05600368ff Small cleanups.
Remove duplicate code to update window size, make error dialog use normal mainloop.
2016-09-16 20:28:59 +02:00
Ian Remmler
71f5f1ac54 Initialize mouse_seen. (#461)
* Add Ian Remmler to AUTHORS.

* Explicitly initialize mouse_seen.
2016-09-09 20:36:12 +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
43be4bd18f Fix keyboard grab normal-window mode 2016-09-06 09:06:02 +02:00
Dave Davenport
926fbdb190 Release pointer too 2016-09-02 20:19:37 +02:00
Dave Davenport
4379f3be7c Ctrl-click does alternate accept entry.
Fixes #429
2016-09-02 18:19:16 +02:00
Dave Davenport
b420db8d30 Another trow at #454
- Hide window, ungrab mouse.
 - Flush, before switching window.
2016-09-02 09:38:51 +02:00
Dave Davenport
51eac318fd Test #454 unmap window before switching. 2016-08-30 08:14:53 +02:00
Dave Davenport
284b3cb78b Update manpage to show -display- option, sidebar mode uses display name. 2016-08-22 08:04:20 +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
26d1e64b22 Make textbox use character position instead of byte index for cursor. 2016-08-15 09:01:56 +02:00
Dave Davenport
90c6c1125f Fix memory leak overlay widget 2016-08-02 18:33:55 +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
5d5c9713d7 Fix crasher on no scrollbar and mouse seek. 2016-07-21 07:57:35 +02:00
Dave Davenport
59635919ea Add selection indicator to dmenu mode. 2016-07-18 23:49:26 +02:00
Dave Davenport
dfc952f570 Add missing static 2016-07-05 18:13:53 +02:00
Dave Davenport
b7fba9752f Don't double switch something trivial. 2016-07-05 09:21:50 +02:00
Dave Davenport
6e2d0b6319 Add selection counter in dmenu mode 2016-06-26 15:48:12 +02:00
Dave Davenport
1f4af41e96 Split Custom and Alternate command. 2016-06-19 18:02:49 +02:00
Dave Davenport
7a2435a23b Indent don't use partial match. 2016-06-16 22:23:55 +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
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
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
6070826c4d Avoid needles updates when using continious scrolling 2016-05-10 11:47:32 +02:00
Dave Davenport
bd412b9975 Grab mouse pointer with keyboard. 2016-05-09 08:47:28 +02:00
Dave Davenport
b8ecbdcef5 Add option to set background for rofi window 2016-05-08 11:14:34 +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
65447b496a view/navigation: Cleanup
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:24:32 +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
Quentin Glidic
143acf622b view/keypress: Reindent
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:24:09 +02:00
Quentin Glidic
117c2360a4 view/keypress: Cleanup some useless stuff
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:23:44 +02:00
Quentin Glidic
0d899f1bbd view: Split keypress handling to an helper function
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-05-07 11:23:13 +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
44481cdb40 Small cleanups, fix worker error dialog. 2016-04-20 08:08:18 +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
3ac0c6dd7d Quick fix. 2016-03-21 20:27:16 +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
Dave Davenport
d36ae81408 Fix positioning window on top of window. 2016-03-20 10:16:55 +01:00
Dave Davenport
a2869ef39d Make clang static code analyzer happy (300+ -> 5) 2016-03-19 13:29:04 +01:00
Dave Davenport
1f8db0fc5a Remove pointless else if statement 2016-03-19 12:21:08 +01:00
Quentin Glidic
f5231ca24d rofi: Allow fullscreen on specified monitor
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-03-18 09:21:36 +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
b13bff6d1d Try to fix things 2016-03-05 23:25:46 +01:00
Dave Davenport
9978feb600 Make cppcheck happy 2016-03-05 20:07:25 +01:00
Dave Davenport
bfd338dfc8 Allow X parsed colors 2016-03-05 16:33:18 +01:00
Dave Davenport
5effc9581c Cleanup 2016-03-05 11:34:44 +01:00
Dave Davenport
c0690c8afb Cleanups. 2016-03-05 11:18:23 +01:00
Dave Davenport
72dfe2ad4c Propagate error down, show dialog.
Fix positioning dialog.
2016-03-05 11:08:32 +01:00
Dave Davenport
fd707acac5 Move keymap updating into right x11 event loop handler. 2016-03-04 08:15:12 +01:00
Dave Davenport
9d7d8a9aeb Be able to run without compose table. 2016-03-04 08:02:54 +01:00
Martijn Koedam
797a3b8ea5 Free was too early. 2016-03-03 12:46:12 +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
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
3fa1940a5c Do a redraw after changing selected line 2016-02-28 18:13:58 +01:00
Dave Davenport
a4fd907fe8 Run indenter 2016-02-28 15:32:53 +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
4cd76a6d8e Merge remote-tracking branch 'github/master' into wip/xcb/full 2016-02-28 11:04:09 +01:00
Dave Davenport
d813d03a5f Convert more stuff to xcb, keyboard grab, cleanup 2016-02-28 00:09:05 +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
f79a6d6d2e Convert view.c to xcb_ functions. secondary paste fails. 2016-02-27 17:57:43 +01:00
Dave Davenport
15ad8e1da3 Removing XCB from view.c, paste less 2016-02-27 17:42:50 +01:00
Dave Davenport
9cb5829303 Use xcb_flush instead of XFlush 2016-02-27 14:05:29 +01:00
Dave Davenport
3f8efed56d Add missing flush 2016-02-23 22:04:44 +01:00
Dave Davenport
319524c7c5 Test for single mainloop 2016-02-23 21:04:24 +01:00
Dave Davenport
87546caa8f Fix previous commit. 2016-02-23 19:34:48 +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
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
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
Dave Davenport
75c9f58900 Remove XIC and XIM. 2016-02-21 17:14:37 +01:00
Quentin Glidic
ee52e50662 view/compose: Use Xlib cancelling behaviour
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-02-21 17:00:28 +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
2eb63456db view: Flush after drawing 2016-02-21 16:04:53 +01:00
Dave Davenport
9121732e36 Cleanups. 2016-02-19 21:16:35 +01:00
Dave Davenport
038346b640 Cleanup + fix 2016-02-19 21:08:46 +01:00
Dave Davenport
758d155a20 Fixing. 2016-02-19 20:08:14 +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
a125f6d515 Try to fix crash with new scrolling method. 2016-02-18 19:23:41 +01:00
Dave Davenport
638e58e7d8 Issue: #219 Rounding down. 2016-02-17 22:13:13 +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