Commit Graph

59 Commits

Author SHA1 Message Date
phillbush
f8d55995df Adding routine getfontucode() 2020-07-31 19:50:50 -03:00
phillbush
644a15bb2d Adding the -f option 2020-07-31 11:01:53 -03:00
phillbush
7539247be3 Freeing fonts 2020-07-31 10:09:26 -03:00
phillbush
d2304ecf93 using BETWEEN macro, and fixing fallback position 2020-07-31 09:22:13 -03:00
phillbush
8e799bb47d Fixing y position of child menus. 2020-07-30 17:24:58 -03:00
phillbush
a2ff706d6f No more needed to use -i to disable icon padding
Now xmenu detects if a menu has an icon, and if it doesn't have, the
menu will not have the gaps fgor icons, making the -i flag unecessary
to disable the padding.   The -i option is still necessary, however,
to speed up xmenu loading, since it disables imlib2 initialization
routines.
2020-07-30 17:04:04 -03:00
phillbush
c15958bd96 Fixing position in some wms when using -w 2020-07-30 16:51:29 -03:00
phillbush
b6cf4847ce removing variables config.screen* 2020-07-30 00:25:55 -03:00
phillbush
64240f40ee changing the computation of the text y position 2020-07-29 22:59:25 -03:00
phillbush
237da9824c Adding Xinerama support 2020-07-29 17:55:20 -03:00
phillbush
3d8536642e Drawing menus on demand, reordering functions 2020-07-29 11:37:38 -03:00
phillbush
15362de42b computing textwidth with the function drawtext 2020-07-29 01:19:45 -03:00
phillbush
cdeaefaaa2 Added support for fallback fonts.
Also changed license.
2020-07-29 00:51:08 -03:00
phillbush
675a2008a6 Fixing #7
Redrawing an icon every time the cursor moves between items costs a lot
of time.  So now each icon is drawn once, and s copied when needed.
2020-07-28 14:51:12 -03:00
phillbush
ced6b0f73e Removing debug printf 2020-07-23 17:39:33 -03:00
phillbush
05cfe1a0da Adding the -p option.
Changing config.cursx and config.cursy to config.posx and config.posy.
Adding the parseposition() function.
2020-07-23 17:37:28 -03:00
phillbush
71b4db9241 added the -i option
Widths and x positions no more depend on item->h.
2020-07-15 22:57:59 -03:00
phillbush
eecf9b25ff Adding X resource for gaps 2020-06-29 12:32:02 -03:00
phillbush
a3a7383740 Moving XSetWMProtocols to setupmenu() 2020-06-29 12:25:59 -03:00
phillbush
8902c43b92 Adding gaps support and more.
• Adding support for gaps (#3)
• Adding more comments and categorizing function declarations.
• Adding support for EWMH properties (xmenu look is now consistent
  in some window compositors).
• Changing how configuration is done (now all configuration belongs
  to the config structure).
2020-06-29 12:20:37 -03:00
phillbush
585e3de1a3 Squashed commit of the following:
commit b0f37c9fdb2deb09fa7af59067d57420bfaa87ea
Author: phillbush <phillbush@cock.li>
Date:   Mon Jun 29 09:58:36 2020 -0300

    Compile time error fixes

commit e6bf27768ff2ceeafb4713e90df6a35fa2294d1b
Author: Karl Martin <karlmartin895@gmail.com>
Date:   Sun Jun 28 23:08:02 2020 -0400

    v1.01

    add: user can set gap width prefs

commit 0cca2163092b9aed2823ca65b02959440ef24f41
Author: Karl Martin <karlmartin895@gmail.com>
Date:   Sun Jun 28 23:04:10 2020 -0400

    INIT: func addition + error fix

    hack + prefs: extra x,y padding for initial menu
    add: x padding for child menus
    fix: 2x compile time errors
2020-06-29 10:01:54 -03:00
phillbush
685ca30d8d Configuring height directly by setting the height.
Rather than setting the padding.
2020-06-12 11:37:13 -03:00
phillbush
3bec05ea77 Readding the -w option 2020-05-31 22:26:33 -03:00
phillbush
33376f5420 Merging icons branch on master branch.
And adjusting the geometry of items.
2020-05-31 20:29:46 -03:00
phillbush
f8ffe0b2e4 Renaming routine and spliting it into subroutines
Renaming calcmenu() to setupmenu() and shrinking it by calling two
new functions: setupmenusize() and setupmenupos().
2020-05-30 18:56:59 -03:00
phillbush
207c3312d5 typo 2020-05-30 09:45:11 -03:00
phillbush
738ed9d5f5 comment 2020-05-30 07:31:46 -03:00
phillbush
beae67a6a7 Making geom local to main().
I moved all the geometry related code to calcmenu().

The pro is that geom is now a local variable rather than global;
and that all geometry-related code is now in one place.

The con is that it weakens performance a little bit since some
variables, such as the border, have to be reset after the window
creation.
2020-05-30 05:45:28 -03:00
phillbush
ddb15acfde Fixing segfault in case of empty input 2020-05-29 23:55:37 -03:00
phillbush
a5ddd2cd22 Simplifying parsing and data structure building
• Parsing of stdin was simplified by using conventional stdlib functions
  rather than parsing the stdin byte-by-byte.
• Splited parsing of textual input and building of internal data
  structures into two different functions.
2020-05-29 23:48:49 -03:00
phillbush
15dfafdfb1 Saving users memory.
When the item->label and item->output are the same, XMenu now only
strdup() the item->label and make item->output equal to item->label.
This saves memory when the user do not write a output specification
in the input.
2020-05-29 22:52:55 -03:00
phillbush
6b5123e793 Updated manpage, removed unused variables, etc.
• Updated manual page (removing mention to the removed -w option).
• Removed unused variables (dc.d).
• Freeing item's label and output.
2020-05-29 22:37:55 -03:00
phillbush
ec4ed1ac1e Fixing calculation of menu position.
The position didn't take into account the menu borders.
Also, freeing allocated menus and items.
2020-05-27 21:43:10 -03:00
phillbush
cdc4d51fee removed a goto 2020-05-27 15:10:53 -03:00
phillbush
c6d9174ec2 Reordering stuff, removing unused variables 2020-05-27 14:34:55 -03:00
phillbush
257e42cc23 Getting rid of some global variables
They are local now.
2020-05-27 13:40:11 -03:00
phillbush
0c1a78642c Separated getmenuitem into two functions 2020-05-27 00:15:10 -03:00
phillbush
fd530f3f68 Refactored code, changed resources and config.h 2020-05-26 18:43:45 -03:00
phillbush
2744390027 Removed the -w option (it was too buggy) 2020-05-23 22:06:21 -03:00
phillbush
21a9aaecb1 Creating windowed branch for -w
I will remove the -w (windowed) option from the master branch, for it
raises more problems than solutions, I will maintain it in the windowed
branch.
2020-05-23 20:41:09 -03:00
phillbush
8455c36913 Menu windows are recalculated with -w
Every time a window is opened, its position is recalculated with
recalcmenu().
2020-05-19 13:41:11 -03:00
phillbush
85003546a2 Make xmenu wait for another process to ungrab
Xmenu didn't wait for another process to ungrab the poiter or keyboard,
ending up in erroneous behavior.  Now it waits.
2020-05-19 09:17:06 -03:00
phillbush
c0cff00dc8 Referring to the new changes in the manpage. 2020-05-19 05:56:06 -03:00
phillbush
d2435fcd5f Correctly setting WM_CLASS. 2020-05-19 05:51:21 -03:00
phillbush
465d07dbe9 Fixed order of function calls
You must grab the keyboard after reading the input.
2020-05-18 23:05:14 -03:00
phillbush
dbeb994054 Added xft support (smooth fonts) 2020-05-18 22:27:56 -03:00
phillbush
858338d978 xmenu now can be operated by keyboard 2020-05-17 17:01:46 -03:00
phillbush
f644b8bc22 xmenu now supports x resources 2020-05-17 01:22:21 -03:00
phillbush
08f165897c Xmenu now has a man page. 2020-05-17 00:08:23 -03:00
phillbush
873c080ceb The README file referred to dwm 2020-05-16 18:01:14 -03:00