Commit Graph

50 Commits

Author SHA1 Message Date
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
phillbush
d8a7caf2e3 improved algorithm for mapping/unmapping
In previous versions, all the previous current visible menus are
unmapped and the new currently visible menus are mapped when the
current visible menu changed. Now, using an algorithm that finds
the lowest common ancestor between current and current_new menus,
only the necessary menus are remapped on the display.
2020-05-16 14:43:07 -03:00
phillbush
d888f2cae4 improved algorithm that draw menus 2020-05-16 02:14:29 -03:00
phillbush
f158328539 width is now calculated from the font 2020-05-16 01:24:43 -03:00
phillbush
2b6968f911 A better triangle
Now the triangle indicating submenus is smaller and better looking.
2020-05-16 00:58:32 -03:00
phillbush
f15fc33987 using pixmaps
Using pixmaps rather than drawing directly on windows.
2020-05-16 00:43:59 -03:00
phillbush
09c13122cc Test 2020-05-15 23:08:05 -03:00
phillbush
7fbd1c5ed0 Added separators
Now lines without labels in the input generate a menu separator.
2020-05-15 22:51:26 -03:00
phillbush
a80fee227a item->y is now relative to menu, not to root 2020-05-15 22:25:05 -03:00
phillbush
a77326901f Initial commit 2020-05-15 19:02:23 -03:00