Aldo Cortesi
205f2c55ca
Make "Statusbar statusbar" the in VirtScreen "Statusbar *statusbar". This is
...
more consistent with the rest of the interface, and will make our life easier
when we have mulitiple statusbars per screen.
2007-12-18 11:26:18 +01:00
Aldo Cortesi
4723ab3627
This patch is a first draft of independently targetable textboxes, and a
...
protocol to speak to them. Given a textbox widget definition like this:
textbox mail {
default = 0
}
textbox time {}
We can update the boxes individually by going:
echo 0 tell_widget mail 10
echo 0 tell_widget time 12:01
Text boxes will dynamically resize to fit their contents. A textbox can be
cleared by going:
echo 0 tell_widget name
A text-box containing no text will take up 0 space in the bar, i.e. it will not
be visible at all
Textboxes now supersede statusbar_set_text, so this call has been removed.
2007-12-17 18:22:05 +01:00
Aldo Cortesi
ff84907b38
Use WidgetList for lookups, rather than recreating the data.
2007-12-17 18:21:59 +01:00
Julien Danjou
f0f522bd47
move things around
...
- rename parse_config to config_parse
- move KeyModList and ButtonList in their own functions
- move LayoutsList in layout.c
- move static fcts around in config.c
2007-12-16 13:24:12 +01:00
Aldo Cortesi
5923c90aaa
Solidify widgets.
...
Factor out common initialisation into a common_new function. Copy the section
title into the Widget title attribute.
2007-12-16 12:57:47 +01:00
Aldo Cortesi
65fd8d48f0
The beginnings of a more flexible widget configuration.
...
The problem is as follows. In the end, different types of widget are going to
have distinct configurable options. This means that we need to have a
different section type for every widget type, if we are ever to make the
configuration nice. In fact, a configuration syntax like this would suit us
very well:
textbox name {
foo = bar
}
focuslist name2 {
bar = voing
}
This is all very well, but libconfuse has a limitation - there is no "nice"
way to retrieve the order of disparate sections (i.e. sections of different
types), and order is important to us. This patch goes to some effort to
retrieve the section order by extracting an array of widgets, and sorting them
based on line number.
2007-12-16 12:57:03 +01:00
Aldo Cortesi
6e8b1383fe
Various doc comment fixes.
2007-12-16 12:13:07 +01:00
Aldo Cortesi
2f74c079aa
Massive, massive interface refactoring.
...
The big change here is that we now keep our configuration structure in a global
variable called globalconf. This radically simplifies many interfaces, since
passing awesomeconf everywhere is no longer necessary. There are also more
subtle interface effects - now we can reliably identify a screen from just a
screen ID, rather than an awesomeconf, screenid tuple.
Overall, this patch makes most of the interfaces in awesome much nicer to use -
enjoy!
Yes, this is a huge patch, but since a lot of the refactoring was done
systematically using vim macros, splitting this up would have been very hard.
2007-12-16 12:12:48 +01:00
Aldo Cortesi
ec80635cbc
Fix compilation warning related to parsing of statusbar widgets config.
...
Also make the code surrounding this problem more legible, and remove
Widget_ptr, which just confuses the issue.
2007-12-16 12:00:00 +01:00
Julien Danjou
602f921559
first try to get widget configurable
2007-12-15 18:21:02 +01:00
Julien Danjou
aacb020564
rename statusbar functions
2007-12-14 20:10:52 +01:00
Julien Danjou
bb1381abc2
make tags a linked list instead of array
2007-12-14 19:05:30 +01:00
Julien Danjou
b03cdbd877
remove nlayouts
2007-12-14 17:57:05 +01:00
Julien Danjou
b9320be372
add spiral and dwindle layouts (fibonacci)
2007-12-14 17:05:29 +01:00
Julien Danjou
84bb954004
rename statusbar uicb and add uicb_statusbar_set_position
2007-12-14 15:52:52 +01:00
Julien Danjou
6241354fec
prefix eprint() with awesome:
2007-12-13 15:20:42 +01:00
Julien Danjou
11effcd7af
remove awesome: for warn() calls
2007-12-13 14:03:55 +01:00
Julien Danjou
b313f266c8
cosmetic
2007-12-13 12:15:42 +01:00
Aldo Cortesi
c9dc57c756
Add a way to define key bindings in bulk, like this:
...
keylist
{
modkey = {"Mod4"}
command = "client_tag"
keylist = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
arglist = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
}
This patch also modifies the example awesomerc to use the new syntax. Should
be fully backwards compatible.
2007-12-13 11:50:21 +01:00
Julien Danjou
425f89bada
remove dual-config: awesomerc is now preprocessed and compiled in awesome
2007-12-13 11:16:43 +01:00
Julien Danjou
ecf6f6ebbb
save default configuration file on first run without conf file
2007-12-13 11:04:48 +01:00
Julien Danjou
6e01126101
honor aspect ratio by default
2007-12-13 10:16:41 +01:00
Aldo Cortesi
c7a4a54b47
Use warn function throughout project.
2007-12-13 09:59:46 +01:00
Julien Danjou
5fa67c23df
split awesomeconf and screen config
...
a.k.a the big post-2.0 blind commit
2007-12-11 20:56:51 +01:00
Julien Danjou
e70dad3f02
add a default configuration when running awesome without configuration file
2007-12-10 11:54:00 +01:00
Nathan Hüsken
9524f15478
Adding padding
2007-11-28 11:00:48 +01:00
Julien Danjou
db22906ba0
add CFG_END for mouse bindings where missing in config parser
...
Thanks rcs.
2007-11-22 10:48:09 +01:00
Julien Danjou
0fa1b4c822
move UicbList in uicb.c
2007-11-15 14:41:03 +01:00
Julien Danjou
dae3bcd2c7
remove _ on view_prev and view_next to be homogeneous
2007-11-14 21:38:25 +01:00
Julien Danjou
e43df90214
remove mouse modkey
2007-11-14 19:50:30 +01:00
Julien Danjou
d9e5346048
print unknown command in config files on stderr
2007-11-14 18:28:28 +01:00
Julien Danjou
938850a487
rename setlayout to tag_setlayout
2007-11-14 18:19:00 +01:00
Julien Danjou
7c533b8b40
rename screen uicb correctly
2007-11-14 18:16:43 +01:00
Julien Danjou
895c3848eb
rename uicb_*mouse to uicb_client_*mouse
2007-11-14 18:14:23 +01:00
Julien Danjou
85adc07d19
rename uicb_set* to uicb_tag_set* since they apply on tags
2007-11-14 18:12:33 +01:00
Julien Danjou
aee9cdf8cb
prefix a bunch of uicb with client_
2007-11-14 18:10:51 +01:00
Julien Danjou
6c0608660d
rename view_tag* names to tag_view*
2007-11-14 18:07:38 +01:00
Julien Danjou
4ca7059efc
rename uicb_view to uicb_tag_view
2007-11-14 18:07:38 +01:00
Julien Danjou
bfde2f3211
rename uicb_toggletag to uicb_client_toggletag
2007-11-14 18:07:38 +01:00
Julien Danjou
10391f3190
rename uicb_toggleview to uicb_tag_toggleview
2007-11-14 18:07:38 +01:00
Julien Danjou
f4390bfc3e
rename uicb_togglefloating to uicb_client_togglefloating
2007-11-14 18:07:38 +01:00
Julien Danjou
5b0987bb28
rename uicb_tag to uicb_client_tag
2007-11-14 18:07:38 +01:00
Julien Danjou
455ef2e1d7
rename uicb_swap{prev,next} to uicb_client_swap{prev,next}
2007-11-14 18:07:35 +01:00
Julien Danjou
8b933e196b
rename uicb_settrans to uicb_client_settrans
2007-11-14 17:52:49 +01:00
Julien Danjou
b594731fc2
rename uicb_moveresize to uicb_client_moveresize
2007-11-14 17:51:22 +01:00
Julien Danjou
c5ee95992c
rename uicb_killclient to uicb_client_kill
2007-11-14 17:50:16 +01:00
Julien Danjou
7a919a76fb
mouse button clicks on windows are now configurable
2007-11-14 17:18:16 +01:00
Julien Danjou
cfa31c399d
introduce mouse.[ch] files and move uicb_mouse*() to them
2007-11-13 22:57:57 +01:00
Julien Danjou
2fb7b4d69a
fix Rule linked list handling in config
...
it seems that I was interrupted when I was coding new Rule handling in linked list
2007-11-13 22:29:33 +01:00
Julien Danjou
06dc3ba221
add new rules.c file with new functions for using Rule-s struct
2007-11-13 21:41:57 +01:00
Julien Danjou
adcadddc46
define RULE_NOSCREEN -1
2007-11-12 19:35:31 +01:00
Julien Danjou
9f21fb3c9e
rules are now stored in a linked list
2007-11-12 19:25:10 +01:00
Julien Danjou
4d3468d3a2
check that screen number in rules is not >= screen count
2007-11-12 19:09:05 +01:00
Julien Danjou
f70424487e
screen can now be specified in rules
2007-11-12 18:21:03 +01:00
Julien Danjou
0c5c5ce426
remove nkeys: keys is now a linked list
2007-11-12 17:22:40 +01:00
Julien Danjou
69c235280d
resizemouse() is now an uicb function
2007-11-12 14:06:59 +01:00
Julien Danjou
f72c1bb54c
movemouse() is now an uicb function
2007-11-12 14:02:52 +01:00
Julien Danjou
ef7034b0b8
use linked list instead of tabs for mouse bindings
2007-11-12 13:21:28 +01:00
Julien Danjou
ab1b1ed46e
make parse_mouse_bindings() handle the tag case
2007-11-12 12:07:18 +01:00
Julien Danjou
54f0c86934
factorize mouse bindings parsing code
2007-11-12 11:59:57 +01:00
Julien Danjou
05e102a49a
mouse clicks on root window are now configurable
2007-11-12 10:55:21 +01:00
Julien Danjou
05dad60786
experimental support for status bar to be on right or left
2007-11-11 18:59:11 +01:00
Julien Danjou
4e14888e73
use a more generic mouse_opt
2007-11-11 16:48:19 +01:00
Julien Danjou
0bee56e27d
mouse buttons are now configurable for click on layout symbols
2007-11-11 16:01:49 +01:00
Julien Danjou
99370f0ccd
mouse buttons are now configurable for click on title bar
2007-11-11 15:55:13 +01:00
Julien Danjou
a75c7f694a
mouse buttons are now configurable for click on tag names
2007-11-11 15:40:01 +01:00
Julien Danjou
7604fa70b5
introduce mouse section in config file
2007-11-11 13:17:23 +01:00
Julien Danjou
799da178b0
layouts are now configurable per screen
2007-11-11 12:05:04 +01:00
Julien Danjou
1c9c2b9309
general options are now configurable per screen
2007-11-11 12:02:16 +01:00
Julien Danjou
9d6a985a02
colors are now configurable per screen
2007-11-11 11:58:58 +01:00
Julien Danjou
ceb6cc797a
ncol is now configurable per tag
2007-11-11 11:55:20 +01:00
Julien Danjou
59f377526f
nmaster is now configurable per tag
2007-11-11 11:53:10 +01:00
Julien Danjou
32b098796e
mwfact is now configurable per tag
2007-11-11 11:48:26 +01:00
Julien Danjou
a30227e27b
tags are now per screen configurable
2007-11-11 11:36:30 +01:00
Julien Danjou
1004cefa2f
Remove current tab support
...
We will add a real new one later.
2007-11-10 10:45:32 +01:00
Julien Danjou
602d92d8b2
move statusbar_default_position in Statusbar struct
2007-11-10 10:17:54 +01:00
Julien Danjou
6fae35349a
Implement per screen configuration for statusbar.
...
Others will come later.
2007-11-09 14:45:43 +01:00
Nikos Ntarmos
89e16fad93
reset correctly active tag on reload
2007-11-08 11:23:04 +01:00
Nikos Ntarmos
be61dcdddf
store configpath in awesomeconf
2007-11-08 11:22:25 +01:00
Julien Danjou
d9b49f546e
config: print useful error messages on parsing error or config file error
2007-10-31 15:11:39 +01:00
Julien Danjou
93310f673d
uicb_reloadconfig: delete savetagclientsel
2007-10-31 11:49:51 +01:00
Julien Danjou
3328104ccd
use a_str* functions instead of str*
2007-10-31 11:47:22 +01:00
Julien Danjou
04255a9251
simplify savetagclientsel
2007-10-31 11:43:17 +01:00
Julien Danjou
582c81a3d0
uicb_reloadconfig: cosmetic and simplify clients pointer
2007-10-31 11:41:50 +01:00
Nikos Ntarmos
983d2d72a6
implement uicb_reloadconfig
2007-10-31 11:37:38 +01:00
Nikos Ntarmos
bf90028edb
modify parse_config() to not take display and screen as arg
2007-10-30 14:57:00 +01:00
Julien Danjou
0c826b8ab3
add RELEASE in config.mk
2007-10-29 17:16:33 +01:00
Florian Forster
ba80b49fd4
config.c: Fix a segfault when an invalid `ModKey' is specified.
...
Signed-off-by: Florian Forster <octo@verplant.org>
2007-10-27 18:09:07 +02:00
Florian Forster
71e6e4db65
config.c: Print an appropriate error message when reading the configuration fails.
...
Signed-off-by: Florian Forster <octo@verplant.org>
2007-10-27 18:09:07 +02:00
Julien Danjou
9d507dc50c
rewrite get_current_tag_number() in get_current_tag()
2007-10-26 22:15:26 +02:00
Nikos Ntarmos
4db1146f6c
Remember the focused window on tag changes
...
a. Adds a get_current_tag_number function to allow for above updates
and teaches get_current_layout(...) and arrange(...) to use it.
b. Adds an extra client_sel entry in struct Tag, updated on
focus(...), manage(...), and unmanage(...), and used in arrange(...).
2007-10-25 20:20:13 +02:00
Julien Danjou
842eed01c0
remove current_layout, insert get_current_layout() to get it dynamicly
2007-10-16 22:33:15 +02:00
Julien Danjou
b1e22e1d8b
cosmetic
2007-10-15 17:33:28 +02:00
Julien Danjou
14ea2dc0ae
minimal tab support
2007-10-15 16:28:36 +02:00
Julien Danjou
a74ca1d1de
tabswidth is 4 not 6
2007-10-15 13:56:24 +02:00
Julien Danjou
4e0acfa99a
add coding style stuff
2007-10-15 13:40:52 +02:00
Julien Danjou
4a7acf821e
remove Regs struct, use Rules
2007-10-15 12:40:45 +02:00
Julien Danjou
77609263dc
move txtlenwidth initlization in initstatusbar()
2007-10-15 12:06:43 +02:00
Julien Danjou
d75a512f5d
fix headers inclusion
2007-10-15 11:53:10 +02:00
Nikos Ntarmos
23bbe21428
float lowering
2007-10-12 17:15:08 +02:00
Julien Danjou
a6781157b6
allow to execute uicb function via awesome control fifo
2007-10-12 17:10:36 +02:00
Julien Danjou
daee37199b
move #define of config file name in config.c
2007-10-12 13:09:59 +02:00
Julien Danjou
445479cf8b
use Cairo for rendering square instead of Xlib
2007-10-10 19:59:14 +02:00
Julien Danjou
503e2050c5
bugfix: don't check for current_layout a this moment
...
fix regression introduced by myself with latest patch from daniel
2007-10-10 19:03:23 +02:00
daniel@brinkers.de
9d95d4691c
tags default layout
...
this patch should consider the tags default layout, given in the config
file. It also set the layout to default, when awesome is restarted.
2007-10-10 18:57:26 +02:00
Julien Danjou
e733af41ec
remove drawcontext everywhere
2007-10-10 14:09:36 +02:00
Julien Danjou
f57d275df1
move font to awesomeconf
2007-10-10 13:34:25 +02:00
Julien Danjou
1a755ff245
simplify color handling
2007-10-10 13:07:12 +02:00
Julien Danjou
08033b1643
bugfix: print layout symbol in status bar
...
Thanks to Daniel Brinkers
2007-10-09 17:31:44 +02:00
Julien Danjou
de45017b5d
switch to libconfuse instead of libconfig
2007-10-08 18:45:05 +02:00
Julien Danjou
3046af6f54
new feature: add option to center pointer on focused client
2007-10-08 14:26:43 +02:00
Julien Danjou
46cde2d95c
bugfix: resize_hint is a bool, not a float
2007-10-08 10:26:47 +02:00
Julien Danjou
96e80f1e83
bugfix: die nicely if no default layout
2007-10-05 09:37:40 +02:00
Julien Danjou
97a2085705
cosmetic: remove lines with empty spaces at end
2007-10-03 17:26:14 +02:00
Julien Danjou
272f4b1c2a
Xft support
2007-10-01 19:22:57 +02:00
Julien Danjou
9c747d1986
store display in awesomeconf
2007-10-01 15:31:43 +02:00
Julien Danjou
8c531e2a81
store phys_screen
2007-10-01 15:23:05 +02:00
Julien Danjou
a6943aa3f3
add uicb_exec
2007-09-28 13:39:46 +02:00
Julien Danjou
6efc6de67e
use get_real_screen() in initcolor()
2007-09-28 11:37:36 +02:00
Julien Danjou
ca363aa248
add uicb_movetoscreen()
2007-09-27 22:29:09 +02:00
Julien Danjou
ecf79693a2
use real_screen for X functions, not logical screen
2007-09-27 17:13:31 +02:00
Julien Danjou
9dad2fd85c
add -c option to specify configuration file
2007-09-26 21:22:30 +02:00
Julien Danjou
c81d40f15e
change initcolor() proto
2007-09-26 20:21:09 +02:00
Julien Danjou
6f3e0a3a2d
change initfont proto
2007-09-26 20:18:49 +02:00
Julien Danjou
bf0ddca247
remove set_default_configuration()
2007-09-26 20:16:04 +02:00
Julien Danjou
a22b4c1008
new feature: add swap{next,prev} for reordering visible windows
2007-09-25 12:41:36 +02:00
Julien Danjou
256717c792
add a_strncmp() to util.h and use a_str*() functions everywhere
2007-09-24 17:58:50 +02:00
Julien Danjou
595eba78d7
create a Tag struct type and use it
2007-09-24 15:37:52 +02:00
Julien Danjou
32654ce496
new feature: add focus{next,prev}screen ui_callback functions
...
this allows to switch focused screen in multi-head (zaphod) mode
2007-09-24 14:21:49 +02:00
Julien Danjou
40384806fd
use a_strcmp() instead of strcmp()
2007-09-21 17:32:00 +02:00
Julien Danjou
c80855836a
new feature: add max layout
2007-09-21 00:30:32 +02:00
Julien Danjou
03ee9ce9d1
rename some tag_view UI callback functions and add uicb_tag_viewprev uicb_tag_viewnext as bindable
2007-09-20 22:24:52 +02:00
Julien Danjou
2f43209c34
fix toggle floating with Button2 in tileleft layout, and prefix layout functions with layouts_
2007-09-20 22:07:59 +02:00
Julien Danjou
8965fd87d2
fix font loading on failure
2007-09-19 18:00:21 +02:00
Julien Danjou
9919ba2d4b
add uicb_setborder to change conf borderpx while running
2007-09-18 23:36:52 +02:00
Julien Danjou
57bb886dae
remove spiral from layouts
2007-09-18 22:59:16 +02:00
Julien Danjou
62a43c0f8c
allow awesome to be run without configuration file
2007-09-18 22:49:46 +02:00
Julien Danjou
c3bb58f47a
stop making awesomelibconf global and store screen number in awesome_configs
...
we strdup elems and p_delete them in cleanup
2007-09-16 23:13:34 +02:00
Julien Danjou
6e7eb17404
try to load fixed font if other fails
2007-09-15 21:40:57 +02:00
Julien Danjou
3e3f213b72
move uicb_togglebar to statusbar.c
2007-09-15 15:34:28 +02:00
Julien Danjou
56a387ec5c
move updatebarpos to statusbar.c
2007-09-15 15:26:51 +02:00
Julien Danjou
fe89aa31b0
create statusbar.c and move things from draw.c
2007-09-15 15:16:53 +02:00
Julien Danjou
c5211cc8d1
change key for statusbar position config
2007-09-15 15:00:42 +02:00
Julien Danjou
bc3f70e0fa
add uicb_setncols(), clean config, really use config in tile.c
2007-09-15 13:04:36 +02:00
Julien Danjou
9a1201c7a5
remove grid layout
2007-09-15 12:39:33 +02:00
Julien Danjou
ceb7e60ee0
remove bstack layout
2007-09-15 12:37:34 +02:00
Julien Danjou
2535e92ff6
fix bug with parsing barpos
2007-09-13 23:17:50 +02:00
Julien Danjou
4925ff0c7a
rename spawn to uicb_spawn and fix buggy proto
2007-09-12 18:19:28 +02:00
Julien Danjou
8fb0e0e73e
remove uicb_reload functions, cannot work for now
2007-09-12 17:25:51 +02:00
Julien Danjou
9897e5a839
remove DC from global in draw.c
2007-09-12 16:55:47 +02:00