aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAgeFilesLines
* Simplify drawing of bar textBert Münnich2017-12-071-53/+34
| | | | | | | | | Non-fitting text is truncated by simply cutting it off. win_textwidth() has been replaced by a simple macro wrapper around win_draw_text() with a maximum width of zero, which results in a dry-run that still calculates the number of pixels used by the text, much like snprintf(3) with a buffer length of zero.
* Replace utf8codepoint with Chris Wellons' utf8_decodeBert Münnich2017-12-071-5/+7
| | | | | | Code under a different license should be kept in a separate file. This implemention is a single header file with ~65 lines, so it better fits this requirement.
* win_textwidth is no longer needed outside window.cBert Münnich2017-12-071-11/+8
|
* Try to match a fallback font if neededSquibby2017-12-061-6/+41
| | | | | | | | | | | | | | Fixes #276 Instead of rendering the entire filename at once, Xft will let us do it character by character. This will allow sxiv to query fontconfig for a font that can provide any missing codepoints, if needed. A known issue of this patch is that the "..." dots rendering will not work properly for very long multibyte filenames. That is because we cannot easily predict the final width of the rendered filename before drawing it. I couldn't figure out a clean way to deal with this, so I ended up just truncating the offending filenames.
* One header file for type definitions and function declarationsBert Münnich2017-10-161-8/+5
|
* Improve mouse supportBert Münnich2017-10-061-1/+2
| | | | | | | | | | | | None of the mouse mappings uses a keyboard modifier, making it possible to access the most basic features by only using the mouse. Next/previous image with left button depending on cursor position, middle button for dragging, right button for switching to thumnail mode and wheel for zooming. Users can keep the old behaviour by simply not adapting the changes to the buttons array in config.def.h to their config.h file.
* Own win method for mouse cursor locationBert Münnich2017-10-051-0/+11
|
* Simplify cursor handlingBert Münnich2017-10-051-29/+20
|
* Mouse drag translates pointer position to image areaBert Münnich2017-10-041-5/+5
| | | | This makes mouse panning more direct and faster.
* Use -e for X window embeddingBert Münnich2016-10-301-5/+3
|
* added support for XEMBED into other windows (ie tabbed) with -wshuall2016-10-281-1/+5
|
* Use Xft for font loading and text drawingBert Münnich2016-08-061-74/+32
|
* Revised error handlingBert Münnich2015-10-281-8/+8
| | | | | | | - Functions warn() and die() replaced by GNU-like error(3) function - Register cleanup() with atexit(3) - Functions called by cleanup() are marked with CLEANUP and are not allowed to call exit(3)
* Prefix safe allocation functions with 'e' instead of 's_'Bert Münnich2015-10-281-3/+3
|
* Removed feature test macro definitions from source filesBert Münnich2015-10-281-4/+3
|
* Removed overcautious parameter checksBert Münnich2015-10-281-37/+0
|
* Corrected & refactored handling of window bar content...Bert Münnich2014-10-011-12/+20
| | | | Old snprintf calls could have overflowed the buffers.
* Simplified thumbnail selection and marksBert Münnich2014-08-171-5/+5
|
* Overhauled window drawing, yet again; fixes issue #155Bert Münnich2014-07-281-52/+31
| | | | | | | | - Buffer for window content is bigger than the window, minimizes artifacts when window is resized - Back to using XSetWindowBackgroundPixmap() instead of XCopyArea(), no need to handle exposure events; X server can show gray background directly after resize event before sxiv redraws the window contents
* Show key handler status in bar while it is runningBert Münnich2014-06-151-0/+2
|
* Do not center window on screen, workaround for issue #9Bert Münnich2014-04-211-2/+2
|
* Use a checkerboard background for alpha layer; fixes issue #138Bert Münnich2014-04-061-1/+0
|
* Removed command line option -FBert Münnich2014-02-051-36/+17
|
* Removed fit-win-to-img commandBert Münnich2014-02-041-33/+0
|
* Check if window manager supports fullscreen; related to issue #128Bert Münnich2014-02-021-0/+43
|
* Unified X atom initializationBert Münnich2014-02-021-12/+17
|
* Added window icons; fixes issue #125Bert Münnich2014-01-151-0/+25
|
* Use bgcol as window background pixel; fixed issue #89Bert Münnich2013-04-141-1/+6
|
* Fixed non-ASCII characters in window bar, issue #88Bert Münnich2013-04-061-9/+5
|
* Spawn info script & update bar contents only when neededBert Münnich2013-03-191-2/+3
|
* Spawn and read from info script without blockingBert Münnich2013-03-191-29/+30
|
* Merge branch 'sizehints', fixed issue #78Bert Münnich2013-02-091-26/+47
|\
| * No checks on window size, use whatever the user has specifiedBert Münnich2013-02-091-14/+3
| |
| * Refined US{Position,Size} & WinGravity handlingBert Münnich2013-02-091-39/+39
| |
| * Merge remote-tracking branch '4z3/set-user-specified-sizehints' into sizehintsBert Münnich2013-02-091-18/+50
| |\ | | | | | | | | | | | | Conflicts: window.c
| | * When using -g hint the WM that we've got user specified geometrytv2013-01-301-18/+50
| | | | | | | | | | | | | | | Without this some window managers (e.g. fvwm) will ignore the initial window position and place it according to it's own rules.
* | | Correctly set window height after i_fit_to_img()Bert Münnich2013-02-091-0/+3
|/ /
* | Correctly updated window pixmap after i_fit_to_img()Bert Münnich2013-02-081-0/+5
| |
* | Refactored function definitions to use dangling braceBert Münnich2013-02-081-18/+36
| |
* | Updated/corrected license headerBert Münnich2013-02-081-13/+13
|/
* Simplified status bar, filled by user scriptmuennich2013-01-121-69/+72
|
* Merge branch 'winname'Bert Münnich2012-12-011-1/+1
|\
| * New option: -N, set X window resource nameBert Münnich2012-10-291-1/+1
| |
* | Fixed BadDrawable errors caused by invalid window pixmapBert Münnich2012-10-291-6/+5
| |
* | Overhauled window drawingBert Münnich2012-10-291-11/+28
|/ | | | | | | - Draw onto pixmap as before, but use the same size for the pixmap as for the window, allocate new pixmap after configure requests - Use XCopyArea() instead of XSetWindowBackgroundPixmap(), which now requires handling of Expose events
* Fixed WMProtocols registration order (before mapping window)Bert Münnich2012-08-071-3/+4
|
* Fixed issue #47Bert Münnich2012-03-281-1/+1
|
* Fixed issue #44Bert Münnich2012-03-161-1/+2
|
* Fixed issue #41, added WIN_FS_COLOR to config.hBert Münnich2012-03-021-5/+4
|
* Display full name in info bar, if there is enough spaceBert Münnich2012-02-211-12/+14
|