summaryrefslogtreecommitdiff
path: root/src/xtoq/XtoqController.m
AgeCommit message (Collapse)AuthorFilesLines
2012-11-21Fix some typosJon TURNEY1-1/+1
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-11-21Fix parameter transposition in xcwm_window_configure()Jon TURNEY1-3/+3
xcwm_window_configure() has width and height parameters in the opposite order to the order used everywhere else. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-11-21Remove unused x,y parameters to xcwm_input_mouse_button_event()Jon TURNEY1-4/+0
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-11-21Remove unused button parameter to xcwm_input_mouse_motion()Jon TURNEY1-2/+1
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-29xtoq: Handlers for window miniaturization and de-miniaturization.Jess VanDerwalker1-0/+26
Handlers added for Xtoq window miniaturization (iconify) and de-miniaturization (de-iconify). Calls xcwm_window_iconify() and xcwm_window_deiconify() to update window state. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-08-29libxcwm, xtoq: Handlers for window name change event.Jess VanDerwalker1-6/+16
In libxcwm, WM_NAME atom retrieved and added to the xcwm_atoms_t structure for context. _xcwm_atoms_set_window_name() now checks _NET_WM_NAME first, before WM_NAME. XCWM_EVENT_WINDOW_NAME event added to enum. In event loop, event of type XCB_PROPERTY_NOTIFY is checked to see if atom matches _NET_WM_NAME or WM_NAME. If so, event sent to xtoq. Function to handle update to window name added to XtoqController.m and case for XCWM_EVENT_WINDOW_NAME added to eventHandler(). Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-26xtoq: NSFlagsChanged case added to XtoqApplication sendEvent()Jess VanDerwalker1-3/+0
Press and release of modifier keys are not passed by NSKeyUp or NSKeyDown events, but in NSFlagsChanged. Added an NSFlagsChanged case to the sendEvent switch. The modifier flags of the event are checked against the current set of modifier flags to determine if the modifier key, as specified in the event's keyCode, has been pressed or released. Keycode is then sent on to keyUp/DownInView handler. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-26xtoq: Properly setting offset of window by height of Mac window bar.Jess VanDerwalker1-1/+1
The position of the window on the X server was being set incorrectly, creating a difference in positions between OS X window position and X server position. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-07-25xtoq: Support for window sizing restrictions added.Jess VanDerwalker1-0/+15
On window creation, XtoQ gets the sizing data for the window and sets the resizing increments, max size, and min size of the window. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-25libxcwm: Replaced event type defines with enum.Jess VanDerwalker1-3/+3
Also removed xcwm_context_t from xcwm_event_t and accessor functions. Context available through window. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-25xtoq: Support for override-redirect windows added.Jess VanDerwalker1-5/+18
On window creation, XtoQ checks xcwm_window_is_override_redirect() and if it returns true, creates window with no decorations. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-25xtoq: Commented out code that kills X server.Jess VanDerwalker1-12/+13
Commented out the code that kills the X server, since it is using a sledgehammer approach that kills *every* running instance of Xorg. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-07-25xtoq: Error fixed in translation of X server to OS X coordinates.Jess VanDerwalker1-1/+1
Fixed error in translation of X server coordinates to OS X coordinates. Windows were being reported at incorect positions. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2012-05-30libxcwm, xtoq: Checks for valid window image added.Jess VanDerwalker1-1/+1
xcwm_image_copy_* return NULL if call to xcb_image_get fails to return a valid image. xcwm_image_copy_damaged returns NULL if damage area has no width or height. Checks for NULL image added to XtoqView draw. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-25Memory for window freed in _xcwm_window_release.Jess VanDerwalker1-28/+21
Memory for the window allocated by library is freed in _xcwm_window_release, which is called after the client has done any clean up it needs to do on its side. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-25Accessor functions for xcwm_context_t and xcwm_window_tJess VanDerwalker1-23/+31
Both xcwm_context_t and xcwm_window_t have accessor functions for fields that client may need access to. Changed xtoq code to refer to struct fields through the accessor functions. Added xcwm_rect_t struct to hold information for window and window damage areas. Created xcwm_rect_t to hold geometry information for windows and damage areas. This structure is not opaque. Asserts added were memory for window and window rects allocated. Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-23*.h and *.c files for input, window, context, and image.Jess VanDerwalker1-7/+6
Also prefixed public input.c, image.c and window.c functions with xcwm_input_*, xcwm_window_* and xcwm_image_*. Fixed some remaining issues with functions that were requiring both a context and window. Renamed data.h to context.h and xcwm.c to context.c - placed code in context, window, and image. Added image.c and context.c to Makefile.am. Removed data.h from project and references to it. The struct definitions previously in data.h have been moved into other files. Renamed xcwm_image_get_* to xcwm_image_copy_*. Changed calls in xtoq code to new function names. Definition of xcwm_window_t moved to window.h Signed-off-by: Jess VanDerwalker <washu@sonic.net> Reviewed by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-06xcwm_context_t added to xcwm_window_t struct.Jess VanDerwalker1-15/+8
The xcwm_window_t now holds the xcwm_context_t that its associated with. Changed functions that required a window and a context to only take a window. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Merge branch 'jess'Jeremy Huddleston1-139/+159
Conflicts: include/xcwm/xtoq.h src/libxcwm/context_list.c src/libxcwm/event_loop.c src/libxcwm/init.c src/libxcwm/input.c src/libxcwm/window.c src/libxcwm/xcwm.c src/libxcwm/xcwm_internal.h src/xtoq/XtoqApplication.h src/xtoq/XtoqApplication.m src/xtoq/XtoqController.h src/xtoq/XtoqController.m src/xtoq/XtoqImageRep.m src/xtoq/XtoqView.h src/xtoq/XtoqView.m src/xtoq/XtoqWindow.h src/xtoq/XtoqWindow.m Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-04-05Separate xcwm_context_t into two types, a context and a windowJess VanDerwalker1-44/+57
xcwm_context_t is now broken into xcwm_context_t which holds connection data, and xcwm_window_t which holds window specific data. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Key up and down events rolled into one handler.Jess VanDerwalker1-4/+6
xcwm_input_key_pressed and xcwm_input_key_released compressed into xcwm_input_key_event with state parameter to determine if key has been pressed or released. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Mouse button press and release rolled into one function.Jess VanDerwalker1-11/+12
xcwm_input_button_pressed and xcwm_input_button_released compressed into one function - xcwm_input_mouse_button_event that takes a state parameter to determine if mouse button has been pressed or released. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Namespaced input functions and removed window parameter.Jess VanDerwalker1-25/+20
Input functions are not prefixed with xcwm_input_*. Also removed the Mac window ID that was being passed into input functions for debugging purposes. Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Removal of dead code from XtoqController.*Jess VanDerwalker1-34/+11
Signed-off-by: Jess VanDerwalker <washu@sonic.net>
2012-04-05Hard coded path to executables - was not always able to find application. ↵Jess VanDerwalker1-7/+12
xcb connection was being made before server started.
2012-04-05Improved handling of window movement. Comments for *.h file. (from ↵Jess VanDerwalker1-42/+77
milestone4-sendEvent branch of old repository).
2012-03-26Formatting changes using uncrustifyJeremy Huddleston1-236/+276
indent butchers Objective C, so use this uncrustify config for consistent formatting: tok_split_gte=false utf8_byte=true utf8_force=true indent_cmt_with_tabs=false indent_align_string=false indent_braces=false indent_braces_no_func=false indent_braces_no_class=false indent_braces_no_struct=false indent_brace_parent=false indent_namespace=false indent_extern=false indent_class=false indent_class_colon=false indent_else_if=false indent_var_def_cont=false indent_func_call_param=false indent_func_def_param=false indent_func_proto_param=false indent_func_class_param=false indent_func_ctor_var_param=false indent_template_param=false indent_func_param_double=false indent_relative_single_line_comments=false indent_col1_comment=false indent_access_spec_body=false indent_paren_nl=false indent_comma_paren=false indent_bool_paren=false indent_first_bool_expr=false indent_square_nl=false indent_preserve_sql=false indent_align_assign=true sp_balance_nested_parens=false align_keep_tabs=false align_with_tabs=false align_on_tabstop=false align_number_left=false align_func_params=false align_same_func_call_params=false align_var_def_colon=true align_var_def_attribute=true align_var_def_inline=true align_right_cmt_mix=false align_on_operator=false align_mix_var_proto=false align_single_line_func=false align_single_line_brace=false align_nl_cont=false align_left_shift=true align_oc_decl_colon=true nl_collapse_empty_body=true nl_assign_leave_one_liners=true nl_class_leave_one_liners=true nl_enum_leave_one_liners=true nl_getset_leave_one_liners=true nl_func_leave_one_liners=true nl_if_leave_one_liners=true nl_multi_line_cond=false nl_multi_line_define=false nl_before_case=true nl_after_case=true nl_after_return=false nl_after_semicolon=true nl_after_brace_open=true nl_after_brace_open_cmt=false nl_after_vbrace_open=false nl_after_vbrace_open_empty=false nl_after_brace_close=false nl_after_vbrace_close=false nl_define_macro=false nl_squeeze_ifdef=false nl_ds_struct_enum_cmt=false nl_ds_struct_enum_close_brace=false nl_create_if_one_liner=false nl_create_for_one_liner=false nl_create_while_one_liner=false ls_for_split_full=false ls_func_split_full=false nl_after_multiline_comment=false eat_blanks_after_open_brace=false eat_blanks_before_close_brace=false mod_full_brace_if_chain=false mod_pawn_semicolon=false mod_full_paren_if_bool=false mod_remove_extra_semicolon=false mod_sort_import=false mod_sort_using=false mod_sort_include=false mod_move_case_break=false mod_remove_empty_return=false cmt_indent_multi=true cmt_c_group=false cmt_c_nl_start=false cmt_c_nl_end=false cmt_cpp_group=false cmt_cpp_nl_start=false cmt_cpp_nl_end=false cmt_cpp_to_c=false cmt_star_cont=false cmt_multi_check_last=true cmt_insert_before_preproc=false pp_indent_at_level=false pp_region_indent_code=false pp_if_indent_code=false pp_define_at_level=false indent_columns=4 indent_brace=0 indent_switch_case=0 align_struct_init_span=2 align_pp_define_gap=0 align_pp_define_span=2 align_oc_msg_colon_span=16 nl_end_of_file_min=1 nl_func_var_def_blk=0 code_width=78 nl_max=2 newlines=auto indent_with_tabs=0 sp_arith=force sp_assign=force sp_assign_default=force sp_before_assign=force sp_after_assign=force sp_enum_assign=force sp_enum_before_assign=force sp_enum_after_assign=force sp_pp_stringify=add sp_bool=force sp_compare=force sp_inside_paren=remove sp_paren_paren=remove sp_paren_brace=force sp_before_ptr_star=ignore sp_before_unnamed_ptr_star=force sp_before_byref=force sp_before_unnamed_byref=force sp_after_byref=remove sp_after_type=force sp_before_sparen=force sp_inside_sparen=remove sp_inside_sparen_close=remove sp_after_sparen=force sp_sparen_brace=force sp_special_semi=force sp_before_semi=remove sp_after_semi=force sp_after_semi_for=force sp_after_semi_for_empty=remove sp_before_square=remove sp_inside_square=remove sp_after_comma=force sp_before_comma=remove sp_paren_comma=force sp_before_ellipsis=force sp_after_class_colon=force sp_before_class_colon=force sp_before_case_colon=remove sp_after_cast=remove sp_inside_paren_cast=remove sp_sizeof_paren=remove sp_inside_braces_enum=force sp_inside_braces_struct=force sp_inside_braces=force sp_inside_braces_empty=remove sp_func_proto_paren=remove sp_func_def_paren=remove sp_inside_fparens=remove sp_inside_fparen=remove sp_square_fparen=remove sp_fparen_brace=force sp_func_call_paren=remove sp_func_call_paren_empty=remove sp_return_paren=force sp_attribute_paren=remove sp_defined_paren=remove sp_macro=force sp_macro_func=force sp_else_brace=force sp_brace_else=force sp_brace_typedef=force sp_not=remove sp_inv=remove nl_start_of_file=remove nl_end_of_file=force nl_assign_square=remove nl_after_square_assign=remove nl_fcall_brace=remove nl_enum_brace=remove nl_struct_brace=remove nl_union_brace=remove nl_if_brace=remove nl_brace_else=force nl_elseif_brace=remove nl_else_brace=remove nl_else_if=remove nl_for_brace=remove nl_do_brace=remove nl_brace_while=remove nl_switch_brace=remove nl_case_colon_brace=force nl_func_type_name=force nl_func_type_name_class=force nl_func_proto_type_name=force nl_func_paren=remove nl_func_def_paren=remove nl_func_decl_start=remove nl_func_def_start=remove nl_func_decl_args=remove nl_func_decl_end=remove nl_func_def_end=remove nl_func_decl_end_single=remove nl_func_def_end_single=remove nl_func_decl_empty=remove nl_func_def_empty=remove nl_fdef_brace=force nl_return_expr=remove nl_before_if=ignore nl_after_if=ignore nl_before_for=ignore nl_after_for=ignore nl_before_while=ignore nl_after_while=ignore nl_before_switch=ignore nl_after_switch=ignore nl_before_do=ignore nl_after_do=ignore pp_space=remove Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-23Add missing includes for config.hJeremy Huddleston1-1/+5
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-21API: Change namespace from xtoq_ to xcwm_Jeremy Huddleston1-41/+41
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-21API: Begin obfuscation of private typesJeremy Huddleston1-4/+4
xtoq no longer pulls in private headers xtoq_event_t is now obfuscated (the other types need to be similarly changed) Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2012-03-13More code cleanup.Jess VanDerwalker1-9/+0
2012-03-10Removing damage from context when area redrawn in window.Jess VanDerwalker1-1/+4
2012-03-10Beginning work on changing how XtoQ gets image for damaged area.Jess VanDerwalker1-7/+12
2012-03-10Merge with milestone4-input.Jess VanDerwalker1-57/+81
2012-03-10Merge remote-tracking branch 'origin/milestone3'Jess VanDerwalker1-6/+10
2012-03-10Fixed some compiler warnings.Jess VanDerwalker1-1/+1
2012-03-10Fix to merge conflict in event_loopJess VanDerwalker1-35/+38
2012-03-10Functions added to event_loop so that clients may request a lock.Jess VanDerwalker1-2/+1
2012-03-10removed dead code, added notifications from App to controller, catching ↵Braden Wooley1-35/+38
mouse movements
2012-03-09commented methods and image and input methods and functionsAaron Skomra1-8/+4
2012-03-09button press / release coordinates changed back to (0,0) after mergeAaron Skomra1-12/+11
2012-03-09Merge remote-tracking branch 'origin/milestone4-input' into milestone4-inputAaron Skomra1-0/+12
2012-03-09finished getting Branden's changes into mile4-input branch. Send (0,0) with ↵Aaron Skomra1-6/+5
mouse button events
2012-03-09changed mouse movement to be screen relative not window, fixed y conversion ↵Braden Wooley1-12/+25
functions
2012-03-08cut and paste rest of Braden's NSEvent changes. Sending 0,0 from mouse down ↵Aaron Skomra1-7/+7
and mouse release
2012-03-08cut and paste a couple of Braden's window adjustments from mile3 branch into ↵Aaron Skomra1-2/+3
mile4 XtoqController
2012-03-08changed mouse movement to be screen relative not windowBraden Wooley1-6/+10
2012-03-08Added doxygen style comments to XtoqApplication,h and also to functions I ↵bhuddle1-2/+0
made in XtoqController.h. Also noticed that one of the sender's was misspelled.
2012-03-08added key release in view, controller, and event_loop.cAaron Skomra1-0/+30
2012-03-07controller now sends xtoq_key_press and xtoq_key_release on receiving ↵Aaron Skomra1-8/+6
keyDown from view