dana/openbox.git
8 years agoButtons seem to work!
Dave Foster [Wed, 12 Dec 2007 23:02:38 +0000 (18:02 -0500)]
Buttons seem to work!

8 years ago(non-working) Getting theme started. Button textures read to the right place.
Dave Foster [Fri, 7 Dec 2007 21:43:12 +0000 (16:43 -0500)]
(non-working) Getting theme started.  Button textures read to the right place.

8 years agoButton structure.
Dave Foster [Fri, 7 Dec 2007 19:00:47 +0000 (14:00 -0500)]
Button structure.

8 years agoButton proper freeing/newing.
Dave Foster [Fri, 21 Sep 2007 02:36:52 +0000 (22:36 -0400)]
Button proper freeing/newing.

8 years agoAdding RrButton to libobrender, ref counted appearances.
Dave Foster [Thu, 20 Sep 2007 19:30:18 +0000 (15:30 -0400)]
Adding RrButton to libobrender, ref counted appearances.

8 years agoAnother way of getting at button-*.toggled.unpressed (no unpressed needed).
Dave Foster [Fri, 14 Sep 2007 03:13:56 +0000 (23:13 -0400)]
Another way of getting at button-*.toggled.unpressed (no unpressed needed).

8 years agoRearranged all button appearance reading for logical purposes, better defaults.
Dave Foster [Fri, 14 Sep 2007 02:25:24 +0000 (22:25 -0400)]
Rearranged all button appearance reading for logical purposes, better defaults.

8 years agoFound a bug in one of the specialized button textures.
Dave Foster [Thu, 13 Sep 2007 22:00:24 +0000 (18:00 -0400)]
Found a bug in one of the specialized button textures.

8 years agoNeed to allocate appearances!
Dave Foster [Thu, 13 Sep 2007 20:09:43 +0000 (16:09 -0400)]
Need to allocate appearances!

8 years agoMade specific buttons be button-<name> instead of button.<name>
Dave Foster [Thu, 13 Sep 2007 18:43:02 +0000 (14:43 -0400)]
Made specific buttons be button-<name> instead of button.<name>

8 years agoIndividual button appearances from the theme.
Dave Foster [Thu, 13 Sep 2007 17:03:25 +0000 (13:03 -0400)]
Individual button appearances from the theme.

8 years agoRead into _tmp RrAppearance, not theme->a_*_max
Dave Foster [Thu, 13 Sep 2007 14:24:12 +0000 (10:24 -0400)]
Read into _tmp RrAppearance, not theme->a_*_max

8 years agoTemporary storage locations for texture reads.
Dave Foster [Thu, 13 Sep 2007 13:47:20 +0000 (09:47 -0400)]
Temporary storage locations for texture reads.

8 years agoREAD_COLOR macros done, RrColorCopy added, indentation fixed.
Dave Foster [Fri, 31 Aug 2007 03:11:38 +0000 (23:11 -0400)]
READ_COLOR macros done, RrColorCopy added, indentation fixed.

8 years agodefault for menu overlap
Dave Foster [Wed, 13 Oct 2010 00:44:43 +0000 (20:44 -0400)]
default for menu overlap

8 years agoRemoved trailing spaces and fixed to 80 column width.
Dave Foster [Tue, 11 Sep 2007 17:53:27 +0000 (13:53 -0400)]
Removed trailing spaces and fixed to 80 column width.

8 years agoREAD_APPEARANCE* macros and code cleanups.
Dave Foster [Fri, 31 Aug 2007 15:52:55 +0000 (11:52 -0400)]
READ_APPEARANCE* macros and code cleanups.

8 years agoREAD_COLOR macros done, RrColorCopy added, indentation fixed.
Dave Foster [Fri, 31 Aug 2007 03:11:38 +0000 (23:11 -0400)]
READ_COLOR macros done, RrColorCopy added, indentation fixed.

8 years agoREAD_INT macro.
Dave Foster [Thu, 30 Aug 2007 19:46:53 +0000 (15:46 -0400)]
READ_INT macro.

8 years agofix make distcheck
Dana Jansens [Mon, 4 Oct 2010 21:30:22 +0000 (17:30 -0400)]
fix make distcheck

8 years agoglib can't handle -Wcast-qual
Dana Jansens [Thu, 16 Sep 2010 18:52:09 +0000 (14:52 -0400)]
glib can't handle -Wcast-qual

8 years agoadd wmhints test that toggles motif decor hints on a mapped window
Dana Jansens [Thu, 16 Sep 2010 17:50:11 +0000 (13:50 -0400)]
add wmhints test that toggles motif decor hints on a mapped window

8 years agoFix a double free when you have a mousebind without a button attribute
Mikael Magnusson [Mon, 16 Aug 2010 01:08:56 +0000 (03:08 +0200)]
Fix a double free when you have a mousebind without a button attribute

Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2

8 years agoFix a copypasto that broke interactive keybinds with meta and hyper keys
Mikael Magnusson [Tue, 10 Aug 2010 21:01:11 +0000 (23:01 +0200)]
Fix a copypasto that broke interactive keybinds with meta and hyper keys

8 years agoRevert "add XFlush to g_timeout callbacks"
Dana Jansens [Sat, 10 Jul 2010 03:58:21 +0000 (20:58 -0700)]
Revert "add XFlush to g_timeout callbacks"

This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99.

Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed

8 years agoFix 3.4 compatibility for SendToDesktop
Mikael Magnusson [Thu, 1 Jul 2010 13:17:02 +0000 (15:17 +0200)]
Fix 3.4 compatibility for SendToDesktop

8 years agoCorrect typo occured -> occurred in function name
Mikael Magnusson [Wed, 30 Jun 2010 10:47:16 +0000 (12:47 +0200)]
Correct typo occured -> occurred in function name

8 years agoAdd signal handling with the GMainLoop
Dana Jansens [Sun, 27 Jun 2010 16:02:44 +0000 (12:02 -0400)]
Add signal handling with the GMainLoop

Provided through a very simplistic interface in obt, found in the
 obt/signal.[ch] files

8 years agoadd stackabove test, that lets you move a client window just above a specified window...
Dana Jansens [Sun, 27 Jun 2010 13:38:50 +0000 (09:38 -0400)]
add stackabove test, that lets you move a client window just above a specified window in the stacking order

8 years ago80 cols
Dana Jansens [Sat, 26 Jun 2010 22:59:16 +0000 (00:59 +0200)]
80 cols

8 years agoContinue parsing contexts when an unsupported one is encountered
Mikael Magnusson [Sat, 26 Jun 2010 14:08:30 +0000 (16:08 +0200)]
Continue parsing contexts when an unsupported one is encountered

8 years agoMake the dock a context and add actions LowerDock and RaiseDock
Mikael Magnusson [Sat, 26 Jun 2010 13:55:40 +0000 (15:55 +0200)]
Make the dock a context and add actions LowerDock and RaiseDock

9 years agoMove usage of iconh into the branch that assigns it
Mikael Magnusson [Sat, 26 Jun 2010 11:55:39 +0000 (13:55 +0200)]
Move usage of iconh into the branch that assigns it

9 years agosettings can't be NULL here, or we'd have already crashed anyway
Mikael Magnusson [Sat, 26 Jun 2010 11:45:45 +0000 (13:45 +0200)]
settings can't be NULL here, or we'd have already crashed anyway

9 years agoUse a gsource instead of gio channels for watching x events
Mikael Magnusson [Fri, 25 Jun 2010 11:04:39 +0000 (13:04 +0200)]
Use a gsource instead of gio channels for watching x events

Fixes not getting some focusin events sometimes.

9 years agoobt returns libxml2 structures directly, so anyone linking against it better also...
Dana Jansens [Wed, 16 Jun 2010 17:25:39 +0000 (13:25 -0400)]
obt returns libxml2 structures directly, so anyone linking against it better also link to libxml2

9 years agoadd XFlush to g_timeout callbacks
Dana Jansens [Mon, 14 Jun 2010 17:52:21 +0000 (13:52 -0400)]
add XFlush to g_timeout callbacks

GMainLoop doesn't cause an flush to occur after handling a timeout.

9 years agoFix the EXTENTS reported on window frames.
Dana Jansens [Mon, 14 Jun 2010 16:15:02 +0000 (12:15 -0400)]
Fix the EXTENTS reported on window frames.

Change the order things are done on map, so we apply startup state without
  any states set first, thus getting all the functions possible for the window
  type etc.  then change the order states are applied, as some remove the
  ability to apply others (ie fullscreen comes last).
Add an oldsize to ObFrame that remembers the size of the frame last reported to
  the world through the EXTENTS property.  If you frame_adjust_area(FAKE) then
  frame_adjust_area(NONFAKE), the EXTENTS would not be updated since the
  oldsize wasn't remembered across fake updates.
Make the extentsrequest test ask about windows with states set also.

9 years agokeep stacking_list_tail a pointer to the tail of the stacking list
Dana Jansens [Wed, 9 Jun 2010 14:38:55 +0000 (10:38 -0400)]
keep stacking_list_tail a pointer to the tail of the stacking list

9 years agoallow a user to set "undecorated" on a window without decorations
Dana Jansens [Wed, 9 Jun 2010 13:31:06 +0000 (09:31 -0400)]
allow a user to set "undecorated" on a window without decorations

if not based on window type, the app may decide to have decorations again
sometime.  this was not always legal but chromium has made it so.

9 years agoadd an inotify watcher for directories (doesnt work without inotify yet)
Dana Jansens [Thu, 3 Jun 2010 20:08:18 +0000 (16:08 -0400)]
add an inotify watcher for directories (doesnt work without inotify yet)

9 years agoUse GMainLoop instead of ObtMainLoop
Dana Jansens [Tue, 8 Jun 2010 21:50:23 +0000 (17:50 -0400)]
Use GMainLoop instead of ObtMainLoop

9 years agosave the list of mime types listed as supported by an application
Dana Jansens [Thu, 3 Jun 2010 17:57:47 +0000 (13:57 -0400)]
save the list of mime types listed as supported by an application

9 years agoparse app Categories better. parse a list of strings into a gchar**
Dana Jansens [Thu, 3 Jun 2010 17:53:19 +0000 (13:53 -0400)]
parse app Categories better.  parse a list of strings into a gchar**

9 years agoparse Categories tag and save them as an array of GQuarks
Dana Jansens [Thu, 3 Jun 2010 17:09:38 +0000 (13:09 -0400)]
parse Categories tag and save them as an array of GQuarks

9 years agoimproved .desktop parsing.
Dana Jansens [Thu, 3 Jun 2010 16:10:54 +0000 (12:10 -0400)]
improved .desktop parsing.

properly (and quickly) check for existence of required keys
figure out what an app can open from its exec key
validate the %fields in an app's exec key

9 years agofree the user's group ids
Dana Jansens [Thu, 3 Jun 2010 15:58:13 +0000 (11:58 -0400)]
free the user's group ids

9 years agofree the path dirs
Dana Jansens [Thu, 3 Jun 2010 15:56:15 +0000 (11:56 -0400)]
free the path dirs

9 years agoparse Path, Terminal, and StartupNotify
Dana Jansens [Sat, 22 May 2010 00:10:34 +0000 (20:10 -0400)]
parse Path, Terminal, and StartupNotify

9 years agoparse OnlyShowIn/NotShowIn
Dana Jansens [Sat, 22 May 2010 00:03:21 +0000 (20:03 -0400)]
parse OnlyShowIn/NotShowIn

9 years agoallow new windows on other desktops to get focused if specified in a per-app rule
Dana Jansens [Fri, 21 May 2010 20:51:45 +0000 (16:51 -0400)]
allow new windows on other desktops to get focused if specified in a per-app rule

you can not client_active() with user=false and desktop=true and activate things on other desktops, by the general focus steal restrictions, if you wanted to do that sorta thing

9 years agoAllow sending windows on other desktops to the current desktop.
Mikael Magnusson [Thu, 6 Mar 2008 19:06:38 +0000 (20:06 +0100)]
Allow sending windows on other desktops to the current desktop.

9 years agoAdd some more conditions to the If action
Mikael Magnusson [Sat, 1 Mar 2008 15:42:06 +0000 (16:42 +0100)]
Add some more conditions to the If action

It can now match on window titles, virtual desktop (number, "current",
"other"),
demands_attention, and undecoratedness.

9 years agodon't need a force_reply when changing the decor for a window
Dana Jansens [Thu, 20 May 2010 01:27:40 +0000 (21:27 -0400)]
don't need a force_reply when changing the decor for a window

it will send a configurenotify if the client's rootwindow position changed

9 years agoclient_update_protocols() doesnt change anything that would affect a client's decor...
Dana Jansens [Thu, 20 May 2010 01:05:14 +0000 (21:05 -0400)]
client_update_protocols() doesnt change anything that would affect a client's decor or functions

9 years agoallows a window to unmax by resizing.
Dana Jansens [Tue, 18 May 2010 22:47:54 +0000 (18:47 -0400)]
allows a window to unmax by resizing.

makes "clever" use of the client's pre_max_area values to allow this to happen
without flashing, and preserving them in case the user cancels the resize
after it has become unmaximized.

9 years agoset the frame's initial size to something invalid so the extents hint will be
Dana Jansens [Wed, 19 May 2010 20:11:59 +0000 (16:11 -0400)]
set the frame's initial size to something invalid so the extents hint will be
set for sure the first time.

9 years agoset the interactive action to NULL before doing its cleanup phase
Dana Jansens [Tue, 18 May 2010 01:58:44 +0000 (21:58 -0400)]
set the interactive action to NULL before doing its cleanup phase

if the cleanup ends up cancelling the "current interactive action", it would
cause the end function to be called again, which sucks.  for instance if the
cleanup function uses the Focus action. this prevents the unwanted loop
into the interactive action cleanup.

9 years agofix focus when starting up, especially when replacing another instance of openbox
Dana Jansens [Tue, 18 May 2010 00:10:06 +0000 (20:10 -0400)]
fix focus when starting up, especially when replacing another instance of openbox

adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp

9 years agoremove a debug print in the keyboard obt stuff
Dana Jansens [Mon, 17 May 2010 23:34:41 +0000 (19:34 -0400)]
remove a debug print in the keyboard obt stuff

9 years agoavoid new gcc warning (casting ** to const** is not valid for good reason)
Dana Jansens [Mon, 17 May 2010 23:04:06 +0000 (19:04 -0400)]
avoid new gcc warning (casting ** to const** is not valid for good reason)

9 years agomerge some contexts together in the default rc.xml mouse bindings
Dana Jansens [Mon, 17 May 2010 23:28:27 +0000 (19:28 -0400)]
merge some contexts together in the default rc.xml mouse bindings

9 years agoallow multiple contexts separated by space in a mouse binding
Dana Jansens [Fri, 14 May 2010 02:16:44 +0000 (22:16 -0400)]
allow multiple contexts separated by space in a mouse binding

example: context="Top Left Right Bottom"

9 years agoturn off focuslast and on undermouse in mouse focus config example
Dana Jansens [Thu, 13 May 2010 22:10:30 +0000 (18:10 -0400)]
turn off focuslast and on undermouse in mouse focus config example

9 years agoRemove some unneeded stdlib.h includes
Mikael Magnusson [Fri, 16 Apr 2010 06:37:42 +0000 (08:37 +0200)]
Remove some unneeded stdlib.h includes

9 years agoAdd support for using relative expressions in move and resize actions
Mikael Magnusson [Fri, 16 Apr 2010 16:04:24 +0000 (18:04 +0200)]
Add support for using relative expressions in move and resize actions

Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally
Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size
Rename to config_parse_relative_number so it can be used for sizes too
Add relative numbers to width/height in MoveResizeTo
Add relative numbers to MoveRelative
Add relative numbers to ResizeRelative, these are for the client size, not screen size

9 years agonew enum values need to be handled in switches
Dana Jansens [Mon, 17 May 2010 22:39:55 +0000 (18:39 -0400)]
new enum values need to be handled in switches

(the new enum values were added to count the number of entries in the enums)

9 years agofix typo in enum
Dana Jansens [Mon, 17 May 2010 22:39:22 +0000 (18:39 -0400)]
fix typo in enum

9 years agoadd _NUM_TYPES to obrender enums, to allow enumeration of the enum values
Derek Foreman [Thu, 13 May 2010 19:10:02 +0000 (15:10 -0400)]
add _NUM_TYPES to obrender enums, to allow enumeration of the enum values

9 years agoshow empty properties in obxprop
Dana Jansens [Wed, 12 May 2010 03:43:29 +0000 (23:43 -0400)]
show empty properties in obxprop

9 years agoparse number values write in a hex string in obxprop
Dana Jansens [Wed, 12 May 2010 03:31:03 +0000 (23:31 -0400)]
parse number values write in a hex string in obxprop

9 years agoadvance while parsing a hex input in obxprop
Dana Jansens [Wed, 12 May 2010 03:29:18 +0000 (23:29 -0400)]
advance while parsing a hex input in obxprop

9 years agoadd cleanup functions to the client list menus that removes everything from them...
Dana Jansens [Tue, 11 May 2010 23:01:46 +0000 (19:01 -0400)]
add cleanup functions to the client list menus that removes everything from them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)

9 years agoadd cleanup function for menus that fires when the menu is no longer visible
Dana Jansens [Tue, 11 May 2010 23:01:33 +0000 (19:01 -0400)]
add cleanup function for menus that fires when the menu is no longer visible

9 years agodon't try go to selected submenu when there is nothing selected
Dana Jansens [Thu, 29 Apr 2010 20:11:17 +0000 (16:11 -0400)]
don't try go to selected submenu when there is nothing selected

9 years agouse clicks in prompts
Dana Jansens [Thu, 29 Apr 2010 02:05:06 +0000 (22:05 -0400)]
use clicks in prompts

9 years agoadd a test to set a mouse cursor on an InputOnly subwindow
Dana Jansens [Wed, 28 Apr 2010 18:47:13 +0000 (14:47 -0400)]
add a test to set a mouse cursor on an InputOnly subwindow

9 years agofix XSYNCronization of resizes (especially with two monitors).
Dana Jansens [Tue, 27 Apr 2010 22:45:22 +0000 (18:45 -0400)]
fix XSYNCronization of resizes (especially with two monitors).

1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window

9 years agomake sure clients stay on screen when the root window changes size, and maximized...
Dana Jansens [Tue, 27 Apr 2010 21:24:51 +0000 (17:24 -0400)]
make sure clients stay on screen when the root window changes size, and maximized/fullscreen windows must be on some monitor or it doesn't make much sense (and asserts)

9 years agoRemove two unused variables
Mikael Magnusson [Tue, 27 Apr 2010 14:41:06 +0000 (16:41 +0200)]
Remove two unused variables

Remains from 64adc0eeba598cb1469b2140777fba30e3053f0e

9 years agofound memory corruption in the obt xqueue and paths
Dana Jansens [Wed, 28 Apr 2010 14:59:42 +0000 (10:59 -0400)]
found memory corruption in the obt xqueue and paths

9 years agomake an event queue for X events. the queue's min size is 16 XEvents (~3k)
Dana Jansens [Wed, 28 Apr 2010 16:57:51 +0000 (12:57 -0400)]
make an event queue for X events.  the queue's min size is 16 XEvents (~3k)

9 years agodon't put reparent events back on the stack. the window is no longer being managed...
Dana Jansens [Fri, 23 Apr 2010 15:57:26 +0000 (11:57 -0400)]
don't put reparent events back on the stack.  the window is no longer being managed anyways.  and it messes up the order of events in the queue

9 years agoputting events on the event queue does not send them back to the server. it was...
Dana Jansens [Fri, 23 Apr 2010 15:54:09 +0000 (11:54 -0400)]
putting events on the event queue does not send them back to the server.  it was just going to get ignored the next time around cuz the window wouldnt be in our list of clients

9 years agodon't use XPutBackEvent and mess up timestamp order in the event queue
Dana Jansens [Fri, 23 Apr 2010 15:50:24 +0000 (11:50 -0400)]
don't use XPutBackEvent and mess up timestamp order in the event queue

9 years agoadd asserts to make sure we don't add things to stacking list that are not managed
Dana Jansens [Tue, 20 Apr 2010 19:22:58 +0000 (15:22 -0400)]
add asserts to make sure we don't add things to stacking list that are not managed

9 years agodon't change stacking stuff on windows when moving them during the unmanage phase.
Dana Jansens [Tue, 20 Apr 2010 19:20:46 +0000 (15:20 -0400)]
don't change stacking stuff on windows when moving them during the unmanage phase.

9 years agoevent_curtime is replaced (publicly) by event_time()
Dana Jansens [Sat, 17 Apr 2010 02:23:37 +0000 (22:23 -0400)]
event_curtime is replaced (publicly) by event_time()

This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.

If the current XEvent did not have a timestamp, then event_time() will find one.  It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.

This change seems to work well, as it appears to fix bug #3648.

9 years agoWhen determining the current timestamp, try get something a lil more accurate
Dana Jansens [Sat, 17 Apr 2010 01:19:50 +0000 (21:19 -0400)]
When determining the current timestamp, try get something a lil more accurate

Get the first timestamp from the event queue, rather than (potentially) the
  last.
also treat it as the actual event_curtime, meaning it is used when focusing a
  newly mapped window etc.

9 years agowhen client removes its transient_for hint, don't keep the window as transient for...
Dana Jansens [Sat, 17 Apr 2010 00:35:04 +0000 (20:35 -0400)]
when client removes its transient_for hint, don't keep the window as transient for the group when it shouldn't be (fixes bug #4586)

9 years agoallow warping the mouse pointer when switching desktops by bumping into the edge...
Dana Jansens [Fri, 16 Apr 2010 22:55:33 +0000 (18:55 -0400)]
allow warping the mouse pointer when switching desktops by bumping into the edge of the monitor with a window

based on a patch by Nathaniel Gephart <computinchuck@gmail.com>

9 years agoshow the focus cycle popup's icons in linear order when cycling in linear order ...
Dana Jansens [Fri, 16 Apr 2010 22:41:08 +0000 (18:41 -0400)]
show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319)

9 years agoadd an option to next/previous window to only include hilited/flashing/urgent windows...
Dana Jansens [Fri, 16 Apr 2010 22:17:05 +0000 (18:17 -0400)]
add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341)

9 years agoLink libobrender, not openbox, to imlib2
Mikael Magnusson [Sun, 14 Mar 2010 14:28:27 +0000 (15:28 +0100)]
Link libobrender, not openbox, to imlib2

9 years agoadd some comments for binary search
Dana Jansens [Fri, 16 Apr 2010 15:46:52 +0000 (11:46 -0400)]
add some comments for binary search

9 years agostat() can give an error, handle that
Dana Jansens [Fri, 16 Apr 2010 15:41:13 +0000 (11:41 -0400)]
stat() can give an error, handle that

9 years agouse const Rect* not Rect const*
Dana Jansens [Fri, 16 Apr 2010 15:31:22 +0000 (11:31 -0400)]
use const Rect* not Rect const*

9 years agoadd BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it...
Dana Jansens [Tue, 30 Mar 2010 03:21:22 +0000 (23:21 -0400)]
add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it when searching for a group in obt_paths_try_exec()

9 years agoparse some of the .desktop stuff into an ObtLink structure
Dana Jansens [Tue, 30 Mar 2010 02:38:05 +0000 (22:38 -0400)]
parse some of the .desktop stuff into an ObtLink structure

localized names still don't work.
most of the app-specific stuff isn't done yet.
categories aren't handled yet (to only show in/not show in some category)

9 years agoadd obt_paths_try_exec() that will see if an executable exists
Dana Jansens [Tue, 30 Mar 2010 02:32:07 +0000 (22:32 -0400)]
add obt_paths_try_exec() that will see if an executable exists