Bert Münnich
919ada1123
Align compile-time color options with X resource colors
...
Two colors are more than enough!
2019-01-23 21:21:15 +01:00
Bert Münnich
9d244da512
Simplify X resource retrieval
...
Also makes the color names in config.def.h constant again.
2019-01-23 20:13:25 +01:00
Bert Münnich
f7fc6637f3
Support X resource entries with Sxiv class name
2019-01-23 20:04:17 +01:00
Bert Münnich
e4fb084f26
Fix code style of merged code
2019-01-23 20:00:18 +01:00
noamcore
4853e17b83
Add Xresources capability
2019-01-23 19:53:39 +01:00
Bert Münnich
0bf3265430
Set window title only once at startup
...
Putting image info in the title predates the info bar; it no longer seems
necessary.
Fixes issue #318 .
2018-10-15 15:29:39 +02:00
Bert Münnich
b78aaee9d7
Initialize window bar buffers to empty string
...
Fixes issue #308 .
2018-04-11 09:55:28 +02:00
Bert Münnich
e63843d369
Simplify drawing of bar text
...
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-07 21:29:44 +01:00
Bert Münnich
3c7d6f3528
Replace utf8codepoint with Chris Wellons' utf8_decode
...
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-07 21:19:53 +01:00
Bert Münnich
69b2d3cafd
win_textwidth is no longer needed outside window.c
2017-12-07 14:19:35 +01:00
Squibby
eb96c71725
Try to match a fallback font if needed
...
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-12-06 20:39:07 -03:00
Bert Münnich
148026007c
One header file for type definitions and function declarations
2017-10-16 21:10:35 +02:00
Bert Münnich
8081cbebf3
Improve mouse support
...
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-06 10:15:43 +02:00
Bert Münnich
d81442f55d
Own win method for mouse cursor location
2017-10-05 13:47:02 +02:00
Bert Münnich
b8fd923e74
Simplify cursor handling
2017-10-05 12:30:31 +02:00
Bert Münnich
e310136e02
Mouse drag translates pointer position to image area
...
This makes mouse panning more direct and faster.
2017-10-04 18:22:43 +02:00
Bert Münnich
c772d3c3f3
Use -e for X window embedding
2016-10-30 19:16:51 +01:00
shuall
0b758e08f2
added support for XEMBED into other windows (ie tabbed) with -w
2016-10-28 22:09:26 -04:00
Bert Münnich
c280129cef
Use Xft for font loading and text drawing
2016-08-06 15:27:58 +02:00
Bert Münnich
d3a70a285d
Revised error handling
...
- 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-28 23:03:37 +01:00
Bert Münnich
851e4288c1
Prefix safe allocation functions with 'e' instead of 's_'
2015-10-28 22:29:01 +01:00
Bert Münnich
e574a6d0dd
Removed feature test macro definitions from source files
2015-10-28 21:37:45 +01:00
Bert Münnich
e0e96977b3
Removed overcautious parameter checks
2015-10-28 21:01:24 +01:00
Bert Münnich
c33f2ad355
Corrected & refactored handling of window bar content...
...
Old snprintf calls could have overflowed the buffers.
2014-10-01 22:35:22 +02:00
Bert Münnich
d0ba2c585d
Simplified thumbnail selection and marks
2014-08-17 23:01:39 +02:00
Bert Münnich
bb6721549b
Overhauled window drawing, yet again; fixes issue #155
...
- 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-07-28 20:36:32 +02:00
Bert Münnich
5d0679b855
Show key handler status in bar while it is running
2014-06-15 14:15:48 +02:00
Bert Münnich
0b83386bff
Do not center window on screen, workaround for issue #9
2014-04-21 21:29:27 +02:00
Bert Münnich
e685859a30
Use a checkerboard background for alpha layer; fixes issue #138
2014-04-06 22:47:42 +02:00
Bert Münnich
72f1b1ca6f
Removed command line option -F
2014-02-05 09:58:36 +01:00
Bert Münnich
524d9de877
Removed fit-win-to-img command
2014-02-04 22:38:24 +01:00
Bert Münnich
2e758f78c1
Check if window manager supports fullscreen; related to issue #128
2014-02-02 14:56:01 +01:00
Bert Münnich
e2fa49ecfe
Unified X atom initialization
2014-02-02 14:36:10 +01:00
Bert Münnich
135c4f9263
Added window icons; fixes issue #125
2014-01-15 22:40:34 +01:00
Bert Münnich
593da23cf3
Use bgcol as window background pixel; fixed issue #89
2013-04-14 19:50:47 +02:00
Bert Münnich
aac28cce7a
Fixed non-ASCII characters in window bar, issue #88
2013-04-06 14:04:46 +02:00
Bert Münnich
30802cec0f
Spawn info script & update bar contents only when needed
2013-03-19 21:14:32 +01:00
Bert Münnich
f3298400e6
Spawn and read from info script without blocking
2013-03-19 21:13:44 +01:00
Bert Münnich
c6bfac1566
Merge branch 'sizehints', fixed issue #78
2013-02-09 19:07:29 +01:00
Bert Münnich
1e2ddc44d8
No checks on window size, use whatever the user has specified
2013-02-09 17:24:41 +01:00
Bert Münnich
a527025314
Correctly set window height after i_fit_to_img()
2013-02-09 01:39:18 +01:00
Bert Münnich
cef8d51153
Refined US{Position,Size} & WinGravity handling
2013-02-09 01:36:10 +01:00
Bert Münnich
bf41012493
Merge remote-tracking branch '4z3/set-user-specified-sizehints' into sizehints
...
Conflicts:
window.c
2013-02-09 01:21:57 +01:00
Bert Münnich
f7301cf4f9
Correctly updated window pixmap after i_fit_to_img()
2013-02-08 23:26:06 +01:00
Bert Münnich
08ae25da22
Refactored function definitions to use dangling brace
2013-02-08 22:05:31 +01:00
Bert Münnich
6d3bbc6d5e
Updated/corrected license header
2013-02-08 21:52:41 +01:00
tv
3f25b907bd
When using -g hint the WM that we've got user specified geometry
...
Without this some window managers (e.g. fvwm) will ignore the initial
window position and place it according to it's own rules.
2013-01-30 20:51:20 +01:00
muennich
d6a475e4b1
Simplified status bar, filled by user script
2013-01-12 23:40:16 +01:00
Bert Münnich
69a6df2762
Merge branch 'winname'
2012-12-01 18:50:59 +01:00
Bert Münnich
22a8b66571
Fixed BadDrawable errors caused by invalid window pixmap
2012-10-29 23:23:50 +01:00
Bert Münnich
4a5d5d26aa
Overhauled window drawing
...
- 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
2012-10-29 18:36:48 +01:00
Bert Münnich
6f9b4f5b2e
New option: -N, set X window resource name
2012-10-29 18:32:56 +01:00
Bert Münnich
d5f0a20de0
Fixed WMProtocols registration order (before mapping window)
2012-08-07 12:09:52 +02:00
Bert Münnich
bca3666862
Fixed issue #47
2012-03-28 21:14:01 +02:00
Bert Münnich
8ab3cee6a5
Fixed issue #44
2012-03-16 21:03:49 +01:00
Bert Münnich
3238ef6bf6
Fixed issue #41 , added WIN_FS_COLOR to config.h
2012-03-02 19:42:14 +01:00
Bert Münnich
ed2c9f7caa
Display full name in info bar, if there is enough space
2012-02-21 12:49:29 +01:00
Bert Münnich
2d4264af28
Added option -b: disable bar
2012-02-16 23:20:27 +01:00
Bert Münnich
c666d30eea
Added it_toggle_bar command; default mapping: XK_b
2012-02-15 22:33:39 +01:00
Bert Münnich
d407dd65d5
Already in the year 2012
2012-02-15 19:16:24 +01:00
Bert Münnich
b752d5c594
Added symbol BAR_SEPARATOR
2012-02-15 18:25:45 +01:00
Bert Münnich
7177270c10
Changed default font string, removed missing fontset warnings
2012-02-12 19:06:07 +01:00
Bert Münnich
b8458271fb
Added text bar on bottom of window
2012-02-12 19:00:41 +01:00
Bert Münnich
36177fb180
Updated contact information
2011-10-14 10:40:49 +02:00
Bert Münnich
8dcf682de9
Made all conditionals more precise
2011-09-29 12:43:36 +02:00
Bert
b2a2a62b7b
Added own bool type
2011-09-11 21:01:24 +02:00
Bert
6e575b0f72
Strict conformance to IEEE Std 1003.1-2001
2011-09-08 20:54:24 +02:00
Bert
d585b86354
Reformated license header
2011-09-03 23:11:45 +02:00
Bert
de6b58a315
Unified feature test macro requirements
2011-09-03 14:22:06 +02:00
Bert
8763f6930f
Corrected FSF address in license headers
2011-08-18 01:18:26 +02:00
Bert
b8ff1677b1
Major code refactoring
...
- Configurable key and mouse mappings in config.h
- Put event handling code from main.c into events.[ch]
2011-07-26 18:01:29 +02:00
Bert
a271e16744
Reduced usage of preprocessor macros
2011-07-22 14:49:06 +02:00
Bert
d227b17d96
Made fullscreen work under buggy window managers
2011-04-19 14:44:26 +02:00
Bert
0b91328181
Fix fullscreen mode
2011-04-14 20:01:11 +02:00
Bert
d15264ea32
Remove invalid images when loading them; refactorings
2011-04-11 16:58:38 +02:00
Bert
55659ffcc3
Use imlib-handles in thumbs.c instead of pixmaps
2011-03-15 13:55:52 +01:00
Bert
d982b06eed
White background for images with alpha
2011-03-09 11:37:49 +01:00
Bert
c05fd44bdd
Support for external commands like mogrify & jpegtran
2011-03-01 18:49:02 +01:00
Bert
fde9f5bf85
Hide cursor on redraw or after 1.5s mouse inactivity
2011-02-21 18:26:21 +01:00
Bert
ef24ded6af
Highlight selected thumbnail
2011-02-17 16:22:54 +01:00
Bert
1c072cc0d0
Fill window before loading thumbs
2011-02-17 14:20:42 +01:00
Bert
783213c0bb
Use watch-cursor while loading thumbnails
2011-02-17 11:08:25 +01:00
Bert
26c2179be7
Refactored thumbs, new files thumbs.[ch]
2011-02-16 21:40:20 +01:00
Bert
8919204a2e
Render thumbnails
2011-02-16 18:16:00 +01:00
Bert
7b49740613
First things for thumbnail mode
2011-02-16 16:47:12 +01:00
Bert
d731741f04
Handle WM_DELETE_WINDOW messages correctly, thanks to fungt
2011-02-09 10:01:49 +01:00
Bert
a5335e8ddd
Slightly refactored fungts utf-8 title commit
2011-02-09 09:45:35 +01:00
fungt
7fb7b1f4fc
Show correct utf-8 title
2011-02-09 09:36:55 +01:00
Bert
603e664f7c
Nicer fit window to image
2011-02-06 17:40:48 +01:00
Bert
8339bb7ee7
New key mapping: W, resize window to fit image
2011-02-04 00:25:57 +01:00
Bert
8f4af658ae
Refactored, new files util.[ch], C89
2011-02-03 10:15:01 +01:00
Bert
f2ceac2f8a
New option: -F, fixed/floating window
2011-02-01 16:40:37 +01:00
Bert
8fb3110ebb
Bug fix: handle negative offsets in -g arg correctly
2011-02-01 16:21:58 +01:00
Bert
229830ad18
Replace -w with well-known geometry option
2011-01-30 22:00:58 +01:00
Bert
03bfe1015e
Explicitly enable printing of warnings
2011-01-30 16:39:16 +01:00
Bert
c52c4fa69e
Mouse-panning while pressing button2
2011-01-29 22:37:40 +01:00
Bert
8123d63c5b
Added plenty lots of options
2011-01-28 13:34:16 +01:00
Bert
17e2a795bb
Added -w cmdline option
2011-01-27 16:15:43 +01:00
Bert
0497a7f69d
Merge remote branch 'falconindy/mouse'
2011-01-26 17:48:11 +01:00
Bert
2b1c0885fe
Implemented fullscreen mode
2011-01-23 16:14:41 +01:00