summaryrefslogtreecommitdiffstats
path: root/window.c
AgeCommit message (Collapse)Author
2021-09-16add .mark.foreground to XresourcesNRK
since we're already allowing both window and bar colors to be customizable, it doesn't make sense to not allow so for mark color.
2021-09-16Fix font memory leak. (#57)Sam Whitehead
* Fix font memory leak. This memory leak has always been present in sxiv. The font opened on window.c:58 was never closed, so I closed it, fixing a 2kB memory leak. * document changes Co-authored-by: NRK <nrk@disroot.org>
2021-09-16change .font to .bar.font for consistency (#48)N-R-K
2021-09-16Rename, Update Docs and Prepare for Release (#9)Berke Kocaoğlu
Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Arthur Williams <taaparthur@gmail.com> Co-authored-by: eylles <ed.ylles1997@gmail.com>
2021-09-16set title based on prefix and suffix (#23)qsmodo
Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2021-09-16Custom bar colors (#10)Guilherme Freire
* set bar and text colors independently * change xresources to Program.class.resource * rename color variables to win/bar_bg/fg * change default bar colors to match window colors
2021-09-16Set the _NET_WM_PID and WM_CLIENT_MACHINE X properties (#13)eylles
Set the _NET_WM_PID and WM_CLIENT_MACHINE X properties Co-authored-by: Leon Kowarschick <lkowarschick@gmail.com> Co-authored-by: Kian Kasad <kian@kasad.com> Co-authored-by: NRK <nrk@disroot.org>
2021-09-16Fix in tabbed with alpha patch (#3)Berke Kocaoğlu
* Fix in tabbed with alpha patch Co-authored-by: Jared Forrest <jared_forrest@mailbox.org>
2021-09-16Added ICCCM WM_HINTSArthur Williams
When the window is mapped, some ICCCM WM_HINTS are set. The input field is set to true and state is set to NormalState. To quote the spec, "The input field is used to communicate to the window manager the input focus model used by the client" and "[c]lients with the Passive and Locally Active models should set the input flag to True". sxiv falls under the Passive Input model, since it expects keyboard input, but only listens for key events on its single, top-level window instead of subordinate windows (Locally Active) or the root window (Globally Active). From the end users prospective, all EWMH/ICCCM compliant WMs (especially the minimalistic ones) will allow the user to focus sxiv, which will allow sxiv to receive key events. If the input field is not set, WMs are allowed to assume that sxiv doesn't require focus.
2020-01-16Fix memory leak in win_res()Bert Münnich
Fixes issue #372.
2019-07-16Do not keep track of fullscreen stateBert Münnich
There is no more need for this after the removal of the special color handling for fullscreen mode in commit 2886876.
2019-07-16Use normal win colors in fullscreen modeBert Münnich
Fixes issues #361 and #367
2019-04-19Change colors and font only via X resourcesBert Münnich
2019-04-19Add Xresources font supportvxid
2019-03-15Match fallback font FC_SIZE to original fontFoldex
2019-01-23Align compile-time color options with X resource colorsBert Münnich
Two colors are more than enough!
2019-01-23Simplify X resource retrievalBert Münnich
Also makes the color names in config.def.h constant again.
2019-01-23Support X resource entries with Sxiv class nameBert Münnich
2019-01-23Fix code style of merged codeBert Münnich
2019-01-23Add Xresources capabilitynoamcore
2018-10-15Set window title only once at startupBert Münnich
Putting image info in the title predates the info bar; it no longer seems necessary. Fixes issue #318.
2018-04-11Initialize window bar buffers to empty stringBert Münnich
Fixes issue #308.
2017-12-07Simplify drawing of bar textBert Münnich
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.
2017-12-07Replace utf8codepoint with Chris Wellons' utf8_decodeBert Münnich
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.
2017-12-07win_textwidth is no longer needed outside window.cBert Münnich
2017-12-07Try to match a fallback font if neededSquibby
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.
2017-10-16One header file for type definitions and function declarationsBert Münnich
2017-10-06Improve mouse supportBert Münnich
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.
2017-10-05Own win method for mouse cursor locationBert Münnich
2017-10-05Simplify cursor handlingBert Münnich
2017-10-04Mouse drag translates pointer position to image areaBert Münnich
This makes mouse panning more direct and faster.
2016-10-30Use -e for X window embeddingBert Münnich
2016-10-29added support for XEMBED into other windows (ie tabbed) with -wshuall
2016-08-06Use Xft for font loading and text drawingBert Münnich
2015-10-28Revised error handlingBert Münnich
- 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)
2015-10-28Prefix safe allocation functions with 'e' instead of 's_'Bert Münnich
2015-10-28Removed feature test macro definitions from source filesBert Münnich
2015-10-28Removed overcautious parameter checksBert Münnich
2014-10-01Corrected & refactored handling of window bar content...Bert Münnich
Old snprintf calls could have overflowed the buffers.
2014-08-17Simplified thumbnail selection and marksBert Münnich
2014-07-28Overhauled window drawing, yet again; fixes issue #155Bert Münnich
- 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
2014-06-15Show key handler status in bar while it is runningBert Münnich
2014-04-21Do not center window on screen, workaround for issue #9Bert Münnich
2014-04-06Use a checkerboard background for alpha layer; fixes issue #138Bert Münnich
2014-02-05Removed command line option -FBert Münnich
2014-02-04Removed fit-win-to-img commandBert Münnich
2014-02-02Check if window manager supports fullscreen; related to issue #128Bert Münnich
2014-02-02Unified X atom initializationBert Münnich
2014-01-15Added window icons; fixes issue #125Bert Münnich
2013-04-14Use bgcol as window background pixel; fixed issue #89Bert Münnich