82 lines
2.4 KiB
C
82 lines
2.4 KiB
C
/* -------------------------------
|
|
* vim:tabstop=4:shiftwidth=4
|
|
* common.h
|
|
* Mon, 01 May 2006 01:45:08 +0700
|
|
* -------------------------------
|
|
* Common declarations
|
|
* -------------------------------*/
|
|
|
|
#ifndef _COMMON_H_
|
|
#define _COMMON_H_
|
|
|
|
#include "debug.h"
|
|
|
|
#define PROGNAME PACKAGE
|
|
|
|
/* Default icon size */
|
|
#define FALLBACK_ICON_SIZE 24
|
|
/* Minimal icon size */
|
|
#define MIN_ICON_SIZE 16
|
|
/* Default KDE icon size */
|
|
#define KDE_ICON_SIZE 22
|
|
/* Number of time icon is allowed to change its size after which
|
|
* stalonetray gives up */
|
|
#define ICON_SIZE_RESETS_THRESHOLD 2
|
|
|
|
/* Meaningful names for return values */
|
|
#define SUCCESS 1
|
|
#define FAILURE 0
|
|
|
|
/* Simple macro to return status and log it if necessary */
|
|
#define RETURN_STATUS(rc) do { \
|
|
LOG_TRACE(("status = %s\n", ((rc) == SUCCESS ? "SUCCESS" : "FAILURE"))); \
|
|
return rc; \
|
|
} while(0)
|
|
|
|
/* Meaningful names for return values of icon mass-operations */
|
|
#define MATCH 1
|
|
#define NO_MATCH 0
|
|
|
|
/* Simple macro to return mass-op status and log it if necessary */
|
|
#define RETURN_MATCH(rc) do { \
|
|
LOG_TRACE(("status = %s\n", rc == MATCH : "MATCH" : "NO_MATCH")); \
|
|
return rc; \
|
|
} while(0)
|
|
|
|
/* Meaningful names for return values of icon mass-operations */
|
|
#define MATCH 1
|
|
/* Portable macro for function name */
|
|
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
|
#define __FUNC__ __func__
|
|
#elif defined(__GNUC__) && __GNUC__ >= 3
|
|
#define __FUNC__ __FUNCTION__
|
|
#else
|
|
#define __FUNC__ "unknown"
|
|
#endif
|
|
|
|
/* DIE */
|
|
#define DIEDIE() exit(-1)
|
|
/* Print a message and... DIE */
|
|
#define DIE(message) do { LOG_ERROR(message); DIEDIE(); } while(0)
|
|
/* Log OOM condition */
|
|
#define LOG_ERR_IE(message) do { \
|
|
LOG_ERROR(("Internal error, please report to maintaner (see AUTHORS)\n")); \
|
|
LOG_ERROR(message); \
|
|
} while(0);
|
|
/* DIE on internal error */
|
|
#define DIE_IE(message) do { LOG_ERR_IE(message); DIEDIE(); } while(0)
|
|
/* Log OOM condition */
|
|
#define LOG_ERR_OOM(message) do { \
|
|
LOG_ERROR(("Out of memory\n")); \
|
|
LOG_ERROR(message); \
|
|
} while(0);
|
|
/* DIE on OOM error */
|
|
#define DIE_OOM(message) do { LOG_ERR_OOM(message); DIEDIE(); } while(0)
|
|
|
|
/*** WARNING: feed following macros only with side-effects-free expressions ***/
|
|
/* Get a value within target interval */
|
|
#define cutoff(tgt,min,max) (tgt) < (min) ? (min) : ((tgt) > (max) ? max : tgt)
|
|
/* Update value to fit into target interval */
|
|
#define val_range(tgt,min,max) (tgt) = cutoff(tgt,min,max)
|
|
|
|
#endif
|