aboutsummaryrefslogtreecommitdiff
path: root/config.def.h
blob: cb3c2cfaaa106b75489b2f0418f01ab0ddc8fdd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * Copyright (c) 2022 mini-rose
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and any associated documentation
 * files to modify, copy, merge, publish, distribute and/or
 * sublicense copies of this sotware for their own use.
 * This code does not come with any warranty.
 *
 * Author: fenze <contact@fenze.dev>
 */

#include <gdk/gdkkeysyms.h>

/* See more:
 * https://webkitgtk.org/reference/webkit2gtk/stable/class.Settings.html */
#define WEBKIT                                                                                     \
	"enable-back-forward-navigation-gestures", true, "enable-developer-extras", true,          \
	    "enable-smooth-scrolling", false

#define GTK "gtk-application-prefer-dark-theme", true, "gtk-enable-animations", false

#define HOME "https://duckduckgo.com"
#define SEARCH "https://duckduckgo.com/?q=%s"
#define CACHE_DIR "/home/fenze/.cache/rose"

#define KEY(x) GDK_KEY_##x
#define ZOOM 1	    /* Starting zoom level */
#define ZOOM_VAL .1 /* Zooming value in zoomin/zoomout functions */
#define BG_COLOR "#1E1E2E"

typedef enum {
	goback,
	goforward,
	refresh,
	refresh_force,
	back_to_home,
	toggle_fullscreen,
	zoomin,
	zoomout,
	zoom_reset,
	next_tab,
	prev_tab,
	close_tab,
	show_searchbar,
	show_finder,
	finder_next,
	finder_prev
} func;

#define SFT  1 << 0
#define CTRL 1 << 2
#define ALT  1 << 3

static struct {
	unsigned mod;
	unsigned key;
	func id;
} keys[] = {
    { CTRL,	   KEY(h),     goback            },
    { CTRL,	   KEY(l),     goforward         },
    { CTRL,	   KEY(r),     refresh	         },
    { CTRL | SFT,  KEY(R),     refresh_force     },
    { CTRL | SFT,  KEY(H),     back_to_home      },
    { CTRL,	   KEY(equal), zoomin	         },
    { CTRL,	   KEY(minus), zoomout	         },
    { CTRL,	   KEY(0),     zoom_reset	 },
    { ALT,	   KEY(h),     prev_tab	         },
    { ALT,	   KEY(l),     next_tab	         },
    { CTRL,	   KEY(w),     close_tab	 },
    { 0x0,	   KEY(F11),   toggle_fullscreen },
    { CTRL,	   KEY(e),     show_searchbar	 },
    { CTRL,	   KEY(f),     show_finder       },
    { CTRL,	   KEY(n),     finder_next       },
    { CTRL | SFT,  KEY(N),     finder_prev	 }
};